Automator
Workflows triggered by chat events. Refunds, escalations, custom webhooks — automate the boring parts.
The Automator is Humagician's workflow engine. Where the other agents read, talk, and analyze, Automator acts — calling Shopify, posting to Slack, hitting your webhooks based on what happens in conversations.
Configure at Operations.
What Automator does
Three flavors of work:
Built-in Shopify actions
Refund, cancel, modify orders. Edit cart. Update customer. Approval-gated by default.
Custom webhooks
Hit any URL with conversation context. Bring your own logic.
Flow builder
Visual editor for multi-step flows. Each node = one action.
When Automator runs
A flow can be triggered by:
- A conversation event — "this chat got tagged
refund-request", "customer mentioned 'order #1042'" - A model decision — Responder/Huey explicitly requests an action (with approval)
- A webhook from outside — your custom system pushes an event in
- Manual trigger — operator clicks Run automation on a chat
Built-in Shopify actions
Toggle individually in Operations → Configuration:
| Action | What it does | Default |
|---|---|---|
| Order lookup | Read order details (always on) | ✓ |
| Order create | Create a draft / live order | off |
| Order modify | Change line items, addresses | off |
| Order cancel | Cancel an open order | off |
| Cart modify | Adjust visitor's cart | off |
| Customer manage | Update customer profile | off |
| Draft order manage | Create / edit draft orders | off |
| Shopify GraphQL | Generic GraphQL access (advanced) | off |
Each action runs through BRAM, our governance gateway. BRAM enforces:
- Approval rules — high-risk actions (refunds > $X, customer deletion) pause for operator approval
- Audit logging — every API call logged with timestamp, user, params, response
- Per-tenant routing — your Shopify token never leaves your tenant
Custom webhook workflows
Operations → Custom Workflows lets you build a "press button → POST to your URL" flow:
Define the webhook
URL, method, optional secret for HMAC signing.
Define input fields
What the operator (or visitor) needs to enter to fire it. E.g. "Order number", "Reason for refund".
Choose surface
Operator only (button shows in chat header) or Widget visible (visitor can self-serve).
Test
Dry-run with a fake payload. Check your endpoint received the call.
Use cases: trigger a custom return-merchandise system, push to your CRM, escalate to a Slack channel, etc.
Flow builder
For multi-step automations, use the visual flow builder:
Operations → Flows → New Flow.
Each node is a step:
- Trigger — what kicks the flow off
- Action — Shopify call, webhook, message-back-to-chat, etc.
- Condition — branch on a field value
- Wait — pause for X minutes / until a webhook fires
- End — explicit terminator
Flows are versioned. Publish a draft when you're happy with it; the live version is what runs in production.
Approvals
Any high-risk action (refunds, cancellations, customer modifications) defaults to approval-required. The action is queued at Operations → Logs with a Pending approval tag. An operator opens it, reviews, approves or rejects. On approve the action runs.
Tune approval thresholds in Operations → Configuration (e.g. "Refunds under $50 don't need approval").
Backup model
Automator is hybrid by design — for risky decisions it can call a slower, deeper-reasoning model (the backup) for a second opinion before acting. You'll see backup-model usage in Insights → AI Usage.
Logs
Operations → Logs shows every Automator event: trigger, status (pending / success / failed / skipped), payload, response, error. Filter by source, status, conversation, or workspace.
For debugging, drill into a row to see the full request + response payload.
Tips
- Start with one workflow. Don't try to automate everything at once.
- Use approval mode liberally. Once you've watched a workflow run cleanly 50 times, lower the threshold.
- Webhook + Slack >>> direct Shopify changes. For non-trivial actions, let the operator confirm in Slack before the change happens. Slower, but huge sanity-check value.

