Skip to main content
Creates one customer record in the connected QuickBooks Online company with a single POST /v3/company/{realmId}/customer and returns the new customer’s id. Display name “QuickBooks Create Customer”. Off by default. Use it after QuickBooks Lookup (quickbooks_lookup_entity) with entity_type: Customer finds no match and the user wants the client added. The returned id feeds QuickBooks Update Deposit Received From or any other tool that takes a customer.

Authentication and enablement

Enable the tool on the agent and connect a QuickBooks Online integration (OAuth). The access token and company (realm_id) are injected from the connection. With several companies connected, the per-company toggles on the tool decide which ones it may write to.

Inputs

  • display_name: required. The name shown in QuickBooks, up to 500 characters. Must be unique across every customer, vendor and employee in the company.
  • company_name: legal company name, if different from the display name.
  • given_name, family_name: when the customer is a person.
  • email, phone: primary contact details.
  • billing_address: line1, line2, city, state (sent as QuickBooks CountrySubDivisionCode), postal_code, country.
  • notes: free text stored on the customer.
Blank optional fields are left out of the request.

Output

id, display_name, company_name, active, entity_type: "Customer", full_details (the fields QuickBooks returned) and completed_at.

Limits and side effects

  • Creates exactly one customer per successful call. It never updates, merges or deactivates a record.
  • No lookup runs first: QuickBooks itself rejects a duplicate name, which costs nothing, while a pre-check read is a metered Intuit API call.

Expected errors

  • QuickBooks already has a customer, vendor or employee named "…": QuickBooks fault 6240. Nothing was created. Find the existing record with QuickBooks Lookup and use its id. A customer marked inactive does not show in lookups, so check QuickBooks if the lookup still finds nothing.
  • display_name cannot be empty / display_name is longer than 500 characters / email "…" is not a valid email address: validation, before any call.
  • access_token is required…: no QuickBooks connection is bound to the agent.
  • failed to create customer: quickbooks api error (HTTP …): any other QuickBooks fault, passed through verbatim.