Skip to main content

Overview

Workflows let you chain multiple enrichment steps into automated pipelines. Trigger them manually, on a schedule, or via webhook.

Key concepts

Step types

Trigger types


API Endpoints

All workflow endpoints are authenticated with your enc_ API key.

List Workflows

Query parameters: Example:

Create Workflow

Body: Example:

Get Workflow

Returns the full workflow definition including trigger, steps, and metadata.

Update Workflow

Updates the workflow. A new version is automatically created before the mutation (immutable version history). Body: Same fields as Create.

Delete Workflow

Permanently deletes a workflow and all its run history.

Trigger a Run

Manually trigger a workflow execution. Supports idempotency. Headers: Body: Example:

Version History

Returns all immutable versions of a workflow (created automatically on each update).

Audit Log

Returns the audit trail for a workflow (who created, updated, ran it and when).

Webhook Token

Get or create a public ingest token. The token enables triggering the workflow via:
This public endpoint requires no JWT, so anyone with the token can trigger the workflow.

Runs

List All Runs

Query parameters:

Get Run Detail

Returns the run with step-by-step results, timing, and status.

Cancel a Run

Cancels a currently executing run.

Delete a Run

Deletes a completed or failed run.

Templates

List Templates

Query parameters: Returns pre-built workflow templates you can clone using template_id in the Create endpoint.

Bulk enrichment from a file

Upload a list of identifiers (emails, one per row in CSV, TXT, MD, XLS, XLSX, DOCX, or PDF; max 60MB) and the workflow enriches every row, then produces a downloadable CSV of the results. This reuses the same lookup steps as a single run.

Upload a file

Send the file as multipart form data in the file field. The response includes a file_id, the detected row_count, and the identifier_type.

Run over every row

Trigger the run with the returned file_id in the body. The worker enriches each row, charges credits per row (cache hits are free), and writes a CSV.

Download the result

Once the run completes, the CSV is available from the Runs page or via:
This redirects to a short-lived link to the generated CSV.

Export destinations

The export step sends enriched records to a destination. Set config.provider to one of: Field mapping is optional. Leave it empty to write all enriched columns automatically, or map specific fields with {{path}} templates, for example {{steps.email_lookup.result.company}}. For CRMs, mapped fields become record properties. Webhook example:

Authenticating webhook deliveries

Workflow webhook and export (provider webhook) steps send a plain HTTP POST by default, with no signature. This is intentional so they can deliver to Zapier, Make, or any inbound webhook that does not verify a signature. If your receiver verifies authenticity, note that these are a different sender from platform webhooks (configured in Settings, Webhooks), which always sign their deliveries. A receiver that requires a valid X-Encrata-Signature will reject an unsigned workflow delivery with 401. You have two ways to authenticate the workflow delivery:
  • Signing secret (recommended). Set config.secret on the step. Encrata then signs the request body with an X-Encrata-Signature header (HMAC-SHA256 hex), the same scheme as platform webhooks, so your existing signature-verification code accepts it unchanged.
  • Custom header. Add an Authorization: Bearer <token> (or any header) under config.headers and check it on your receiver.
Register the exact final receiver URL — correct host (e.g. www.) and no trailing slash. A mismatch triggers a 307 redirect, and clients that drop the body or Authorization header on redirect will produce a signature/token mismatch and a 401, even when the secret is correct.
Register the exact receiver URL, including the www host and no trailing slash. A host or slash redirect returns 307, which Encrata records as a failed delivery.
Connected app example:

Integrations

Connect the apps your Export steps write to on the Integrations page in the dashboard. Connections use OAuth with automatic token refresh, and Encrata never stores the third-party credentials. To connect an app, open Integrations, pick an app (for example Google Sheets, HubSpot, or Salesforce), and complete the OAuth flow. The connection then appears as a choice in any Export step’s “Connected app” destination. For Google Sheets, the Export step can create a fresh spreadsheet for you with one click, so there is no spreadsheet ID to copy. See the Workflow Integrations API for the underlying endpoints.

Execution Logs

Returns detailed execution logs for a specific run, including per-step timing and outputs.

Rate Limits

Workflow runs are rate-limited to 60 runs per minute per user. Each run has a retry budget of 3 attempts on transient failures.

Credits

Each enrichment step in a workflow consumes credits at the same rate as the corresponding standalone API call. Non-enrichment steps (condition, delay, webhook, transform, export) are free. In a bulk file run, credits are charged per enriched row, and cache hits are free.