Trigger CdcTrigger

Trigger CdcTrigger

Certified

Trigger based on QuickBooks Change Data Capture (CDC)

Periodically polls QuickBooks to fetch changed entities since the last successful poll.

yaml
type: io.kestra.plugin.quickbooks.trigger.CdcTrigger

Trigger a flow when QuickBooks entities change

yaml
id: quickbooks_cdc_trigger
namespace: company.team
triggers:
  - id: watch_invoices
    type: io.kestra.plugin.quickbooks.trigger.CdcTrigger
    clientId: "{{ secret('QBO_CLIENT_ID') }}"
    clientSecret: "{{ secret('QBO_CLIENT_SECRET') }}"
    refreshToken: "{{ secret('QBO_REFRESH_TOKEN') }}"
    realmId: "{{ secret('QBO_REALM_ID') }}"
    entities:
      - Invoice
      - Customer
    interval: "PT1H"
tasks:
  - id: process_changes
    type: io.kestra.plugin.core.log.Log
    message: "CDC Output: {{ trigger.cdcResponse }}"
Properties

QuickBooks Client ID

QuickBooks Client Secret

SubTypestring

Entities

A list of QuickBooks entities to check for changes (e.g., 'Invoice', 'Customer').

QuickBooks Realm ID

QuickBooks Refresh Token

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

Defaulthttps://oauth.platform.intuit.com/oauth2/v1/tokens/bearer

OAuth Token URL

The OAuth2 token endpoint. Must be an intuit.com domain.

Defaulthttps://quickbooks.api.intuit.com

Base URL

The Base URL for QuickBooks API. Must be an intuit.com domain. Defaults to production.

DefaultPT15M
Formatduration

Polling interval

How often the trigger should poll for changes.

Default75

Minor Version

The minor version of the QuickBooks API to use. Must be 1 or more, checked after rendering.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A 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.

CDC response

The parsed JSON response of QuickBooks with the full changed records.

SubTypearray

Changed rows per entity

Maps each requested entity to its changed records. Every record has id, status (Created, Updated or Deleted) and deleted. An entity without changes maps to an empty list.