Workflows
Composite tool types that chain several QuickBooks operations behind one call: create-and-send, get-or-create, search helpers, payment-status checks, financial summaries, and PDF/attachment flows.
Every type on this page requires a QuickBooks connector; connectorId is the ID of that connector. Each composite exists so an agent doesn't have to plan a multi-step sequence itself — prefer these when one matches the task, and fall back to the granular types on the Sales & AR and Purchasing & AP pages when the agent needs control between steps.
Create and send invoice TOOLQUICKBOOKS_CREATE_AND_SEND_INVOICE
Creates an invoice and emails it through QuickBooks in one call — the single most common billing flow. lineItems uses the same sales-line shape as QUICKBOOKS_CREATE_INVOICE, and sendToEmail overrides the recipient (the customer's email on file is used when omitted).
Example
{
"toolType": "QUICKBOOKS_CREATE_AND_SEND_INVOICE",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"lineItems": [
{
"DetailType": "SalesItemLineDetail",
"Amount": 450.00,
"Description": "@@{lineDescription}",
"SalesItemLineDetail": {
"ItemRef": { "value": "12" },
"Qty": 3,
"UnitPrice": 150.00
}
}
],
"dueDate": "@@{dueDate}",
"customerMemo": "Thank you for your business."
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- QuickBooks customer ID
- Name
lineItems- Type
- array<object>
- Description
- Invoice line items
- Name
dueDate- Type
- string
- Description
- Invoice due date (YYYY-MM-DD)
- Name
customerMemo- Type
- string
- Description
- Memo visible to customer
- Name
privateNote- Type
- string
- Description
- Internal note
- Name
sendToEmail- Type
- string
- Description
- Email to send invoice to (uses customer email if not provided)
Record payment for invoice TOOLQUICKBOOKS_RECORD_PAYMENT_FOR_INVOICE
Records a ledger payment against a specific invoice without the agent having to look up the customer or balance first — the tool fetches the invoice, resolves its customer, and defaults amount to the open balance when omitted. Moves no money; it's the composite version of QUICKBOOKS_CREATE_PAYMENT.
Example
{
"toolType": "QUICKBOOKS_RECORD_PAYMENT_FOR_INVOICE",
"connectorId": "V1StGXR8Z5",
"invoiceId": "@@{invoiceId}",
"depositToAccountId": "35",
"paymentRefNum": "@@{referenceNumber}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
invoiceId- Type
- string
- Description
- Invoice to apply payment to
- Name
amount- Type
- number · optional
- Description
- Payment amount (optional - uses invoice balance if not provided)
- Name
paymentMethodId- Type
- string
- Description
- Payment method reference
- Name
depositToAccountId- Type
- string
- Description
- Account to deposit to
- Name
paymentRefNum- Type
- string
- Description
- Reference number
- Name
privateNote- Type
- string
- Description
- Internal note
Charge and record payment TOOLQUICKBOOKS_CHARGE_AND_RECORD_PAYMENT
Charges a card through the Payments API and books the matching payment record — optionally applied to an invoice via invoiceId — in one call. Pass either a one-time cardToken or a stored cardId; this is the bridge between the Payments family and the ledger.
Example
{
"toolType": "QUICKBOOKS_CHARGE_AND_RECORD_PAYMENT",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"invoiceId": "@@{invoiceId}",
"amount": 450.00,
"cardId": "@@{cardId}",
"depositToAccountId": "35",
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- QuickBooks customer ID
- Name
invoiceId- Type
- string · optional
- Description
- Invoice to apply payment to (optional)
- Name
amount- Type
- number
- Description
- Charge amount
- Name
cardToken- Type
- string
- Description
- Card token for one-time payment
- Name
cardId- Type
- string
- Description
- Stored card ID (alternative to cardToken)
- Name
depositToAccountId- Type
- string
- Description
- Account to deposit to
- Name
description- Type
- string
- Description
- Payment description
Process eCheck and record payment TOOLQUICKBOOKS_PROCESS_ECHECK_AND_RECORD_PAYMENT
The ACH counterpart of charge-and-record: initiates an eCheck debit (one-time bankAccountToken or stored bankAccountId) and books the payment record, optionally against an invoice. Remember ACH settles over days — the ledger entry is written when the debit is accepted, not when it clears.
Example
{
"toolType": "QUICKBOOKS_PROCESS_ECHECK_AND_RECORD_PAYMENT",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"invoiceId": "@@{invoiceId}",
"amount": 450.00,
"bankAccountId": "@@{bankAccountId}",
"depositToAccountId": "35",
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- QuickBooks customer ID
- Name
invoiceId- Type
- string · optional
- Description
- Invoice to apply payment to (optional)
- Name
amount- Type
- number
- Description
- Payment amount
- Name
bankAccountToken- Type
- string
- Description
- Bank account token for one-time payment
- Name
bankAccountId- Type
- string
- Description
- Stored bank account ID (alternative to token)
- Name
depositToAccountId- Type
- string
- Description
- Account to deposit to
- Name
description- Type
- string
- Description
- Payment description
Check invoice payment status TOOLQUICKBOOKS_CHECK_INVOICE_PAYMENT_STATUS
Answers "has this invoice been paid?" in one call: returns a status of PAID, PARTIALLY_PAID, or UNPAID, plus the open balance and the linked payment transactions. The natural polling tool for collections and follow-up agents.
Example
{
"toolType": "QUICKBOOKS_CHECK_INVOICE_PAYMENT_STATUS",
"connectorId": "V1StGXR8Z5",
"invoiceId": "@@{invoiceId}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
invoiceId- Type
- string
- Description
- Required string value.
Convert estimate to invoice TOOLQUICKBOOKS_CONVERT_ESTIMATE_TO_INVOICE
Fetches an accepted estimate, creates an invoice from its customer and line items, and — when sendToCustomer is true — emails it, all in one call. sendToEmail overrides the recipient; the original estimate is left in place.
Example
{
"toolType": "QUICKBOOKS_CONVERT_ESTIMATE_TO_INVOICE",
"connectorId": "V1StGXR8Z5",
"estimateId": "@@{estimateId}",
"dueDate": "@@{dueDate}",
"sendToCustomer": true
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
estimateId- Type
- string
- Description
- Estimate ID to convert
- Name
dueDate- Type
- string
- Description
- Invoice due date (YYYY-MM-DD)
- Name
sendToCustomer- Type
- boolean
- Description
- Whether to email the invoice
- Name
sendToEmail- Type
- string
- Description
- Email to send to (uses customer email if not provided)
Get invoice with customer TOOLQUICKBOOKS_GET_INVOICE_WITH_CUSTOMER
Fetches an invoice and its customer's full record in one call — the join an agent otherwise needs two lookups for. Useful when drafting a payment reminder that needs both the balance and the contact details.
Example
{
"toolType": "QUICKBOOKS_GET_INVOICE_WITH_CUSTOMER",
"connectorId": "V1StGXR8Z5",
"invoiceId": "@@{invoiceId}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
invoiceId- Type
- string
- Description
- QuickBooks invoice ID
Get or create customer TOOLQUICKBOOKS_GET_OR_CREATE_CUSTOMER
Idempotent customer resolution: searches by exact email first, falls back to exact displayName, and only creates a new customer on a miss (displayName is required for the create). The response's wasCreated flag says which path ran — this is the safe default for agents ingesting orders or signups.
Example
{
"toolType": "QUICKBOOKS_GET_OR_CREATE_CUSTOMER",
"connectorId": "V1StGXR8Z5",
"email": "@@{customerEmail}",
"displayName": "@@{customerName}",
"phone": "@@{customerPhone}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
email- Type
- string
- Description
- Primary search key - customer email
- Name
displayName- Type
- string
- Description
- Display name (required for create, used as fallback search)
- Name
givenName- Type
- string
- Description
- First name
- Name
familyName- Type
- string
- Description
- Last name
- Name
companyName- Type
- string
- Description
- Company name
- Name
phone- Type
- string
- Description
- Phone number
- Name
addressLine1- Type
- string
- Description
- Billing address line 1
- Name
addressCity- Type
- string
- Description
- Billing address city
- Name
addressState- Type
- string
- Description
- Billing address state
- Name
addressPostalCode- Type
- string
- Description
- Billing address postal code
- Name
addressCountry- Type
- string
- Description
- Billing address country
Search customer by email TOOLQUICKBOOKS_SEARCH_CUSTOMER_BY_EMAIL
Looks up customers by exact primary email address — the most reliable way to resolve an inbound email sender to a customerId without paging through QUICKBOOKS_GET_CUSTOMERS.
Example
{
"toolType": "QUICKBOOKS_SEARCH_CUSTOMER_BY_EMAIL",
"connectorId": "V1StGXR8Z5",
"email": "@@{customerEmail}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
email- Type
- string
- Description
- Email address to search for
Search customer by name TOOLQUICKBOOKS_SEARCH_CUSTOMER_BY_NAME
Searches customers by display name with partial (contains) matching, returning up to 25 candidates. Use it when the agent only has a rough name; expect multiple hits and disambiguate before writing transactions.
Example
{
"toolType": "QUICKBOOKS_SEARCH_CUSTOMER_BY_NAME",
"connectorId": "V1StGXR8Z5",
"displayName": "@@{customerName}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
displayName- Type
- string
- Description
- Display name to search for (supports partial match)
Get or create vendor TOOLQUICKBOOKS_GET_OR_CREATE_VENDOR
Idempotent vendor resolution keyed on displayName: finds an existing vendor by name or creates one with the supplied contact and address details. The go-to for AP agents ingesting bills from vendors that may or may not be on file yet.
Example
{
"toolType": "QUICKBOOKS_GET_OR_CREATE_VENDOR",
"connectorId": "V1StGXR8Z5",
"displayName": "@@{vendorName}",
"email": "@@{vendorEmail}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
displayName- Type
- string
- Description
- Primary search key - vendor display name (required)
- Name
email- Type
- string
- Description
- Vendor email
- Name
companyName- Type
- string
- Description
- Company name
- Name
phone- Type
- string
- Description
- Phone number
- Name
addressLine1- Type
- string
- Description
- Billing address line 1
- Name
addressCity- Type
- string
- Description
- Billing address city
- Name
addressState- Type
- string
- Description
- Billing address state
- Name
addressPostalCode- Type
- string
- Description
- Billing address postal code
- Name
addressCountry- Type
- string
- Description
- Billing address country
Search vendor by name TOOLQUICKBOOKS_SEARCH_VENDOR_BY_NAME
Searches vendors by display name with partial (contains) matching, returning up to 25 candidates. The vendor mirror of the customer name search — use it to resolve a bill's sender to a vendorId.
Example
{
"toolType": "QUICKBOOKS_SEARCH_VENDOR_BY_NAME",
"connectorId": "V1StGXR8Z5",
"displayName": "@@{vendorName}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
displayName- Type
- string
- Description
- Display name to search for (supports partial match)
Create and pay bill TOOLQUICKBOOKS_CREATE_AND_PAY_BILL
Enters a bill and immediately records its payment in one call — lineItems uses the bill expense-line shape, paymentType is Check or CreditCard, and the payment is linked back to the created bill automatically. Both steps are ledger records; no funds move.
Example
{
"toolType": "QUICKBOOKS_CREATE_AND_PAY_BILL",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"lineItems": [
{
"DetailType": "AccountBasedExpenseLineDetail",
"Amount": 1200.00,
"Description": "@@{expenseDescription}",
"AccountBasedExpenseLineDetail": {
"AccountRef": { "value": "7" }
}
}
],
"paymentType": "Check",
"bankAccountId": "35"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
vendorId- Type
- string
- Description
- QuickBooks vendor ID
- Name
lineItems- Type
- array<object>
- Description
- Bill line items
- Name
dueDate- Type
- string
- Description
- Bill due date (YYYY-MM-DD)
- Name
paymentType- Type
- string
- Description
- Check or CreditCard
- Name
bankAccountId- Type
- string
- Description
- Bank account for payment
- Name
checkNumber- Type
- string
- Description
- Check number (if paying by check)
- Name
privateNote- Type
- string
- Description
- Internal note
Schedule bill payment TOOLQUICKBOOKS_SCHEDULE_BILL_PAYMENT
Creates a bill payment dated in the future — txnDate must be a future date or the call is rejected. The payment record is written into QuickBooks immediately with the future transaction date; it is not held back and released later, so treat it as pre-booking a planned payment run.
Example
{
"toolType": "QUICKBOOKS_SCHEDULE_BILL_PAYMENT",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"totalAmt": 1200.00,
"payType": "Check",
"bankAccountId": "35",
"txnDate": "@@{scheduledDate}",
"linkedBills": [
{ "TxnId": "@@{billId}", "Amount": 1200.00 }
]
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
vendorId- Type
- string
- Description
- Required - VendorRef
- Name
totalAmt- Type
- number
- Description
- Required - Total amount
- Name
payType- Type
- string
- Description
- Required - "Check" or "CreditCard"
- Name
bankAccountId- Type
- string
- Description
- Required for Check payments
- Name
checkNum- Type
- string · optional
- Description
- Check number (optional)
- Name
creditCardAccountId- Type
- string
- Description
- Required for CreditCard payments
- Name
txnDate- Type
- string
- Description
- Required - Future date for scheduling (YYYY-MM-DD)
- Name
privateNote- Type
- string
- Description
- Internal memo
- Name
linkedBills- Type
- array<object>
- Description
- Bills to pay with amounts
Check bill payment status TOOLQUICKBOOKS_CHECK_BILL_PAYMENT_STATUS
The AP mirror of the invoice status check: returns whether a bill is PAID, PARTIALLY_PAID, or UNPAID, plus its open balance and linked payment transactions.
Example
{
"toolType": "QUICKBOOKS_CHECK_BILL_PAYMENT_STATUS",
"connectorId": "V1StGXR8Z5",
"billId": "@@{billId}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
billId- Type
- string
- Description
- Required string value.
Get bill with vendor TOOLQUICKBOOKS_GET_BILL_WITH_VENDOR
Fetches a bill and its vendor's full record in one call, saving the second lookup when an agent needs both the amount owed and the vendor's contact details.
Example
{
"toolType": "QUICKBOOKS_GET_BILL_WITH_VENDOR",
"connectorId": "V1StGXR8Z5",
"billId": "@@{billId}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
billId- Type
- string
- Description
- QuickBooks bill ID
Get items for invoice TOOLQUICKBOOKS_GET_ITEMS_FOR_INVOICE
Searches active items by partial name match and returns them pre-formatted for building invoice lines (ID, name, price), alongside the raw records. Give it to invoicing agents so "add a line for consulting" resolves to the right ItemRef without a full catalog dump.
Example
{
"toolType": "QUICKBOOKS_GET_ITEMS_FOR_INVOICE",
"connectorId": "V1StGXR8Z5",
"searchTerm": "@@{itemSearch}",
"maxResults": 25
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
searchTerm- Type
- string
- Description
- Search term for item name
- Name
itemType- Type
- string
- Description
- Filter by item type (Service, Inventory, NonInventory)
- Name
maxResults- Type
- integer
- Description
- Maximum results (default 50)
Get accounts for expense TOOLQUICKBOOKS_GET_ACCOUNTS_FOR_EXPENSE
Searches expense accounts by partial name match, returning candidates formatted for building bill lines. The account-side companion to the item search — use it to resolve "book this under advertising" to the right AccountRef.
Example
{
"toolType": "QUICKBOOKS_GET_ACCOUNTS_FOR_EXPENSE",
"connectorId": "V1StGXR8Z5",
"searchTerm": "@@{accountSearch}",
"maxResults": 25
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
searchTerm- Type
- string
- Description
- Search term for account name
- Name
maxResults- Type
- integer
- Description
- Maximum results (default 50)
Get AR summary TOOLQUICKBOOKS_GET_AR_SUMMARY
Runs the aged-receivables and customer-balance reports together and returns both as one accounts-receivable summary as of reportDate (defaults to today). One call for "what are we owed and how overdue is it?"
Example
{
"toolType": "QUICKBOOKS_GET_AR_SUMMARY",
"connectorId": "V1StGXR8Z5",
"reportDate": "@@{asOfDate}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
reportDate- Type
- string
- Description
- As of date (YYYY-MM-DD), defaults to today
Get AP summary TOOLQUICKBOOKS_GET_AP_SUMMARY
The payables mirror: runs aged payables and vendor balances together for one accounts-payable summary as of reportDate. The starting point for a payment-run planning agent.
Example
{
"toolType": "QUICKBOOKS_GET_AP_SUMMARY",
"connectorId": "V1StGXR8Z5",
"reportDate": "@@{asOfDate}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
reportDate- Type
- string
- Description
- As of date (YYYY-MM-DD), defaults to today
Get account balance overview TOOLQUICKBOOKS_GET_ACCOUNT_BALANCE_OVERVIEW
A cash-position snapshot in one call: active bank accounts with balances, open invoices (largest first) as accounts receivable, and open bills as accounts payable. Ideal for a daily "how are we doing?" briefing without running formal reports.
Example
{
"toolType": "QUICKBOOKS_GET_ACCOUNT_BALANCE_OVERVIEW",
"connectorId": "V1StGXR8Z5"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
reportDate- Type
- string · optional
- Description
- Optional, defaults to today (YYYY-MM-DD)
Get financial snapshot TOOLQUICKBOOKS_GET_FINANCIAL_SNAPSHOT
Runs the three core statements — profit and loss over the date range, balance sheet as of endDate, and cash flow — and returns them together. The one-call input for an agent writing a monthly financial summary.
Example
{
"toolType": "QUICKBOOKS_GET_FINANCIAL_SNAPSHOT",
"connectorId": "V1StGXR8Z5",
"startDate": "@@{startDate}",
"endDate": "@@{endDate}",
"accountingMethod": "Accrual"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
startDate- Type
- string
- Description
- Start date for P&L (YYYY-MM-DD)
- Name
endDate- Type
- string
- Description
- End date for reports (YYYY-MM-DD)
- Name
accountingMethod- Type
- string
- Description
- Cash or Accrual
Get recent activity TOOLQUICKBOOKS_GET_RECENT_ACTIVITY
Returns all transactions from the last days days (default 7) via the transaction-list report, optionally limited to comma-separated transactionTypes. The easy feed for "what happened in the books this week?" digests.
Example
{
"toolType": "QUICKBOOKS_GET_RECENT_ACTIVITY",
"connectorId": "V1StGXR8Z5",
"days": 7,
"transactionTypes": "Invoice,Payment,Bill"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
days- Type
- integer
- Description
- Number of days to look back (default 7)
- Name
transactionTypes- Type
- string
- Description
- Comma-separated transaction types to include
Query multiple entities TOOLQUICKBOOKS_QUERY_MULTIPLE_ENTITIES
Runs the same SQL-like whereClause across several entity types (e.g. Customer,Invoice,Payment) in one call, returning results grouped per type with maxResultsPerEntity each. A power tool for cross-entity questions like "everything touching this date range" — each type must actually support the fields in the clause.
Example
{
"toolType": "QUICKBOOKS_QUERY_MULTIPLE_ENTITIES",
"connectorId": "V1StGXR8Z5",
"entityTypes": "Invoice,Payment",
"whereClause": "TxnDate >= '@@{startDate}'",
"maxResultsPerEntity": 100
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
entityTypes- Type
- string
- Description
- Comma-separated entity types (Customer,Invoice,Payment)
- Name
whereClause- Type
- string
- Description
- Common where clause to apply
- Name
maxResultsPerEntity- Type
- integer
- Description
- Max results per entity type (default 100)
Get entity PDF TOOLQUICKBOOKS_GET_ENTITY_PDF
Downloads QuickBooks' rendered PDF for an entity (Invoice, Estimate, and other printable types), stores it, and returns a short-lived download URL — valid for about 10 minutes, so pass it along promptly. This is how an agent gets a customer-ready document out of QuickBooks.
Example
{
"toolType": "QUICKBOOKS_GET_ENTITY_PDF",
"connectorId": "V1StGXR8Z5",
"entityType": "Invoice",
"entityId": "@@{invoiceId}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
entityType- Type
- string
- Description
- "Invoice", "Bill", "PurchaseOrder", "Estimate", etc.
- Name
entityId- Type
- string
- Description
- Required string value.
Upload attachment TOOLQUICKBOOKS_UPLOAD_ATTACHMENT
Downloads a file from fileUrl (a public or presigned URL) and attaches it to a QuickBooks entity — receipts on bills, signed POs on invoices, and so on. contentType must match the file, e.g. application/pdf.
Example
{
"toolType": "QUICKBOOKS_UPLOAD_ATTACHMENT",
"connectorId": "V1StGXR8Z5",
"entityType": "Bill",
"entityId": "@@{billId}",
"fileUrl": "@@{receiptUrl}",
"fileName": "receipt.pdf",
"contentType": "application/pdf"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
entityType- Type
- string
- Description
- "Invoice", "Bill", "PurchaseOrder", etc.
- Name
entityId- Type
- string
- Description
- Required string value.
- Name
fileUrl- Type
- string
- Description
- URL to download the file from (S3 presigned, public URL, etc.)
- Name
fileName- Type
- string
- Description
- e.g., "purchase-order-123.pdf"
- Name
contentType- Type
- string
- Description
- e.g., "application/pdf"
Create invoice and attach PDF TOOLQUICKBOOKS_CREATE_INVOICE_AND_ATTACH_PDF
Creates an invoice (same fields as QUICKBOOKS_CREATE_INVOICE) and attaches a PDF fetched from pdfUrl — for example the purchase order that triggered the invoice. If the PDF download fails, the invoice is still created and the response says the attachment step failed.
Example
{
"toolType": "QUICKBOOKS_CREATE_INVOICE_AND_ATTACH_PDF",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"lines": [
{
"DetailType": "SalesItemLineDetail",
"Amount": 450.00,
"SalesItemLineDetail": {
"ItemRef": { "value": "12" }
}
}
],
"pdfUrl": "@@{sourcePdfUrl}",
"pdfFileName": "PO-1234.pdf"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- Required - Customer reference
- Name
lines- Type
- array<object>
- Description
- Required - Line items array
- Name
txnDate- Type
- string
- Description
- Transaction date (YYYY-MM-DD)
- Name
dueDate- Type
- string
- Description
- Due date (YYYY-MM-DD)
- Name
docNumber- Type
- string
- Description
- Invoice number
- Name
customerMemo- Type
- string
- Description
- Memo visible to customer
- Name
privateNote- Type
- string
- Description
- Internal note
- Name
billingEmail- Type
- string
- Description
- Email for billing
- Name
billingAddress- Type
- object
- Description
- Required object value.
- Name
shippingAddress- Type
- object
- Description
- Required object value.
- Name
applyTaxAfterDiscount- Type
- boolean
- Description
- Required boolean value.
- Name
salesTermId- Type
- string
- Description
- Payment terms reference
- Name
pdfUrl- Type
- string
- Description
- Required - URL of the PDF to attach (e.g., PO PDF URL)
- Name
pdfFileName- Type
- string
- Description
- Required - Filename for the attachment (e.g., "PO-1234.pdf")
Create bill and get PDF TOOLQUICKBOOKS_CREATE_BILL_AND_GET_PDF
Creates a bill (same fields as QUICKBOOKS_CREATE_BILL) and immediately returns a short-lived download URL for its rendered PDF. Useful when the entered bill needs to go straight into an approval email or archive.
Example
{
"toolType": "QUICKBOOKS_CREATE_BILL_AND_GET_PDF",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"lines": [
{
"DetailType": "AccountBasedExpenseLineDetail",
"Amount": 1200.00,
"AccountBasedExpenseLineDetail": {
"AccountRef": { "value": "7" }
}
}
],
"dueDate": "@@{dueDate}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
vendorId- Type
- string
- Description
- Required - VendorRef
- Name
lines- Type
- array<object>
- Description
- Required - Line items
- Name
txnDate- Type
- string
- Description
- Transaction date
- Name
dueDate- Type
- string
- Description
- Due date
- Name
docNumber- Type
- string
- Description
- Bill number/reference
- Name
privateNote- Type
- string
- Description
- Internal memo
- Name
apAccountId- Type
- string
- Description
- Accounts Payable account
Create purchase order and get PDF TOOLQUICKBOOKS_CREATE_PURCHASE_ORDER_AND_GET_PDF
Creates a purchase order (same fields as QUICKBOOKS_CREATE_PURCHASE_ORDER) and returns a short-lived download URL for its PDF — ready to email to the vendor in the next tool call.
Example
{
"toolType": "QUICKBOOKS_CREATE_PURCHASE_ORDER_AND_GET_PDF",
"connectorId": "V1StGXR8Z5",
"vendorId": "@@{vendorId}",
"lines": [
{
"DetailType": "ItemBasedExpenseLineDetail",
"Amount": 500.00,
"ItemBasedExpenseLineDetail": {
"ItemRef": { "value": "19" },
"Qty": 10,
"UnitPrice": 50.00
}
}
],
"expectedDate": "@@{expectedDate}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
vendorId- Type
- string
- Description
- Required - VendorRef
- Name
lines- Type
- array<object>
- Description
- Required - Line items
- Name
txnDate- Type
- string
- Description
- Transaction date
- Name
expectedDate- Type
- string
- Description
- Expected delivery date
- Name
docNumber- Type
- string
- Description
- PO number
- Name
vendorMemo- Type
- string
- Description
- Memo for vendor
- Name
privateNote- Type
- string
- Description
- Internal memo
- Name
shipAddr- Type
- object
- Description
- Ship to address
- Name
apAccountId- Type
- string
- Description
- Accounts Payable account