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

StepTypeWhat it does
Render TemplateActionRenders a template with your data to PNG, WebP, SVG, PDF, MP4, WebM or GIF and returns the file URL.
Find TemplateSearchFinds a template by name, so a Zap can pick the template from earlier data.
New RenderTriggerStarts a Zap when a template finishes rendering, from the editor, the API or another Zap.

Connect your account

  1. In bannx, open Settings → Space → Developers and click Create API key.
  2. 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.
  3. 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

  1. Pick the Template. Its variables then appear as fields, with the template's own values as defaults.
  2. Map data from earlier steps into the fields. Leave a field empty to keep the template's value.
  3. Pick the Format.
  4. 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 typeWhat to enter
TextAny text.
Number, integerA number. Text that is not a number is passed as it is.
True/falsetrue or false; yes, no, 1 and 0 work too.
ImageAn image URL, or a file from an earlier step.
ColourA colour such as #6366f1.
ListA JSON list such as ["a","b"], or values separated by commas or new lines.
ObjectA 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 seeWhyFix
bannx did not accept the API keyThe key was revoked, expired, or mistyped.Create a new key and reconnect.
This API key is missing the template.read scopeThe 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 RenderThe 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 spaceThe 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:

RouteScopeUse
GET /api/v1/integrations/meany keyCheck a key; returns the space name.
GET /api/v1/integrations/templatestemplate.readList templates, newest first; search, page, perPage.
GET /api/v1/integrations/templates/:id/fieldstemplate.readA template's variables as typed form fields.
POST /api/v1/integrations/templates/:id/rendertemplate.renderRender with form values; add callbackUrl to get the result posted there instead.
POST /api/v1/integrations/hookswebhook.manageSubscribe a URL to render.completed; add a secret to get each delivery signed.
GET /api/v1/integrations/hooks/:idwebhook.manageCheck a subscription still exists.
DELETE /api/v1/integrations/hooks/:idwebhook.manageRemove that subscription.
GET /api/v1/integrations/renderstemplate.readRecent 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.