
Airbyte Cloud Jobs Sync
CertifiedRun an Airbyte Cloud sync
Airbyte Cloud Jobs Sync
Run an Airbyte Cloud sync
Starts a sync job for an Airbyte Cloud connection. By default, the task waits for completion and emits sync metrics.
The task also exposes the connection that ran the job, a connectionSnapshot file (connector configurations are never included) and a jobUrl to the job in Airbyte Cloud. When Kestra runs with assets enabled (Enterprise Edition) and the job succeeds, each replicated stream is emitted as a table asset with the source stream as its input. Airbyte Cloud does not report per-stream statistics, so the asset id carries no namespace unless the connection uses a custom namespace format.
Breaking change: this task now fails when the Airbyte job ends FAILED or CANCELLED. The outputs stay available: use allowFailure: true or an errors branch to keep the previous behavior.
Per-stream and per-attempt statistics, the attempts output and onPartialSuccess are not available on Airbyte Cloud, because its public API only reports bytesSynced, rowsSynced and duration for a job.
type: io.kestra.plugin.airbyte.cloud.jobs.SyncExamples
id: airbyte_sync
namespace: company.team
tasks:
- id: sync
type: io.kestra.plugin.airbyte.cloud.jobs.Sync
token: "{{ secret('AIRBYTE_TOKEN') }}"
connectionId: e3b1ce92-547c-436f-b1e8-23b6936c12cd
Link to the Airbyte Cloud job when the sync fails
id: airbyte_cloud_sync_with_link
namespace: company.team
tasks:
- id: sync
type: io.kestra.plugin.airbyte.cloud.jobs.Sync
token: "{{ secret('AIRBYTE_TOKEN') }}"
connectionId: e3b1ce92-547c-436f-b1e8-23b6936c12cd
errors:
- id: alert
type: io.kestra.plugin.core.log.Log
level: ERROR
message: "Airbyte Cloud sync failed, see {{ outputs.sync.jobUrl }}"
Properties
connectionId *string
Connection ID
Airbyte Cloud connection ID for the job
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150clientId string
Client ID
Airbyte application client ID used for client-credentials authentication
clientSecret string
Client secret
Airbyte application client secret used for client-credentials authentication. Store this value in a Secret
maxDuration string
PT1HMaximum wait duration
Maximum total time to wait for the job to finish, including Airbyte's automatic retry attempts. Defaults to 60 minutes
password string
Basic auth password
Password for Airbyte Cloud basic authentication. Store this value in a Secret
pollFrequency string
PT1SPoll frequency
Interval between Airbyte Cloud job status checks. Defaults to 1 second
token string
Bearer token
Bearer token for the Airbyte Cloud API. If this is set, it is used before client credentials or basic auth
tokenURL string
https://api.airbyte.com/v1/applications/tokenToken URL
Token endpoint used with client credentials. Defaults to https://api.airbyte.com/v1/applications/token. See: https://reference.airbyte.com/reference/createaccesstoken
username string
Basic auth username
Username for Airbyte Cloud basic authentication. Basic auth is used only when no bearer token or client credentials are configured
wait booleanstring
trueWait for completion
If true, wait for the Airbyte Cloud job to reach a terminal state before the task completes. Defaults to true
Outputs
connection
Connection
Summary of the connection, source and destination of the job. null when their configuration could not be read
Airbyte connection summary
Short, non-secret description of the connection that ran the job
Connection ID
Destination ID
Destination name
Name given to the destination in Airbyte
Destination type
Destination connector type, for example Snowflake
Name
Schedule type
Source ID
Source name
Name given to the source in Airbyte
Source type
Source connector type, for example Postgres
Status
Selected stream count
Number of streams replicated by the connection
Workspace ID
connectionSnapshot string
uriConnection snapshot file
Internal storage URI of a JSON file with the connection, source and destination configuration at the time of the job. Connector configurations are never included. null when it could not be read
Pebble expression referencing an Internal Storage URI e.g. {{ outputs.mytask.uri }}.
job
Job details
Airbyte Cloud job returned by the task
io.kestra.plugin.airbyte.cloud.jobs.AbstractTrigger-Job
Bytes synced
Number of bytes synced by the job
durationDuration
Total duration of the job
Job ID
Airbyte Cloud job ID
SYNCRESETREFRESHCLEARJob type
Type of job (e.g. SYNC or RESET)
date-timeLast updated at
Timestamp when the job was last updated
Rows synced
Number of rows synced by the job
date-timeStart time
Timestamp when the job started
PENDINGRUNNINGINCOMPLETEFAILEDSUCCEEDEDCANCELLEDStatus
Job status. Terminal when wait is enabled
jobUrl string
Job URL
Link to the job in the Airbyte Cloud web app. null when the workspace could not be resolved