- A webhook: Squad gives you a URL. Another app, such as GitHub, Stripe, Zapier, or your own code, sends events to it.
- An event in a connected app: for example a new email in Gmail or a new issue in GitHub, on an account that you connected.
Before you start
- To create, change, approve, pause, or delete triggers, you must be the owner or an Administrator. These are the same people who can save scheduled tasks. An Administrator who is limited to some agents manages only the triggers of those agents. See Invite teammates to your workspace.
- Collaborators and Viewers can open the Triggers tab and read the triggers of the agents they can use. They do not see webhook URLs, secrets, the settings of an app event, or what each event contained.
- For an app event trigger, connect the account yourself first. Only accounts that you connected are offered. See Connect apps.
Add a webhook trigger
Open Triggers
Start a new trigger
Choose a webhook
Name it
Pick the agent
Write the instructions
Pick the sender
Add the sender's secret (Stripe, Shopify, Standard Webhooks)
Choose the accounts (optional)
Set more settings (optional)
Create the trigger
Choose the sender
More settings
- Only send these fields (optional): one field path per line, such as
issue.titleordata.object.amount. The agent then gets only those fields. Leave it empty and the agent gets the whole event. The agent can still read the full event when it needs to. - Most runs per day: how many runs the trigger can start each day. Events past the limit are kept, not run. You can run them from the trigger’s page. For the default and the highest value, see Limits and defaults.
- Send the result to a URL (optional): an HTTPS address where Squad posts the result of each run. See Get the result back in your app.
Set up the sender
On the trigger’s page, Where events come from shows the URL, with Copy and New URL. Under Set up the sender, Squad shows the steps for your sender, with your URL already in them. For GitHub and HMAC signature, the secret is hidden. Select Show to see it, and the steps then include it. Select Copy to copy it.- URL only
- GitHub
- Stripe
- Shopify
- Standard Webhooks
- HMAC signature
- Zapier: add a Webhooks by Zapier action and choose POST. Set the URL to your trigger’s URL and the payload type to JSON. Map the fields that your agent needs, and test the step.
- Make: add an HTTP module and choose Make a request. Set the URL to your trigger’s URL, the method to POST, and the body type to JSON. Put the fields that your agent needs in the request content.
- n8n: add an HTTP Request node with the method POST. Set the URL to your trigger’s URL and send the body as JSON.
- Your own code: send a POST request with a JSON body to the URL. Optional: send an
Idempotency-Keyheader, so a request that you retry runs once.
Idempotency-Key header.
Send a test event
On the trigger’s page, select Send test event. Squad sends an example event shaped like the sender’s own events. It wakes the agent for real, and the agent is told that it is a test. The event shows with a Test tag under Recent events. Send test event works only while the trigger is on.Get the result back in your app
When you set Send the result to a URL (optional), Squad posts a JSON body to that URL each time a run ends. No result is sent when the agent was woken but no run started. The URL must start withhttps:// and use a public host name.
The body holds the trigger’s ID and name, the run’s ID and status, the events in the run, and result, a short summary of the agent’s final reply. See Limits and defaults. Squad signs it in the Squad-Signature header as t=<unix time>,v1=<signature>. The signature is the HMAC-SHA256 of <t>.<body> with the trigger’s callback signing secret, in hex. To copy that secret, select Copy its signing secret next to Result sent to on the trigger’s page.
If Squad cannot deliver the result, the event says “The result was not delivered to your callback URL” and the reason.
Add an app event trigger
Open Triggers
Start a new trigger
Choose an app event
Name it and pick the agent
Write the instructions
Pick the account
Pick the event
Fill in the event's settings
Choose the accounts and more settings (optional)
Create the trigger
- You cannot change the account or the event later. To listen for a different event or account, create a new trigger.
- If you have no connected accounts, the form says “You have no connected accounts yet. Connect one on the Integrations screen, then come back.”
- If the app offers no events, the form says “This app has no events Squad can listen for yet.”
- If an event needs a setting that the form cannot show, the form says so and you cannot save. Pick another event, or ask your agent to suggest the trigger with those settings.
Approve a trigger that an agent suggests
Agents can suggest triggers, for example when you ask for work to be done each time something happens. A suggestion does nothing until you approve it.Open the suggestion
Change it if needed (optional)
Approve or dismiss it
- A webhook suggestion has no URL until you approve it. Then set up the sender. See Set up the sender.
- An app event suggestion listens on your own account for that app. If you have not connected one, Squad says “Your own [app] account is not connected, and approving uses your own account. Connect it first, then approve.”
- Unless you chose otherwise with Edit first, the trigger’s runs use your own accounts and the shared ones.
Pause, change, or delete a trigger
Open the trigger from the Triggers tab, then:- If you change Who sends it, the secret changes with it. For GitHub or HMAC signature, Squad makes a new secret. Put it in the sender. For Stripe, Shopify, or Standard Webhooks, the trigger shows Needs a secret until you paste the sender’s secret. URL only has no secret.
- A paused webhook trigger still receives events. It keeps them as “Not run: the trigger was paused”, and wakes no one. Turn the trigger on, then select Run now on an event to run it.
- When you pause an app event trigger, Squad asks the app to stop sending that event, so events that happen while it is paused usually do not arrive. This does not apply while another trigger listens for the same event on the same account.
- Pausing also stops events that were waiting or being retried. Turn the trigger on, then use Run now or Retry.
- Squad sends no bell notification or email for suggested triggers, paused triggers, or failed events. Check the Triggers tab.
- When you pause an agent, its triggers stay on. Their events wait as “Held while the agent is paused”, and Squad delivers them when you resume the agent. See Add, change, and pause agents.
- When an agent is removed, its triggers pause. Give them to another agent, then turn them on.
What a trigger run looks like
Each time an event arrives, Squad wakes the agent with the trigger’s instructions and the event. A trigger runs one run at a time. Events that arrive during a run wait, and the next run gets them together. For how many events one run can carry, see Limits and defaults.- On Runs, a trigger run has the kind Trigger. Its title is “Webhook:” or “App event:” followed by the trigger’s name. Under ACTIVITY, the Triggers filter shows or hides these runs. See See what your agents did.
- On the trigger’s page, the line under the name shows the last event and today’s events and runs.
- Recent events lists the newest events, each with what became of it, such as Done, Agent working, or Could not wake the agent. For every outcome, see Statuses.
Check that it works
- Select Send test event. Under Recent events, the test event moves to Done.
- Select Open in Runs on the event to see the agent’s run.
- Send a real event from the sender. It shows under Recent events with a one-line summary, such as the sender’s event name.