Action components perform operations like sending notifications, creating records, or updating data. They’re typically the “end points” of your automation flows.
Important: Action components always execute their side effects when reached, even if their outputs aren’t connected to downstream nodes. This ensures emails are sent, tasks are created, etc.
Send the email on behalf of a specific role (e.g., Account Owner, CSM). The email is sent from the connected person who holds that role on the account.
Connected Person
Dropdown showing people connected to the account in the selected role. Automatically populated based on the chosen role.
To: @account_data.owner_emailSubject: Action Required: @account_data.name health score droppedBody: Hi @account_data.owner_name, The health score for @account_data.name has dropped to @account_data.health_score. Please review and take appropriate action.
Sends a single email to multiple recipients in a To / CC / BCC layout — useful for digests, weekly roll-ups, and shared announcements. Unlike Email Template V2 (which sends one personalized email per recipient), Consolidated Email sends one message that everyone in the audience receives together.
Select the template to send. Templates that reference {{ contact.* }} variables are not allowed here because per-recipient personalization isn’t possible in a single email.
To (Audience)
Segment whose contacts populate the TO field. All TO recipients see each other.
CC (Audience)
Optional segment whose contacts populate the CC field.
BCC (Audience)
Optional segment whose contacts populate the BCC field.
Test Mode
Toggle to send only to the test email below (skips HIL and recipient lists).
Send a weekly account digest to a CSM, their manager, and the AE on CC
Notify a customer’s executive sponsor and copy the internal team
Broadcast a release announcement to a curated audience
If the To audience has multiple recipients, the template body must not include {{ contact.* }} variables — those resolve per-recipient and can’t be personalized in a consolidated send. Use Email Template V2 instead if you need personalization.
Send Consolidated Email supports Human-in-the-Loop. When approval is required, the pending email shows the full TO / CC / BCC list and the resolved email body so reviewers can confirm the audience before sending.
Sends a direct message from the Statisfy Slack app to a specific person on Slack. Use this when you want to reach an individual privately instead of posting in a channel.
The DM body — supports markdown and @ notation. Markdown is auto-converted to Slack’s mrkdwn format.
Notify Person or Role
Choose who to message. You can target a specific person by email, or a role (e.g., Account Owner, CSM) — the role is resolved to the connected person on the relevant account.
Title: Follow up with @account_data.nameDescription: Health score dropped. Review and schedule call.Assignee: @account_data.owner_emailDue Date: (3 days from now)Priority: High
Select stored secret for credentials (from Settings > Secrets)
API Key Header/Param Name
Header or query param name for API key (shown when auth = API Key)
API Key Location
Send API key in Header or Query Parameter (shown when auth = API Key)
Username
Username for Basic Auth (shown when auth = Basic Auth)
Send Custom Headers
Toggle to add custom HTTP headers
Headers (JSON)
Custom headers as JSON, e.g. {"X-Custom": "value"}
Send Query Parameters
Toggle to add URL query parameters
Query Parameters (JSON)
Query params as JSON, e.g. {"page": "1"}
Send Request Body
Toggle to add a request body (for POST/PUT/PATCH)
Request Body (JSON)
JSON request body
Timeout
Request timeout in seconds (default: 30)
Max Retries (rate limits)
How many times to retry when the API responds with 429 Too Many Requests. Retries honor the response’s Retry-After header (falling back to exponential backoff), plus a small random delay. Default 3; set to 0 to disable. Range 0–10.
Follow Redirects
Whether to follow HTTP redirects (default: true)
Strict JSON Parsing
When enabled, invalid JSON in the request body, headers, or query parameters fails the component and logs the error to the Logs tab. When disabled (default), malformed JSON is silently ignored and the request still runs.
All credentials are retrieved securely from Google Secret Manager. Configure your secrets in Settings > Secrets before using authentication.
If the external service rate-limits you (HTTP 429), API Call V2 automatically retries up to Max Retries (rate limits) times before failing — waiting as long as the service’s Retry-After header asks. Raise this for strict-quota APIs, or set it to 0 to fail fast instead of waiting.
A non-2xx HTTP response (any 4xx or 5xx status) now fails the component and stops the flow at this node — downstream nodes do not run, and there is no error response for a later node to inspect. The status code and a short response snippet are written to the flow’s Logs tab. If you need to guard against failures, do it before the API Call — for example, validate inputs upstream, or run a separate lightweight probe request earlier in the flow and branch on its result.
The workflow pauses at the Human-in-the-Loop node. An approver reviews the generated email in Statisfy and approves or rejects it. If approved, the workflow continues and sends the email.
Approval requests appear in the Approvals section in Statisfy. Enable Slack notifications to alert approvers immediately.