Webhooks
Send new sign-ups, finished videos and exports, publishes, new versions and new share links to your own addresses as signed JSON, for Zapier, Make, a CRM or your own code.
A webhook sends events from your workspace to an address you choose, within seconds. It works with Zapier, Make and HubSpot workflows: use their "Catch hook" or webhook trigger and paste its address. You can have up to 10 endpoints, each listening to its own events.
The events
- New sign-up (
lead.created): someone left their email on an animation that collects emails. - Video ready (
render.completed): an MP4 or GIF finished rendering. - Export ready (
export.completed): a background export, such as a platform pack, finished. - Published (
item.published): something was posted to a connected social account or placed on a site, now or on a schedule. - New version (
version.created): an animation, deck, graphic or logo was saved as a new version. - Share link created (
share.created): a share link was turned on for an animation, deck, graphic or logo.
Add an endpoint
- Go to Developers › Webhooks and choose Add endpoint.
- Paste the Address, give it a name if you like, and tick the Events to send.
- Copy its signing secret. It is shown only once.
- Choose Send a test to check it arrives.
For sign-ups, also tick Also send each sign-up to your CRM in each animation's Share › Leads tab.
Each endpoint has an On switch, Change events, New secret and Remove.
What we send
One POST per event, with Content-Type: application/json. Programmable-Event names the event and Programmable-Delivery carries its id, so you can ignore a repeat. A new sign-up's body has a type of lead.created, the lead's email and name, the animation it came from, and a source of embed or share (your share link). Every other event's body is described in the API documentation.
Checking the signature
The Programmable-Signature header is t=…,v1=…, where t is a Unix time and v1 is an HMAC-SHA256 of t, a dot and the raw body, keyed with that endpoint's secret. Compute your own and compare, and ignore deliveries older than 5 minutes.
Deliveries and retries
Recent deliveries on each endpoint shows what was sent and whether it worked. If your address doesn't answer with a 2xx, we try again after 1, 5 and 30 minutes and 2 hours, then mark it failed; Retry sends a failed delivery again.
Changing or removing one
Choose New secret if a secret may have leaked; the old one stops working right away. Remove stops sending to that address; new leads stay in Programmable.
If you set up a CRM webhook before endpoints existed, it is already listed here with the same address and secret, and sign-ups arrive in the same shape.