Custom ETL and Orchestration Integrations (Private Preview)

โ„น๏ธ

This feature requires an Enterprise or higher plan to use.

This feature is in Private Preview. See here for more information on what this means.

๐Ÿ‘

AI-first by design

Each building block ships with Claude skills that handle the implementation work: scaffolding, code generation, testing, and deployment.

  • Custom Connectors: skills scaffold, implement, and deploy a connector through guided conversation.

Monte Carlo natively supports many ETL and orchestration tools (Airflow, dbt, Fivetran, and more). Custom ETL integrations let you bring pipeline tools that Monte Carlo doesn't natively support โ€” or customize how Monte Carlo collects from a tool it does support.

โ„น๏ธ

In scope: pipeline orchestrators, transformation tools, and any system that runs jobs with trackable status (Airflow, Coalesce, Talend, Control-M, dbt Cloud, Azure Data Factory, etc.)

Looking for SQL-based data source integrations instead? See Custom SQL Integrations.

Custom ETL integrations give you two building blocks. You can use them individually depending on your needs.

Building blocks

ETL Push Ingest APICustom ETL Connector
Job MetadataYesYes
LineageYesYes
Run historyYesYes
Run Failure AlertsYesYes
SchedulingNoYes

When to use each

ETL Push Ingest API โ€” You push pipeline metadata and run events directly to Monte Carlo using the pycarlo SDK or HTTP. Use it when:

  • You already have orchestration that can call an API after each pipeline run
  • You want full control over when and how data is sent
  • You can't deploy the Monte Carlo agent in your infrastructure

Custom ETL Connector โ€” You implement two Python methods (fetch_metadata and fetch_run_details) and deploy a connector inside Monte Carlo's agent. The agent handles scheduling, pagination, and delivery. Use it when:

  • You want Monte Carlo to automatically collect on a schedule
  • You want webhook-triggered collection for near-real-time failure detection
  • You prefer a managed framework over writing your own push pipeline

Architecture

Both approaches deliver data to the same Monte Carlo backend and produce the same result โ€” pipeline visibility, failure alerting, run duration tracking, and cross-domain lineage.

flowchart LR
    subgraph push ["Push Ingest API"]
        A["Your script, pycarlo SDK or HTTP"] --> B["Integration Gateway"]
    end
    subgraph connector ["Custom ETL Connector"]
        C["Vendor ETL API"] --> D["Your Connector, fetch_metadata | fetch_run_details"]
        D --> E["Agent Framework, scheduling + pagination"] --> B
    end 
    B --> F["Monte Carlo, pipeline catalog ยท lineage ยท alerting"]

Data model

Both building blocks use the same data model:

  • EtlAsset โ€” structural metadata about a job (name, tasks, schedule, lineage)
  • EtlRunEvent โ€” execution data for a specific run (status, timing, errors, task-level breakdown)

The schemas are defined by pycarlo dataclasses. See the Push Ingest API reference for the full field-by-field breakdown.

Feature Support

For either deployment style (Push-based or Custom ETL Connector) the exact features supported will depend on how much of the event schema you are able to populate. Either style is able to support up to this feature set when fully-implemented:

CategoryCapabilitySupport
JobsJob Failure Alertsโœ…
JobsWebhook triggered collectionโœ…
JobsJob Run historyโœ…
LineageTable-to-Table Lineageโœ…
LineageTask-to-Task lineageโŒ
LineageColumn-level lineageโŒ

FAQs

Is this the same as the existing orchestration integrations?

No. Monte Carlo's native orchestration integrations (Airflow, dbt, Fivetran, etc.) are built-in and require no custom code. Custom ETL integrations are for tools Monte Carlo doesn't natively support.

What's the difference between this and Custom SQL Integrations?

Custom SQL Integrations are for SQL-based data sources (warehouses, lakehouses, transactional databases). They push table metadata, query logs, and lineage, and optionally execute SQL queries.

Custom ETL Integrations are for pipeline orchestration tools. They push job/pipeline metadata and run events โ€” "did this pipeline run, and did it succeed?"



Did this page help you?