Skip to content

Workflows (beta)

When one answer isn't the job, draw the whole job

Workflows chain your agents with classification, extraction, guardrails, MCP tools, HTTP calls, Slack and email. Lay the steps out on a canvas, test the draft, publish it, then trigger it from any system that can send a webhook.

200 free credits when you sign up. No card needed.

The designer

Steps are nodes, connections are edges. Each step can use the run's input and any earlier step's output in its settings.

  • Changes save as you go; leaving the page mid-edit keeps a local copy that's restored next time.
  • A run log shows each step's status, output and timing.
  • Runs carry on in the background if you close the tab.
Template values in a step
Customer {{input.email}} wrote:{{input.message}}Category: {{steps.classify_1.output}}Order: {{steps.extract_1.output.order_id}}
StartWebhook: a support email arrives
Classifybilling, bug or other
Conditioncategory is billing?
AgentBilling agent drafts a reply
GuardrailPII check
Send emailReply to the customer
ExtractProduct, steps, severity
Slack messagePost to #support

Blocks

Fifteen step types.

Workflow blocks
StartThe run's input: the fields you define, checked on every run
AgentAsks one of your agents, with its knowledge and tools
Knowledge lookupSearches an agent's knowledge without writing an answer
ClassifySorts text into labels you describe; each label is its own exit on the canvas
ExtractPulls typed fields (text, number, date, email, yes/no) out of text
Guardrail checkRuns built-in or custom checks and branches on pass or fail
MCP tool callCalls one tool on one of your MCP servers
HTTP requestGET, POST, PUT, PATCH or DELETE to any public URL
ConditionBranches on contains, equals, regex, empty or not
Set valueBuilds a value from earlier steps' outputs
DelayWaits up to 30 seconds
Send emailSends an email (100 a day per account)
Slack messagePosts to a Slack incoming webhook
WebhookPOSTs a JSON payload to your endpoint, signed with HMAC-SHA256
EndFinishes the run and sets its output

Guardrails

A Guardrail check block tests text before it moves on: a draft reply before it's emailed, or a customer's message before an agent sees it.

Guardrail checks
Built inPII, prompt injection, toxicity, off-topic and profanity
Your ownA plain-language rule checked by a model, a regular expression, or a list of blocked words
SafetyRegular expressions run with a time limit and a pattern length cap, so a bad pattern fails its step instead of stalling the run. An empty custom rule fails closed

Draft, test, publish

A workflow is a draft until you publish it. Publishing takes a snapshot; live runs only ever use that snapshot.

  • Test run, in the designer, runs the draft with input you type and shows each step as it goes.
  • Publish freezes the current draft as the live version. Keep editing the draft without touching what's live.
  • Back to draft stops live runs until you publish again.

Running a workflow

Two ways to start a live run of a published workflow.

By webhook

Every published workflow has a hook URL and a token (header X-Workflow-Token or ?token=). The JSON body becomes the run's input. The call answers 202 with the run id; add ?wait=true to wait up to 30 seconds for the result.

Webhook trigger
curl -X POST "https://app.sentientone.ai/api/workflows/hooks/$WORKFLOW_ID?wait=true" \  -H "Content-Type: application/json" \  -H "X-Workflow-Token: $WORKFLOW_TOKEN" \  -d '{"email": "sam@example.com", "message": "My invoice is wrong"}'

From your code

POST /v1/workflows/run with your secret key streams the run's steps as server-sent events, or returns the finished run as JSON with "stream": false.

API trigger
curl https://api.sentientone.ai/v1/workflows/run \  -H "Content-Type: application/json" \  -H "X-Api-Key: $SENTIENTONE_API_KEY" \  -d '{"workflow_id": "…", "mode": "live", "stream": false, "input": {"message": "My invoice is wrong"}}'

There are no scheduled triggers yet. Workflows can also run inside your own scheduler by calling either of these.

Outbound security

Workflows reach out to the internet, so their outbound calls are fenced in.

  • Webhook blocks sign each payload with HMAC-SHA256 over <timestamp>.<raw body> using the workflow's whsec_ secret, sent as X-SentientOne-Timestamp and X-SentientOne-Signature: sha256=….
  • HTTP, Webhook and Slack blocks resolve the host once, refuse private, loopback, link-local and other non-public addresses, connect to the checked address (no DNS rebinding) and don't follow redirects.
  • Signing secrets and Slack URLs are encrypted at rest with AES-256-GCM.

The same address guard protects MCP calls.

Limits and credits

Workflow limits and credits
Runs30 a minute per account, 5 at once (HTTP 429 TOO_MANY_RUNNING)
Webhook calls60 a minute per workflow, body up to 100 KB
Size50 nodes and 100 edges; a run takes at most 25 steps and 280 seconds
Agent step1 credit per reply
Classify, Extract, Guardrail1 credit each time they run
Outbound blocksA live run with an HTTP, Webhook, Slack or Email block costs 1 credit at start
Everything elseFree. Test runs and runs without outbound blocks don't pay the run credit; their Agent and AI steps cost the same as live

Automate the busywork around your agents

Sign up and you get 200 free credits, no card needed. Create an agent, add your knowledge, try it in the Playground, then call it from your code or put it on your website.