Airbyte
Disclaimer
Your use of this download is governed by Stonebranch's Terms of Use.
Version Information
Template Name | Extension Name | Version | Status |
|---|---|---|---|
Airbyte | ue-airbyte | 1 (Current 1.0.0) | Initial version. |
Refer to the Changelog for version history information.
Overview
Airbyte is an open-source data integration platform designed to enable organizations to collect, centralize, and sync data across various systems and databases. It provides connectors for integrating a wide variety of data sources (such as databases, APIs, and file systems) into destinations like data warehouses, lakes, and other cloud storage solutions.
Universal Automation Center (UAC) can trigger Airbyte jobs by making API requests to the Airbyte API endpoint with appropriate authentication, enabling automated execution of your data transformation workflows based on your orchestration requirements.
Key Features
Feature | Description |
|---|---|
Job Triggering | Trigger and monitor Airbyte Jobs. |
Tunable Output Options | STDOUT: Capability to show "Job Info" |
Requirements
This integration requires a Universal Agent and a Python runtime to execute the Universal Task.
Area | Details |
|---|---|
Python Version | Requires Python 3.11, Tested with Agent bundled python distribution. |
Universal Agent Compatibility |
|
Universal Controller Compatibility | Universal Controller Version >= 7.6.0.0. |
Network and Connectivity | Connectivity to Airbyte APIs is required. |
Airbyte | Compatible with Airbyte API v1. |
Supported Actions
Action: Trigger Job
The "Trigger Job" action provides the following capabilities.
- Trigger or Trigger and Monitor an Airbyte Job waiting to reach a final state, providing the required input parameters for execution.
- Control the information to be displayed on STDOUT, to bring visibility on the executed job info.
Action Output
- EXTENSION
- STDOUT
- STDERR
The extension output provides the following information:
exit_code, status_description: General info regarding the task execution. For more information users can refer to the exit code table.invocation.fields: The task configuration used for this task execution.result.job_info: Shows basic information about the Job.result.job_idresult.statusresult.job_typeresult.connection_idresult.start_timeresult.last_updated_at- Only shown when Wait for Success or Failure is True.
result.duration- Only shown when Wait for Success or Failure is True.
result.errors:List of errors that might have occurred during execution. That does not include Airbyte Job internal errors.
Examples:Success: Job Triggering without Monitoring
Fail: Job Already Running
Provides useful information depending on the configuration of STDOUT Options.
Example:
Job Info
================================
Job ID: 84
Status: running
Job Type: sync
Connection ID: c798cc11-20f1-4e60-9a0d-30ae22d2f87e
Start Time: March 24, 2026 at 13:21:39
Shows the logs from the Task Instance execution. The verbosity is controlled by the Task configuration Log Level.
Debug Logs
2026-03-24 15:21:38,690 - 139855560414976 AsyEvent[EXTENSION_START] - utils.py[108] INFO: Extension Information: ue-airbyte-1.0.0
2026-03-24 15:21:38,690 - 139855560414976 AsyEvent[EXTENSION_START] - utils.py[113] INFO: System Information: Python Version: 3.11.6 (main, Nov 9 2023, 08:01:02) [GCC 8.5.0 20210514 (Red Hat 8.5.0-4)], system: Linux, release: ue-agt-lin-dev, version: #1 SMP Tue Feb 21 19:25:54 UTC 2023, machine type: x86_64, ue-commons Version: 1.0.1
2026-03-24 15:21:38,690 - 139855560414976 AsyEvent[EXTENSION_START] - models.py[238] DEBUG: Input Fields: {action:Trigger Job, job_type:Sync, airbyte_api_url:http://api.airbyte.com, airbyte_credentials:Credential(user=107b5b4d-1234-4567-bb20-abc1239b5123, password=****, token=****, key_location=, passphrase=****), workspace_name:['Default Workspace'], connection_name:['Postgres → MySQL (ID: c798cc11-20f1-4e60-9a0d-30ae22d2f87e)'], wait:False, poll_interval:0, max_polls:0, source_id:None, destination_id:None, stdout_options:Include Job Info, job_id:None, job_status:None, job_start_time:None, last_updated_on:None, job_duration:None}
2026-03-24 15:21:38,691 - 139855560414976 AsyEvent[EXTENSION_START] - client.py[33] WARNING: Environment variable `UE_HTTP_TIMEOUT` is not configured. Using default value of 60s.
2026-03-24 15:21:39,895 - 139855560414976 AsyEvent[EXTENSION_START] - airbyte_client.py[231] INFO: Job `84` has changed state: None -> running
Configuration Examples
Example: Trigger an Airbyte
The Airbyte task triggers an Airbyte job with the name "Postgres → MySQL" with no monitoring. The task will end when it triggers the job run on Airbyte, and the task will not wait for it to finish. If the Job is triggered successfully, the task instance completes with success, else with failure.

Example: Trigger and Monitor an Airbyte Job
The Airbyte task will trigger an Airbyte with the name "Postgres → MySQL" with monitoring. The "Include Job Info" STDOUT options are selected. The task will remain running until the job run on Airbyte reaches a terminal state.
The task will check if the job run has reached a terminal state on each poll interval. Once the task reaches a terminal state, it will print the Job Info to STDOUT. Then the task will end with success or failure, depending on the terminal state of the Job Run.

Input Fields
Name | Type | Description | Version Information |
|---|---|---|---|
Action | Choice | The action performed upon the task execution.
| Introduced in 1.0.0 |
Airbyte API URL | Text | The base API URL of your service (e.g., | Introduced in 1.0.0 |
Airbyte Credentials | Credentials | Credentials for the interaction with Airbyte API. The Credential definition should be as follows.
| Introduced in 1.0.0 |
Workspace | Dynamic Choice | Dynamic Choice field for the retrieval and selection of an Airbyte Workspace. Used for filtering Airbyte Connections which belong to the selected Workspace when executing the Connection dynamic choice field. | Introduced in 1.0.0 |
Connection | Dynamic Choice | Dynamic Choice field for the retrieval and selection of the Airbyte Connection on which to trigger a job. Only shows Connections which belong to the selected Workspace. | Introduced in 1.0.0 |
Job Type | Choice | The type of job to trigger. Available options are as follows.
| Introduced in 1.0.0 |
Wait For Success Or Failure | Checkbox | When checked, the Task Instance waits until the triggered Job reaches a final State. Otherwise, the Task Instance completes when the Job is simply triggered, without waiting to finish. | Introduced in 1.0.0 |
Poll Interval (sec) | Integer | This field is required when Wait For Success Or Failure is checked and represents the time interval between retries for getting the status of the Airbyte Job. As a best practice, if the Task Execution expected completion duration is long, set the polling Interval to a larger value. A short value will trigger frequent checks towards Airbyte, which is inefficient in terms of resources in the case of long-duration Tasks. The default value is 60. | Introduced in 1.0.0 |
Max Polls | Integer | This field is required when Wait For Success Or Failure is checked and represents the maximum number of polls to do while waiting for a terminal state before failing. If set to 0, the task will poll indefinitely. | Introduced in 1.0.0 |
STDOUT Options | Choice | Controls what information is displayed on the STDOUT. Allowed values:
| Introduced in 1.0.0 |
Output Fields
Name | Type | Description | Version Information |
|---|---|---|---|
Job ID | Integer | The Job ID of the Triggered Job. | Introduced in 1.0.0. |
Job Status | Text | The last retrieved Job Status. | Introduced in 1.0.0. |
Job Start Time | Text | The timestamp of when the Job started on Airbyte. | Introduced in 1.0.0. |
Job Last Updated On | Text | The timestamp of the most recent update made to the Job. Gets value only if Wait For Success Or Failure is checked. | Introduced in 1.0.0. |
Job Duration | Text | The total amount of time the Job took to execute. Gets value only if Wait For Success Or Failure is checked. | Introduced in 1.0.0. |
Environment Variables
Environment Variables can be set from the Environment Variables task definition table. The following environment variables can affect the behavior of the extension.
Environment Variable | Description | Version Information |
|---|---|---|
UE_HTTP_TIMEOUT | Specifies the timeout (in seconds) for HTTP requests made by the Task Instance. A higher value allows for slower responses, while a lower value enforces stricter time constraints. If not set, a default of 60 seconds is used. When a timeout happens, the Task Instance ends in failure. | Introduced in 1.0.0. |
Cancellation and Rerun
- In the case of cancellation of the Task Instance, the Job remains intact on Airbyte.
- In the case of a re-run of the Task Instance, a new Job is created.
- In the case of the dynamic command, Cancel Job is being executed. The Job will be cancelled on Airbyte.
Dynamic Commands
Cancel Job
Dynamic Command "Cancel Job" is available in the "Running" and "Success" states of the task instance, and is used to cancel the Job on Airbyte.
Exit Codes
Exit Code | Status | Status Description | Meaning |
|---|---|---|---|
0 | Success | If the Wait For Success Or Failure input field is checked,
If the Wait For Success Or Failure input field is not checked,
| Successful Execution. If Wait For Success Or Failure input field is checked,
If Wait for Success or Failure input field is not checked,
|
1 | Failure | "Execution Failed: <<Error Description>>" | Failed Execution.
|
2 | Cancelled | "Task instance cancelled successfully" | Cancelled Execution.
|
20 | Failure | "Data Validation Error: <<Error Description>>" | Input fields validation error. |
40 | Failure | "MaxPollsReached: <<Error Description>>" | Maximum polls reached. |
100 | Success | "Job Cancelled" | Job has been cancelled successfully. |
STDOUT and STDERR
STDOUT is used for displaying Job information, and it's controlled by STDOUT Options.
STDERR provides additional information to the user, the verbosity of which is controlled by the Log Level Task Definition field.
Backwards compatibility is not guaranteed for the content of STDOUT/STDERR and can be changed in future versions without notice
How To
Import Universal Template
To use the Universal Template, you first must perform the following steps.
- This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.
- Import the Universal Template into your Controller:
- Extract the zip file that you downloaded from the Integration Hub.
- In the Controller UI, select Services > Import Integration Template option.
- Browse to the "export" folder under the extracted files for the ZIP file (Name of the file will be unv_tmplt_*.zip) and click Import.
- When the file is imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.
Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information, refer to Integration Modifications.
Configure Universal Task
For a new Universal Task, create a new task and enter the required input fields.
Integration Modifications
Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.
- Python code modifications should not be done.
- Template Modifications
- General Section
- "Name", "Extension", "Variable Prefix", and "Icon" should not be changed.
- Universal Template Details Section
- "Template Type", "Agent Type", "Send Extension Variables", and "Always Cancel on Force Finish" should not be changed.
- Result Processing Defaults Section
- Success and Failure Exit codes should not be changed.
- Success and Failure Output processing should not be changed.
- Fields Restriction Section
The setup of the template does not impose any restrictions. However, concerning the "Exit Code Processing Fields" section.- Success/Failure exit codes need to be respected.
- In principle, as STDERR and STDOUT outputs can change in follow-up releases of this integration, they should not be considered as a reliable source for determining the success or failure of a task.
- General Section
Users and customers are encouraged to report defects or feature requests at the Stonebranch Support Desk.
Document References
This document references the following documents:
Document Link | Description |
|---|---|
User documentation for creating, working with and understanding Universal Templates and Integrations. | |
User documentation for creating Universal Tasks in the Universal Controller user interface. | |
The Airbyte API Documentation |
Changelog
ue-airbyte-1.0.0 (2025-08-01)
Initial Version