add_contact
ChatGPTAdd a new contact to an existing client
add_contact
ChatGPTAdd a new contact to an existing client
add_proposal_option
ChatGPTAdd a new option to a draft proposal so the client can choose between alternatives. The new option starts with one empty project; add service groups and proposed services to it afterwards. Requires the proposalOptions plan feature.
add_proposal_option
ChatGPTAdd a new option to a draft proposal so the client can choose between alternatives. The new option starts with one empty project; add service groups and proposed services to it afterwards. Requires the proposalOptions plan feature.
add_proposal_project
ChatGPTAdd a project to an option on a draft proposal. Projects group service groups under a heading. The new project is appended after existing projects in the option.
add_proposal_project
ChatGPTAdd a project to an option on a draft proposal. Projects group service groups under a heading. The new project is appended after existing projects in the option.
add_proposal_service_group
ChatGPTAdd a billing rule (service group) to a project on a draft proposal. Describe how it bills with billing_mode plus one or more billing_schedules, using the same vocabulary as create_proposal (bill_type, start_type, start_delay, bill_recurring_rule). The group starts with no services; pass the returned created.slug to add_proposed_service. For deposit or milestone billing use create_proposal.
add_proposal_service_group
ChatGPTAdd a billing rule (service group) to a project on a draft proposal. Describe how it bills with billing_mode plus one or more billing_schedules, using the same vocabulary as create_proposal (bill_type, start_type, start_delay, bill_recurring_rule). The group starts with no services; pass the returned created.slug to add_proposed_service. For deposit or milestone billing use create_proposal.
add_proposed_service
ChatGPTAdd an existing service-library service to a service group on a draft proposal with default pricing.
add_proposed_service
ChatGPTAdd an existing service-library service to a service group on a draft proposal with default pricing.
archive_client
ChatGPTArchive a client that has no active engagements or agreed services
archive_client
ChatGPTArchive a client that has no active engagements or agreed services
archive_invoice
ChatGPTArchive (delete) an invoice so it no longer appears in standard lists. Only voided invoices can be archived — an issued invoice must be voided first to preserve the audit trail. Invoices with any payment (paid, or a non-cancelled payment in progress) cannot be archived.
archive_invoice
ChatGPTArchive (delete) an invoice so it no longer appears in standard lists. Only voided invoices can be archived — an issued invoice must be voided first to preserve the audit trail. Invoices with any payment (paid, or a non-cancelled payment in progress) cannot be archived.
archive_proposal
ChatGPTArchive a proposal. Only draft and lost proposals can be archived. Proposals in other states (awaiting_acceptance, accepted, completed) cannot be archived.
archive_proposal
ChatGPTArchive a proposal. Only draft and lost proposals can be archived. Proposals in other states (awaiting_acceptance, accepted, completed) cannot be archived.
create_client
ChatGPTCreate a new client with contacts, optional addresses, and optional tags
create_client
ChatGPTCreate a new client with contacts, optional addresses, and optional tags
create_email_template
ChatGPTCreate a new email template. Only type new_proposal is supported (additional templates for new proposal notifications). Content is HTML that may include Liquid placeholders (e.g. {{ client.name }}, {{ practice.name }}). Use list_terms_placeholders to discover available placeholders.
create_email_template
ChatGPTCreate a new email template. Only type new_proposal is supported (additional templates for new proposal notifications). Content is HTML that may include Liquid placeholders (e.g. {{ client.name }}, {{ practice.name }}). Use list_terms_placeholders to discover available placeholders.
create_form_using_template
ChatGPTCreate a new form for a client using a form template
create_form_using_template
ChatGPTCreate a new form for a client using a form template
create_invoice_draft
ChatGPTCreate a safe internal invoice draft for review in the Ignition invoice editor. This does not create, issue, send, deploy, number, or collect payment for a real invoice. The user must open the returned app_path and click Create in Ignition.
create_invoice_draft
ChatGPTCreate a safe internal invoice draft for review in the Ignition invoice editor. This does not create, issue, send, deploy, number, or collect payment for a real invoice. The user must open the returned app_path and click Create in Ignition.
create_message_template
ChatGPTCreate an intro or next steps message template. Content is HTML with optional Liquid placeholders using the same message placeholders as the UI.
create_message_template
ChatGPTCreate an intro or next steps message template. Content is HTML with optional Liquid placeholders using the same message placeholders as the UI.
create_proposal
ChatGPTCreate a new draft proposal from a full proposal document (options, projects, service groups, billing schedules, proposed services, deposits, recipients, and signable documents). Prefer create_proposal_using_template when an existing template covers the requested proposal; reach for this tool when the agent needs full control over the proposal structure. Document shape mirrors the proposal template encoder format with slug-only identifiers.
create_proposal
ChatGPTCreate a new draft proposal from a full proposal document (options, projects, service groups, billing schedules, proposed services, deposits, recipients, and signable documents). Prefer create_proposal_using_template when an existing template covers the requested proposal; reach for this tool when the agent needs full control over the proposal structure. Document shape mirrors the proposal template encoder format with slug-only identifiers.
create_proposal_using_template
ChatGPTCreate a new draft proposal from a proposal template. The template defines services, options, billing, and default settings. You can override top-level settings via optional arguments. For personalised_message and next_steps_message, first check list_message_templates for an appropriate existing template to use as content. If none is suitable, craft a custom HTML message.
create_proposal_using_template
ChatGPTCreate a new draft proposal from a proposal template. The template defines services, options, billing, and default settings. You can override top-level settings via optional arguments. For personalised_message and next_steps_message, first check list_message_templates for an appropriate existing template to use as content. If none is suitable, craft a custom HTML message.
create_service
ChatGPTCreate a new service in the practice's service library
create_service
ChatGPTCreate a new service in the practice's service library
create_terms_template
ChatGPTCreate a new terms template. Content is HTML that may include Liquid placeholders (e.g. {{ client.name }}, {{ practice.name }}). Use list_terms_placeholders to discover available placeholders.
create_terms_template
ChatGPTCreate a new terms template. Content is HTML that may include Liquid placeholders (e.g. {{ client.name }}, {{ practice.name }}). Use list_terms_placeholders to discover available placeholders.
get_billing_item
ChatGPTGet full billing item detail by slug, including client embed, service, billable service, billing group, payment method, tax, and the invoice it was billed onto when applicable.
get_billing_item
ChatGPTGet full billing item detail by slug, including client embed, service, billable service, billing group, payment method, tax, and the invoice it was billed onto when applicable.
get_client
ChatGPTGet full client detail including contacts, services summary, and invoices summary
get_client
ChatGPTGet full client detail including contacts, services summary, and invoices summary
get_form
ChatGPTGet full detail for a single form including questions, responses, client, and form template
get_form
ChatGPTGet full detail for a single form including questions, responses, client, and form template
get_invoice
ChatGPTGet full invoice detail by identifier, including line items, money totals, client embed, issued_by user, latest payment (with collection and disbursal), latest ledger deployment, latest reconciliation, and days_overdue. Accepts an invoice slug (inv_*), Ignition reference number (INV-####), or the ledger invoice number from Xero/QuickBooks (stored as deployment.external_number).
get_invoice
ChatGPTGet full invoice detail by identifier, including line items, money totals, client embed, issued_by user, latest payment (with collection and disbursal), latest ledger deployment, latest reconciliation, and days_overdue. Accepts an invoice slug (inv_*), Ignition reference number (INV-####), or the ledger invoice number from Xero/QuickBooks (stored as deployment.external_number).
get_payment
ChatGPTGet full payment detail by slug, including client, linked invoices, payment method, and the latest collection, disbursal, refund, and dispute where present.
get_payment
ChatGPTGet full payment detail by slug, including client, linked invoices, payment method, and the latest collection, disbursal, refund, and dispute where present.
get_practice_info
ChatGPTGet practice info including name, country, currency, timezone, and active client count
get_practice_info
ChatGPTGet practice info including name, country, currency, timezone, and active client count
get_proposal
ChatGPTGet top-level proposal metadata and settings by identifier. Accepts a proposal slug (prop_*) or user-facing reference number (PROP-####). Use get_proposal_document for service lines and pricing.
get_proposal
ChatGPTGet top-level proposal metadata and settings by identifier. Accepts a proposal slug (prop_*) or user-facing reference number (PROP-####). Use get_proposal_document for service lines and pricing.
get_proposal_document
ChatGPTGet a proposal's full document tree, including options, projects, service groups, schedules, services, and pricing.
get_proposal_document
ChatGPTGet a proposal's full document tree, including options, projects, service groups, schedules, services, and pricing.
get_service
ChatGPTGet full detail for a single service including price, tax rate, and billing mode
get_service
ChatGPTGet full detail for a single service including price, tax rate, and billing mode
get_tax_rate
ChatGPTGet full detail for a single tax rate
get_tax_rate
ChatGPTGet full detail for a single tax rate
get_terms_template
ChatGPTGet full detail for a single terms template including its raw content with Liquid placeholders
get_terms_template
ChatGPTGet full detail for a single terms template including its raw content with Liquid placeholders
increase_proposal_prices
ChatGPTApply a single bulk percentage increase across every proposed service in a draft proposal, with an optional round-up to the nearest $1, $5, or $10. A price increase can be applied AT MOST ONCE per proposal and ONLY while the proposal is editable (draft). Subsequent calls on the same proposal return { error: "already_applied" }. Set preview: true to see the resulting minimum-contract-value deltas without committing; preview does not count toward the one-shot limit.
increase_proposal_prices
ChatGPTApply a single bulk percentage increase across every proposed service in a draft proposal, with an optional round-up to the nearest $1, $5, or $10. A price increase can be applied AT MOST ONCE per proposal and ONLY while the proposal is editable (draft). Subsequent calls on the same proposal return { error: "already_applied" }. Set preview: true to see the resulting minimum-contract-value deltas without committing; preview does not count toward the one-shot limit.
list_agreed_services
ChatGPTList agreed services (engagements) for the practice, with optional filters by state or client. Agreed services are the canonical representation of what the UI calls a client's "services". When a user asks for "active" or "current" services they mean services in state "enabled" — the agreed service state machine has no "active" value. Pass state="enabled" to match the UI's default "Services" view on a client record.
list_agreed_services
ChatGPTList agreed services (engagements) for the practice, with optional filters by state or client. Agreed services are the canonical representation of what the UI calls a client's "services". When a user asks for "active" or "current" services they mean services in state "enabled" — the agreed service state machine has no "active" value. Pass state="enabled" to match the UI's default "Services" view on a client record.
list_billing_items
ChatGPTList billing items for the practice with rich filters by date range, status, billing strategy, client, service, billable service, billing group, payment method, and a due_only shortcut for unbilled items due today or earlier. Archived billing items are always excluded; pass status: "unbilled" or "billed" to narrow further.
list_billing_items
ChatGPTList billing items for the practice with rich filters by date range, status, billing strategy, client, service, billable service, billing group, payment method, and a due_only shortcut for unbilled items due today or earlier. Archived billing items are always excluded; pass status: "unbilled" or "billed" to narrow further.
list_clients
ChatGPTList clients for the practice, with optional filters by state, tag, partner, or name (case-insensitive partial match)
list_clients
ChatGPTList clients for the practice, with optional filters by state, tag, partner, or name (case-insensitive partial match)
list_email_templates
ChatGPTList email templates for the practice (new proposal, proposal accepted, and payment-related emails). Optionally filter by template type. Omit type to return all supported email template kinds.
list_email_templates
ChatGPTList email templates for the practice (new proposal, proposal accepted, and payment-related emails). Optionally filter by template type. Omit type to return all supported email template kinds.
list_form_templates
ChatGPTList form templates for the practice with cursor pagination
list_form_templates
ChatGPTList form templates for the practice with cursor pagination
list_forms
ChatGPTList forms for the practice, with optional filters by state, client, or form template
list_forms
ChatGPTList forms for the practice, with optional filters by state, client, or form template
list_invoices
ChatGPTList invoices for the practice, with optional filters by payment state, state, client, partner, issued-by user, tag, date ranges (issued/due/paid/created/updated), overdue status, amount range, Ignition reference number (INV-####), ledger invoice number (Xero/QuickBooks), billing reference, source, payment source, and ledger deployment state. Archived, voided, and deleted invoices are excluded by default; pass state: "archived" or state: "voided" to include them.
list_invoices
ChatGPTList invoices for the practice, with optional filters by payment state, state, client, partner, issued-by user, tag, date ranges (issued/due/paid/created/updated), overdue status, amount range, Ignition reference number (INV-####), ledger invoice number (Xero/QuickBooks), billing reference, source, payment source, and ledger deployment state. Archived, voided, and deleted invoices are excluded by default; pass state: "archived" or state: "voided" to include them.
list_message_templates
ChatGPTList message templates for the practice. These are the intro and next steps messages shown to clients during the proposal flow. Optionally filter by type.
list_message_templates
ChatGPTList message templates for the practice. These are the intro and next steps messages shown to clients during the proposal flow. Optionally filter by type.
list_payments
ChatGPTList payments for the practice with rich filtering on client, invoice, state, date ranges, payment method type, and amount. Cancelled payments are excluded by default; pass state explicitly to include them.
list_payments
ChatGPTList payments for the practice with rich filtering on client, invoice, state, date ranges, payment method type, and amount. Cancelled payments are excluded by default; pass state explicitly to include them.
list_proposal_templates
ChatGPTList the practice's proposal templates with cursor pagination
list_proposal_templates
ChatGPTList the practice's proposal templates with cursor pagination
list_proposals
ChatGPTList proposals for the practice, with optional filters by state, client, or reference number (PROP-####)
list_proposals
ChatGPTList proposals for the practice, with optional filters by state, client, or reference number (PROP-####)
list_services
ChatGPTList services in the practice's service library
list_services
ChatGPTList services in the practice's service library
list_tax_rates
ChatGPTList tax rates available in the practice
list_tax_rates
ChatGPTList tax rates available in the practice
list_terms_placeholders
ChatGPTList available Liquid placeholders for use in terms template content and service terms fields. Returns placeholder paths (e.g. client.name), descriptions, and sample values. Use {{ path }} syntax in content.
list_terms_placeholders
ChatGPTList available Liquid placeholders for use in terms template content and service terms fields. Returns placeholder paths (e.g. client.name), descriptions, and sample values. Use {{ path }} syntax in content.
list_terms_templates
ChatGPTList terms templates for the practice. These are reusable engagement letter / terms of service documents applied to proposals.
list_terms_templates
ChatGPTList terms templates for the practice. These are reusable engagement letter / terms of service documents applied to proposals.
remove_proposal_option
ChatGPTRemove an option from a draft proposal. A proposal must keep at least one option, so removing the last option is rejected. Not gated on the proposalOptions feature, so a downgraded plan can still reduce a multi-option proposal back to a single option.
remove_proposal_option
ChatGPTRemove an option from a draft proposal. A proposal must keep at least one option, so removing the last option is rejected. Not gated on the proposalOptions feature, so a downgraded plan can still reduce a multi-option proposal back to a single option.
remove_proposal_project
ChatGPTRemove a project from a draft proposal. An option must keep at least one project, so removing the last project in an option is rejected.
remove_proposal_project
ChatGPTRemove a project from a draft proposal. An option must keep at least one project, so removing the last project in an option is rejected.
remove_proposal_service_group
ChatGPTRemove a billing rule (service group) and its proposed services from a draft proposal.
remove_proposal_service_group
ChatGPTRemove a billing rule (service group) and its proposed services from a draft proposal.
remove_proposed_service
ChatGPTRemove a proposed service line item from a draft proposal.
remove_proposed_service
ChatGPTRemove a proposed service line item from a draft proposal.
renew_proposal
ChatGPTCreate a new draft proposal by renewing an accepted or completed proposal. Copies all services from the accepted option at their current agreed service prices, sets the start date to the day after the source contract ends, and preserves signatories. The result is a draft proposal that can be reviewed with get_proposal, adjusted with update_proposal, and sent with send_proposal_to_client.
renew_proposal
ChatGPTCreate a new draft proposal by renewing an accepted or completed proposal. Copies all services from the accepted option at their current agreed service prices, sets the start date to the day after the source contract ends, and preserves signatories. The result is a draft proposal that can be reviewed with get_proposal, adjusted with update_proposal, and sent with send_proposal_to_client.
restore_client
ChatGPTRestore (unarchive) a previously archived client
restore_client
ChatGPTRestore (unarchive) a previously archived client
send_form_to_client
ChatGPTSend an awaiting form to its client via email
send_form_to_client
ChatGPTSend an awaiting form to its client via email
send_invoice_to_client
ChatGPTSend an invoice email to the client. Only issued invoices can be sent. When to is omitted, the invoice is sent to the client's usual invoice recipients. Each call triggers a fresh delivery.
send_invoice_to_client
ChatGPTSend an invoice email to the client. Only issued invoices can be sent. When to is omitted, the invoice is sent to the client's usual invoice recipients. Each call triggers a fresh delivery.
send_proposal_to_client
ChatGPTSend a draft proposal to the client. Moves the proposal to awaiting acceptance and sends the notification email. Only draft proposals can be sent.
send_proposal_to_client
ChatGPTSend a draft proposal to the client. Moves the proposal to awaiting acceptance and sends the notification email. Only draft proposals can be sent.
update_client
ChatGPTUpdate an existing client's details or add/remove tags (partial update — only provided fields are changed)
update_client
ChatGPTUpdate an existing client's details or add/remove tags (partial update — only provided fields are changed)
update_contact
ChatGPTUpdate an existing contact on a client (partial update — only provided fields are changed)
update_contact
ChatGPTUpdate an existing contact on a client (partial update — only provided fields are changed)
update_email_template
ChatGPTUpdate an existing email template. Uses PATCH semantics — only provided fields are changed. The template kind is inferred from the slug (practice-scoped PracticeTemplate row). Slugs share the practempl_ prefix across all template kinds. Content is HTML that may include Liquid placeholders. Use list_terms_placeholders to discover available placeholders.
update_email_template
ChatGPTUpdate an existing email template. Uses PATCH semantics — only provided fields are changed. The template kind is inferred from the slug (practice-scoped PracticeTemplate row). Slugs share the practempl_ prefix across all template kinds. Content is HTML that may include Liquid placeholders. Use list_terms_placeholders to discover available placeholders.
update_message_template
ChatGPTUpdate an existing message template. Uses PATCH semantics — only provided fields are changed. Content is HTML with optional Liquid placeholders. Use list_terms_placeholders to discover available placeholders.
update_message_template
ChatGPTUpdate an existing message template. Uses PATCH semantics — only provided fields are changed. Content is HTML with optional Liquid placeholders. Use list_terms_placeholders to discover available placeholders.
update_proposal
ChatGPTUpdate top-level settings on a draft proposal. Only provided fields are changed (PATCH semantics). For personalised_message and next_steps_message, check list_message_templates for existing content first. Payment settings are atomic: provide payment_method_required, credit_card_accepted, and direct_debit_accepted together or omit all three. Send brochure_slug: null to remove an attached brochure.
update_proposal
ChatGPTUpdate top-level settings on a draft proposal. Only provided fields are changed (PATCH semantics). For personalised_message and next_steps_message, check list_message_templates for existing content first. Payment settings are atomic: provide payment_method_required, credit_card_accepted, and direct_debit_accepted together or omit all three. Send brochure_slug: null to remove an attached brochure.
update_proposal_project
ChatGPTUpdate a project's name and/or description on a draft proposal (PATCH semantics; only provided fields change).
update_proposal_project
ChatGPTUpdate a project's name and/or description on a draft proposal (PATCH semantics; only provided fields change).
update_proposed_service
ChatGPTPatch a proposed service on a draft proposal, including text, pricing, quantity, tax, and add-on status.
update_proposed_service
ChatGPTPatch a proposed service on a draft proposal, including text, pricing, quantity, tax, and add-on status.
update_proposed_service_portion
ChatGPTPatch a proposed service billing portion on a draft proposal. Supports fixed price amount and invoice strategy.
update_proposed_service_portion
ChatGPTPatch a proposed service billing portion on a draft proposal. Supports fixed price amount and invoice strategy.
update_service
ChatGPTUpdate an existing service in the practice's service library
update_service
ChatGPTUpdate an existing service in the practice's service library
update_terms_template
ChatGPTUpdate an existing terms template. Uses PATCH semantics — only provided fields are changed. Content is HTML that may include Liquid placeholders. Use list_terms_placeholders to discover available placeholders.
update_terms_template
ChatGPTUpdate an existing terms template. Uses PATCH semantics — only provided fields are changed. Content is HTML that may include Liquid placeholders. Use list_terms_placeholders to discover available placeholders.
validate_proposal_document
ChatGPTValidate a create_proposal document without saving it. Returns field errors and pricing summary when buildable.
validate_proposal_document
ChatGPTValidate a create_proposal document without saving it. Returns field errors and pricing summary when buildable.
void_invoice
ChatGPTVoid an issued invoice. Only invoices without any paid or in-progress payments can be voided. Once voided, the invoice cannot be paid but is retained for audit trail. Use archive_invoice if you want to hide the invoice from lists after voiding.
void_invoice
ChatGPTVoid an issued invoice. Only invoices without any paid or in-progress payments can be voided. Once voided, the invoice cannot be paid but is retained for audit trail. Use archive_invoice if you want to hide the invoice from lists after voiding.