Pipelines

Create pipeline

Creates a new pipeline that continuously ingests data from a source system and sends each record to an agent for processing. Each source record creates a new agent session. A pipeline is distinct from an agent schedule, which is a recurring single execution of an agent. It is also distinct from a connector, which is a bidirectional chat integration like Slack. A pipeline is an automated, one-directional flow of all source data through an agent.

post/v2/pipelines

Headers

Request-Timeoutinteger

The platform makes a best effort to complete the request in the specified seconds, or it times out.

Request-Timeout-Millisinteger

The platform makes a best effort to complete the request in the specified milliseconds, or it times out.

Request body

keystring

The unique key for the pipeline. You can provide the key, or the platform generates one.

namestring required

The human-readable name of the pipeline.

descriptionstring
sync_mode'incremental' | 'full_refresh'

How the pipeline syncs data from the source.

  • incremental: Only process new or changed records since the last watermark.
  • full_refresh: Process all records from the source on each run.
enabledboolean
metadataobject

Example request

{
  "key": "sharepoint-legal-ingest",
  "name": "SharePoint Legal Docs Ingest",
  "source": {
    "type": "sharepoint",
    "site_url": "https://contoso.sharepoint.com/sites/legal",
    "tenant_id": "72f988bf-86f1-41af-91ab-2d7cd011db47",
    "client_id": "0a1b2c3d-4e5f-6789-abcd-ef0123456789",
    "folder_path": "/Contracts/2026"
  },
  "trigger": {
    "type": "cron",
    "expression": "0 */6 * * *"
  },
  "transform": {
    "type": "agent",
    "agent_key": "customer_support",
    "verification": {
      "type": "condition",
      "expression": "get('$.output.status') == 'success'",
      "reason_expression": "'Status was ' + get('$.output.status')"
    }
  },
  "processing_options": {
    "record_timeout_minutes": 60,
    "max_concurrent_records": 6
  }
}

Response

The created pipeline.

keystring required

The unique key for the pipeline. You can provide the key, or the platform generates one.

namestring required

The human-readable name of the pipeline.

descriptionstring

A description of what this pipeline does.

sync_mode'incremental' | 'full_refresh' required

How the pipeline syncs data from the source.

  • incremental: Only process new or changed records since the last watermark.
  • full_refresh: Process all records from the source on each run.
status'initializing' | 'active' | 'paused' | 'error' required

The current operational status of the pipeline.

status_messagestring nullable

Human-readable status details, such as an error description.

enabledboolean required

Whether the pipeline is enabled. Disabled pipelines do not run on their trigger schedule.

metadataobject

Arbitrary key-value metadata for the pipeline.

created_atstring date-time required

When the pipeline was created.

updated_atstring date-time

When the pipeline was last updated.

Example response

{
  "key": "sharepoint-legal-ingest",
  "name": "SharePoint Legal Docs Ingest",
  "description": "Ingests legal contracts from SharePoint and indexes them into the legal corpus.",
  "source": {
    "type": "sharepoint",
    "site_url": "https://contoso.sharepoint.com/sites/legal",
    "tenant_id": "72f988bf-86f1-41af-91ab-2d7cd011db47",
    "client_id": "0a1b2c3d-4e5f-6789-abcd-ef0123456789",
    "folder_path": "/Contracts/2026"
  },
  "trigger": {
    "type": "cron",
    "expression": "0 */6 * * *"
  },
  "transform": {
    "type": "agent",
    "agent_key": "customer_support",
    "verification": {
      "type": "condition",
      "expression": "get('$.output.status') == 'success'",
      "reason_expression": "'Status was ' + get('$.output.status')"
    }
  },
  "processing_options": {
    "record_timeout_minutes": 60,
    "max_concurrent_records": 6
  },
  "watermark": {
    "value": "2026-02-19T08:00:00Z"
  }
}

Changes

Changed in 4 of the 7 revisions of this API.3116

  • abd45fb0c97413See the full diff
    • added to the response property oneOf list for the response status

      response-property-one-of-added

    • added wolken_tickets discriminator mapping keys to the request property

      request-property-discriminator-mapping-added

    • added to the request property oneOf list

      request-property-one-of-added

    • added wolken_tickets discriminator mapping keys to the response property for the response status

      response-property-discriminator-mapping-added

  • 0d51a9e3a0b3210See the full diff
    • the ///////// response property's max was increased from 20.00 to 50.00 for the response status

      response-property-max-increased

    • added to the response property oneOf list for the response status

      response-property-one-of-added

    • added the new optional request property

      new-optional-request-property

    • added the new optional request property /////////

      new-optional-request-property

    • request property ///////// deprecated

      request-property-deprecated

    • added docebo discriminator mapping keys to the request property

      request-property-discriminator-mapping-added

    • the ///////// request property's max was increased from 20.00 to 50.00

      request-property-max-increased

    • added to the request property oneOf list

      request-property-one-of-added

    • added the optional property to the response with the status

      response-optional-property-added

    • added the optional property ///////// to the response with the status

      response-optional-property-added

    • response property source/oneOf[WebSourceConfiguration]/allOf[BaseWebSource]/max_concurrent deprecated

      response-property-deprecated

    • added docebo discriminator mapping keys to the response property for the response status

      response-property-discriminator-mapping-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new optional request property //////////

      new-optional-request-property

    • added the optional property ////////// to the response with the status

      response-optional-property-added

    • added the new maps enum value to the ///////// response property for the response status

      response-property-enum-value-added

    • added the new maps enum value to the request property /////////

      request-property-enum-value-added