Zapier
Connect bannx to Zapier to render templates with data from the apps you already use. A new row in a sheet, a closed deal or a form reply can become an image, a PDF or a video, and the file URL can go on to Slack, Google Drive, an email or a social post.
What you can do
| Step | Type | What it does |
|---|---|---|
| Render Template | Action | Renders a template with your data to PNG, WebP, SVG, PDF, MP4, WebM or GIF and returns the file URL. |
| Find Template | Search | Finds a template by name, so a Zap can pick the template from earlier data. |
| New Render | Trigger | Starts a Zap when a template finishes rendering, from the editor, the API or another Zap. |
Connect your account
- In bannx, open Settings → Space → Developers and click Create API key.
- Leave the key's endpoint scopes unrestricted, or tick the three Zapier uses:
- Template Render API, to render.
- Template Read API, to list templates and read their fields.
- Webhook Subscriptions API, for the New Render trigger.
- In Zapier, add a bannx step, choose Sign in and paste the key.
Zapier names the connection after your space. The key works on that space only. Connect each space separately if you run more than one.
The New Render trigger also needs the key's owner to be allowed to manage webhooks in the space, like the space owner or an admin. A designer's key can render but cannot turn on that trigger.
Render Template
- Pick the Template. Its variables then appear as fields, with the template's own values as defaults.
- Map data from earlier steps into the fields. Leave a field empty to keep the template's value.
- Pick the Format.
- Optionally set a Size, a Brand, a saved Variation, or Use unpublished changes.
The step returns the file url, the format, creditsCharged and balanceAfter.
How each field takes its value:
| Variable type | What to enter |
|---|---|
| Text | Any text. |
| Number, integer | A number. Text that is not a number is passed as it is. |
| True/false | true or false; yes, no, 1 and 0 work too. |
| Image | An image URL, or a file from an earlier step. |
| Colour | A colour such as #6366f1. |
| List | A JSON list such as ["a","b"], or values separated by commas or new lines. |
| Object | A JSON object such as {"name":"Ada"}. |
Videos and GIFs
MP4, WebM and GIF renders can take longer than a Zap step may run. For those formats the step waits: bannx renders in the background and sends the result back to Zapier when the file is ready. The Zap continues from there, usually within a minute. A failed render fails the step with bannx's error message.
Size and brand
Size renders at another size without changing the template: a preset such as og, story or leaderboard, or WIDTHxHEIGHT such as 1080x1350. Brand renders with another brand of your space, by name or website URL. Both work as they do on the Render API.
New Render
Turn the Zap on and bannx tells Zapier each time a render finishes in the space. Pick a Template to only react to that template. Each render gives templateId, format, url and timestamp.
While the Zap is on, it shows in Settings → Space → Developers → Webhooks as a Zapier · render.completed webhook. Turning the Zap off removes it.
Credits
Zaps render with your space's credits, at the same price as any other render: a still costs 1 credit and a clip 5 by default. A render without enough credits fails the step with CREDITS_EXHAUSTED. See Rendering → Credits.
Troubleshooting
| What you see | Why | Fix |
|---|---|---|
bannx did not accept the API key | The key was revoked, expired, or mistyped. | Create a new key and reconnect. |
This API key is missing the template.read scope | The key is limited to other endpoints. | Edit the key's scopes in Settings → Space → Developers, or use an unrestricted key. |
not allowed to manage webhooks in this space when turning on New Render | The key's owner cannot manage webhooks. | Use a key created by the space owner or an admin. |
No template with that id in the key's space | The template was deleted, or the key belongs to another space. | Pick the template again. |
All error codes are listed on Errors.
For developers: the endpoints behind it
The Zapier app calls public routes that any automation tool can use with a bearer API key:
| Route | Scope | Use |
|---|---|---|
GET /api/v1/integrations/me | any key | Check a key; returns the space name. |
GET /api/v1/integrations/templates | template.read | List templates, newest first; search, page, perPage. |
GET /api/v1/integrations/templates/:id/fields | template.read | A template's variables as typed form fields. |
POST /api/v1/integrations/templates/:id/render | template.render | Render with form values; add callbackUrl to get the result posted there instead. |
POST /api/v1/integrations/hooks | webhook.manage | Subscribe a URL to render.completed; add a secret to get each delivery signed. |
GET /api/v1/integrations/hooks/:id | webhook.manage | Check a subscription still exists. |
DELETE /api/v1/integrations/hooks/:id | webhook.manage | Remove that subscription. |
GET /api/v1/integrations/renders | template.read | Recent renders, shaped like the webhook's data, up to 50. |
The full request and response shapes are in the API reference. Webhook deliveries follow the format on Webhooks.