Skip to content

Webhook automations

Let another service start a saved automation through its own endpoint.

On this page

create the automation first#

Describe the action you want Puffle to perform and choose a webhook trigger. Confirm the workspace connections and any delivery destination before saving it.

Use the webhook URL shown for that automation. Each endpoint has its own request mode. Check that mode before configuring the sender.

choose the request mode#

Unsigned JSON accepts a JSON request without a signing secret. Anyone with the endpoint URL can trigger the automation, so treat the URL as a credential. Do not put it in a public document or repository.

Signed delivery requires requests signed with the configured secret and scheme. Save provider signing secrets through the secure configuration form. Use the signature format expected by that endpoint; a header invented by the sender will not verify.

send the event#

Configure the external service to send the required JSON payload to the current endpoint. This is an example payload, not a complete signed request:

{
  "event": "meeting.completed",
  "title": "Weekly product review",
  "notes": "Review the open launch questions."
}

Check that the saved action explains how to use the expected data. Missing fields can prevent the action from producing a useful result.

retries and duplicate events#

For unsigned requests, a sender can include webhook-id or x-puffle-delivery-id to identify a delivery. Reuse the same delivery ID when retrying the same event. Without an ID, repeated unsigned requests can create separate runs.

Signed requests must use the headers and replay window required by the configured scheme. Check the sender’s signing configuration when a request is rejected. Inspect run history before replaying an event that might already have produced an external action.

Need a hand with this?Contact support