Automations
An automation is three things: a trigger (one tracked signal), an optional condition (the session completed a conversion), and up to ten actions. When the signal fires on a session, every action delivers independently and you can see each delivery in the run log.
Automations live at Property > Automations in the dashboard (https://app.snipform.io/property/{property}/automations).
WHEN a form is submitted (trigger: signal + value)IF the session completed "Demo booked" (condition, optional)THEN post to #sales in Slack (action 1) send a webhook to my CRM (action 2) create a contact (action 3)Triggers
Section titled “Triggers”| Trigger | Value | Fires when |
|---|---|---|
| A form is submitted | a form, or any form | A non-spam submission lands on the property |
| An event fires | exact event name | signals('purchase') runs with that name |
| A page is viewed | exact path | A visitor lands on /thank-you |
| A purchase is recorded | none | Revenue or cost lands on a session (checkout webhook, tracker, API) |
| A visitor is identified | none | An anonymous session is linked to a contact |
| A contact is created or updated | created, updated, or either | A contact record changes |
Every trigger is a specific signal. There is no “all traffic” trigger. See Triggers and conditions for matching rules and the condition.
Actions
Section titled “Actions”- Post to Slack - a Block Kit message in a connected channel, with the details that matter.
- Send a webhook - the full signed envelope, POSTed to your HTTPS endpoint and retried.
- Trigger a Zap - a flattened payload for a Zapier catch hook.
- Create a contact - turn a form submission into an identified contact linked to its session.
Webhook and Zapier actions are available on paid plans. Slack needs a connected channel first (Integrations).
Exactly once per session
Section titled “Exactly once per session”A session trips an automation at most once. The pair (automation, session) is unique, so a visitor who views /pricing five times fires a “page is viewed” automation once. The second and later matches are free no-ops.
Bot sessions never trip automations. Outright spam form submissions never reach them either; submissions the spam scorer only flagged do, and the contact action lets you decide what to do with those.
Timing
Section titled “Timing”| Situation | Delay before the first delivery |
|---|---|
| No condition | About 5 seconds after the signal (enough for the event to be queryable) |
| With a conversion condition | About 60 seconds, so the session’s conversion state has settled before it is assessed |
Retries and failure
Section titled “Retries and failure”Each action retries on its own: an immediate attempt, then again after 2 minutes, then after 15 minutes. Three failures mark that delivery failed; the other actions on the same run are unaffected.
An automation that keeps failing is auto-disabled once both of these are true: 15 consecutive failed deliveries, and the first of those failures was at least 3 days ago. A weekend outage on your endpoint does not kill an automation. Re-enabling resets the counters.
You can pause and resume any automation yourself. Deleting one deletes its run history too.
The run log
Section titled “The run log”Every trip is a row with one of four states:
| State | Meaning |
|---|---|
| In progress | The signal matched and the run is queued or delivering |
| Delivered | Every action landed |
| Failed | At least one action exhausted its retries |
| Invalidated | Assessed and found irrelevant: the condition was not met, the session was a bot, the automation was removed, or it had no actions |
Under each row, every action shows its attempts, HTTP status, response time, and the error or note it came back with.
Test sends
Section titled “Test sends”The Test button on an automation queues a run with a representative sample payload instead of a real session. The payload carries "test": true at the top level so your endpoint can tell. Slack and webhook actions really deliver; the contact action reports “Test run - no contact created” and writes nothing.
The webhook secret
Section titled “The webhook secret”An automation with a webhook action gets a signing secret (whsec_...) the moment it is created. It is shown once, in the success message after you save. Every delivery from that automation is signed with it. If you lose it, create a new automation.
Managed automations
Section titled “Managed automations”Some integrations register automations of their own. The Google Ads conversion send, for example, appears in the list with a note saying which integration owns it. You can see its run log but not edit or delete it; turning the feature off in the integration removes it.