Use this skill when the user wants to convert a Prefect task that syncs a self-hosted Airbyte Server — AirbyteConnection block, trigger_sync_run_and_wait_for_completion, or AirbyteSyncResult pointed at a non-Cloud host — into an equivalent Orchestra pipeline task targeting Airbyte Server. Triggers: any mention of migrating or rewriting Prefect Airbyte tasks to Orchestra; any Prefect flow code importing from prefect_airbyte pointed at a self-hosted Airbyte Server.
71
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill converts Prefect prefect_airbyte tasks targeting a self-hosted Airbyte Server (any host other than api.airbyte.com) into Orchestra pipeline tasks using integration: AIRBYTE_SERVER and integration_job: AIRBYTE_SERVER_JOB. It covers sync and reset job types.
| Prefect construct | Orchestra field | Notes |
|---|---|---|
AirbyteConnection.load("...") | connection: | Orchestra Airbyte Server connection slug |
connection_id (UUID) | parameters.connection_id | Copy verbatim — UUID string |
trigger_sync_run_and_wait_for_completion() | parameters.job_type: sync | Orchestra always waits; no separate polling needed |
reset_cache=True | parameters.job_type: reset | Full reload of the connection |
| Prefect block host (self-hosted) | integration: AIRBYTE_SERVER | Confirm host matches Orchestra connection's stored host |
integration: AIRBYTE_SERVER
integration_job: AIRBYTE_SERVER_JOB
name: sync-task
connection: airbyte_server_prod_12345
parameters:
connection_id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
job_type: sync
depends_on: []
condition: null
tags: []airbyte_server_host is NOT api.airbyte.com — if it is, use airbyte-cloud-prefect-to-orchestraintegration: AIRBYTE_SERVERintegration_job: AIRBYTE_SERVER_JOBconnection_id UUID verbatim into parameters.connection_idreset_cache=True → parameters.job_type: reset; otherwise parameters.job_type: syncconnection: to the Orchestra Airbyte Server connection slug — confirm its stored host URL matches the Prefect block's airbyte_server_hostdepends_on: from upstream task dependenciesfrom prefect import flow, task
from prefect_airbyte.connections import AirbyteConnection
from prefect_airbyte.flows import trigger_sync_run_and_wait_for_completion
@flow
def sync_airbyte_server():
airbyte_conn = AirbyteConnection.load("my-airbyte-server-block")
# block points to https://airbyte.internal.example.com
trigger_sync_run_and_wait_for_completion(
airbyte_connection=airbyte_conn,
connection_id="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
)version: v1
name: sync-airbyte-server
pipeline:
stage-airbyte-sync:
tasks:
task-airbyte-sync:
integration: AIRBYTE_SERVER
integration_job: AIRBYTE_SERVER_JOB
name: Sync Airbyte Server
connection: airbyte_server_prod_12345
parameters:
connection_id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
job_type: sync
depends_on: []
condition: null
tags: []
depends_on: []parameters.connection_id, not on the connection: field — connection: is the Orchestra connection slug, not the Airbyte connection UUIDairbyte_server_host; a mismatch will silently sync the wrong connectionapi.airbyte.com = Airbyte Cloud — use airbyte-cloud-prefect-to-orchestra insteadAIRBYTE_SERVER_JOB polls internally — no separate sensor task neededjob_type is required; omitting it will cause a validation errorSee prefect-alerts-to-orchestra for all notification patterns.
3a29fe4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.