> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neoagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ConnectWise CPQ API

> Draft and update ConnectWise CPQ quotes from an agent: copy a template, link a PSA opportunity, change an expiry date and ask for approval

ConnectWise CPQ was called ConnectWise Sell, and its API still uses that name. The tool reaches quotes with their lines, tabs, customers and payment terms, and the approval decisions on them. An agent never sees a quote's Order Porter passcode: Neo removes it from every answer.

<Info>
  Automatically enabled when you configure ConnectWise CPQ permissions in your agent workflow.
</Info>

## What It Does

* Find quotes by customer, number, status or opportunity, and read their lines, totals, expiry date and approval state
* Draft a quote: copy a template, set its name, opportunity and expiry date, fill the customer record, and add one line per product named in the request or in the opportunity's Notes field
* Change a quote: its expiry date, a line's quantity or price, its payment terms, or archive it
* Ask for approval: write the reason on the quote, find the rep's approver among your CPQ users and message them through the agent's email or chat tools
* Read your templates, tax codes and recurring billing periods

CPQ computes every total, tax and margin. The agent takes part numbers and prices from the request or the opportunity and never invents them.

A quote's Order Porter passcode opens that quote on your customer's acceptance page, so Neo removes it from every response before the agent or a sandbox script reads it, and refuses any request that filters on it or writes it. The agent cannot read, search on or change the passcode; send the quote to the customer from CPQ.

## Permission Groups

| Group | Access levels | Covers |
| - | - | - |
| Quotes | Disabled, Read Only, Read/Write | Quotes with their versions, tabs, line items, payment terms and the customer records on each quote. Quotes carry your cost, margin and internal notes |
| Quote Approval Decisions | Disabled, Read/Write | Setting a quote's approval status, approver, approval date or manager approval: the fields that record an approver's decision |
| Users | Disabled, Read Only, Read/Write | Your CPQ users with their email address, manager and approver, and the user settings CPQ uses on quote email |
| Templates and Lookups | Disabled, Read Only | Quote templates, tax codes and recurring revenue periods |

Leave **Quote Approval Decisions** off on an agent that drafts quotes, so it cannot approve its own. The agent can still ask for approval: writing the reason on the quote is part of **Quotes**. Recording a decision also needs **Quotes** at Read Only or above, because CPQ answers with the whole quote.

| Profile | Quotes | Quote Approval Decisions | Users | Templates and Lookups |
| - | - | - | - | - |
| Read Only | Read Only | Disabled | Read Only | Read Only |
| Helpdesk | Read/Write, with approval | Disabled | Read Only | Read Only |
| IT Admin | Read/Write | Read/Write, with approval | Read/Write, with approval | Read Only |
| Full Automation | Read/Write | Read/Write | Read/Write | Read Only |

## Drafting from a PSA opportunity

To read the opportunity, the agent also needs your PSA's opportunity access. On ConnectWise PSA, set the agent's **Opportunities** group to Read Only, and **Documents** to Read Only if the opportunity's files hold the bill of materials.

## Setup

See [Connecting ConnectWise CPQ to Neo](/integrations/connectwise-cpq/connecting-to-neo).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.