
Payment PaymentReceivedTrigger
CertifiedTrigger a flow when QuickBooks receives a payment
Payment PaymentReceivedTrigger
Trigger a flow when QuickBooks receives a payment
Polls the QuickBooks Change Data Capture endpoint for new Payment records since the last poll and starts an execution when at least one was created. Updated and deleted payments are ignored.
A polling trigger starts at most one execution per evaluation: payment is the oldest new payment and payments lists all new payments of the poll, so use payments to process every payment.
The watermark is stored in the namespace KV store and only advances once the execution has been built, so a failed poll is retried over the same window. CDC only looks back about 30 days.
type: io.kestra.plugin.quickbooks.payments.PaymentReceivedTriggerExamples
React to a received payment via CDC
id: qbo_on_payment
namespace: company.finance
triggers:
- id: on_payment
type: io.kestra.plugin.quickbooks.payments.PaymentReceivedTrigger
clientId: "{{ secret('QBO_CLIENT_ID') }}"
clientSecret: "{{ secret('QBO_CLIENT_SECRET') }}"
refreshToken: "{{ secret('QBO_REFRESH_TOKEN') }}"
realmId: "{{ secret('QBO_REALM_ID') }}"
interval: PT10M
tasks:
- id: log
type: io.kestra.plugin.core.log.Log
message: "Payment {{ trigger.payment.id }} applied to {{ trigger.linkedInvoices | length }} invoice(s)"
Properties
clientId *string
QuickBooks Client ID
clientSecret *string
QuickBooks Client Secret
realmId *string
QuickBooks Realm ID
refreshToken *string
QuickBooks Refresh Token
allowConcurrent boolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
authUrl string
https://oauth.platform.intuit.com/oauth2/v1/tokens/bearerOAuth Token URL
The OAuth2 token endpoint. Must be an intuit.com domain.
baseUrl string
https://quickbooks.api.intuit.comBase URL
The Base URL for QuickBooks API. Must be an intuit.com domain. Defaults to production.
interval string
PT15MdurationPolling interval
How often the trigger should poll for new payments.
minorVersion integerstring
75Minor Version
The minor version of the QuickBooks API to use. Must be 1 or more, checked after rendering.
stopAfter array
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
when string
trueA condition that determines whether the trigger should run.
A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.
Outputs
count *integer
Count
The number of new payments in this poll.
linkedInvoices *array
Linked invoices
The invoices applied to payment, read from its Line[].LinkedTxn[] entries of type Invoice. Each entry holds the invoice id and the amount applied.
payment *object
Payment
The oldest new payment, as returned by QuickBooks. Its QuickBooks identifier is payment.Id and is also available as payment.id.
payments *array
Payments
All new payments of this poll, oldest first. Includes payment.