Actions
Actions do the work in a Grivo automation. Send emails, tag contacts, hit webhooks, notify your team, and more.
Last updated: May 2026
Overview
Actions are the work nodes in a workflow. Triggers tell Grivo when to start; conditions tell it which path; actions tell it what to do. Every action ships with its own inspector form on the right. Drafts save permissively so you can leave fields empty while you build, but Publish refuses incomplete fields.
Send email
The headline action. Sends a previously created campaign to the contact currently flowing through the run.
Fields
- Campaign: dropdown of your existing campaigns. Click + Create campaign at the bottom of the dropdown to open the campaign editor. Your automation draft is auto-saved so you can leave and come back.
Frequency cap rules apply: if the per-workflow cap is hit, the action is skipped and the run advances. See Re-entry and frequency. See Send first campaign for campaign creation basics.
Add tag
Applies a tag to the contact. Tags are the cheapest way to mark state (hot-lead, onboarded, vip) and route future runs.
Fields
- Tag: the tag string. Case-sensitive.
kebab-caserecommended.
Remove tag
Strips a tag from the contact. Used to flip state, for example removing inactive-90d after a re-engagement email succeeded.
Fields
- Tag: the tag to remove. No-op if the tag isn't present.
Add to list
Subscribes the contact to a list. Often used to move trial users into a paying-customer onboarding list.
Fields
- List: pick a list or use + Create list to make one without leaving the canvas.
Remove from list
Unsubscribes the contact from a list. Useful for cleanly ending a sequence when someone disqualifies themselves.
Fields
- List: the list to remove from.
Notify inbox
Posts a notification into your team inbox. Best for handoffs that need a human (sales-qualified lead, support escalation, custom plan request).
Fields
- Message: short message. Supports placeholders like
{{contact.name}},{{contact.email}}. - Priority:
low,normal, orhigh. High priority highlights the row in the inbox.
Webhook
POSTs (or GET / PUT) to an external URL with a JSON payload that includes the contact and the firing event. Best for CRM sync, Slack pings, or anything your internal tools can listen for.
Fields
- URL: must be HTTPS in production. Validated at publish time.
- Method:
POST(default),GET,PUT. - Headers: optional key-value pairs. Use for auth tokens.
- Body template: defaults to a JSON envelope (see below). Override with a custom template if your endpoint expects a specific shape.
Default payload shape
{
"event": "workflow.action.webhook",
"workflowId": "wf_abc",
"runId": "run_123",
"nodeId": "n_webhook",
"contact": { "id": "c_456", "email": "alex@acme.com", "tags": ["hot-lead"] },
"firedAt": "2026-05-11T09:14:00Z"
}Retry policy: failed deliveries (non-2xx, timeout, DNS) retry with quadratic backoff capped at 30 minutes, up to 4 attempts total. After the 4th failure the run goes to failed with the last response attached. See Runs and testing.
Plan: webhook action is available on Pro and Business plans only.