Concepts
Step types
Trigger types
Build a workflow
1
Create the workflow
Define a See Create workflow for every field.
trigger and an ordered list of steps. Reference earlier data with
{{trigger.<field>}} and {{steps.<id>.result.<path>}} templates. New
workflows start as draft - activate them before they run.2
Run it
Post the trigger fields at the top level of the body - the whole body
becomes the run’s The run starts as
trigger_data, so {{trigger.email}} only resolves if
email is a top-level key. Pass an Idempotency-Key so a retry never
creates a duplicate run.pending. Runs are capped at 60 per minute per user.3
Read the result
Fetch the run to see per-step output, timing, and status. This one does
work with an API key.The response is
{ "run": {...}, "steps": [...] }. A finished run reports
status: "completed".Version history and the audit trail of who created, changed, and ran each
workflow are available in the dashboard.
Manage workflows and runs
Full request and response schemas live in the API reference:Workflows
List, get, and delete workflows with an API key.
Runs
List runs and read a run with an API key.
Templates
Browse pre-built step sequences. Dashboard-only.
Run a workflow
Trigger manually, or via a public webhook ingest token.
Bulk enrichment from a file
Upload a list of identifiers (emails, one per row in.csv, .txt, .md,
.xls, .xlsx, .docx, or .pdf; max 32 MiB) and the workflow enriches every
row, then produces a downloadable CSV of the results. This reuses the same lookup
steps as a single run.
File upload and download are dashboard operations. With an API key, use
Bulk operations instead.
Upload a file
file field. The response includes
an id, the detected row_count, and the identifier_type. Uploads are capped
at 10 per minute.
Run over every row
Trigger the run with the returned fileid in a file_ids array. The worker enriches each
row, charges credits per row (cache hits are free), and writes a CSV.
Download the result
Once the run reportsstatus: "completed", the CSV is available from the Runs
page or via:
Export destinations
Theexport 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
Workflowwebhook 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.secreton the step. Encrata then signs the request body with anX-Encrata-Signatureheader (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) underconfig.headersand 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.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
Read detailed per-step timing and output for any run:Rate limits
Workflow runs are limited to 60 runs per minute per user. Each run retries up to 3 times on transient failures.Credits
Each lookup step charges credits at that lookup’s standard rate. Non-lookup steps (condition, delay, webhook, transform, export) are free. In a bulk file run, credits are charged per enriched row, and cache hits are free. See Credits.
Next steps
- Workflows API: Full request and response schemas for every endpoint.
- Bulk operations: Run a single lookup over a large list without building a workflow.
- Webhooks: Verify and handle deliveries from export steps.
- Integrations: Connect the apps your export steps write to.