GenerateBanners
Developer ToolsRender marketing banners, social images, and PDFs from GenerateBanners templates by substituting headlines, colors, and logos. Agents produce on-brand assets per record without a design request.
What This Integration Enables
GenerateBanners is organized around the URL rather than the file. Render Banner returns image bytes stored in FlowRunner file storage, but it also returns a signed render URL, and that URL is the interesting artifact. It is signed locally with your secret key, so it can be pasted straight into an email body or a web page without exposing the key, and the banner is produced when someone opens the message. Create Signed Render URL does the same thing server side when you want the link without downloading the picture. That design makes GenerateBanners the right tool for assets that need to exist at the moment a person looks at them: a header banner personalized to the recipient, an Open Graph image on a page that has not been crawled yet.
It also sets the terms of the risk. Rendering is synchronous and typically completes in under a second, identical requests are cached for thirty days, and templates expose their own named variables such as a title text or a logo background image. An agent that sends the wrong value, or no value, into one of those variables has published a link that will keep serving that render for as long as the cache holds it, inside messages that have already left. The connector's discovery operations exist to prevent exactly that: read the template's variable list, match it against the data, and treat any variable that comes back empty as an automation exception rather than a blank to fill with nothing.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Personalized email header banners at send time
An agent prepares a lifecycle campaign in Klaviyo. For each recipient it calls Create Signed Render URL against the approved header template with the recipient's first name, company, and plan tier, and writes the resulting link into the message as the header image source. No image is uploaded anywhere and no attachment is carried through the pipeline. The banner is produced by GenerateBanners the moment the message is opened, which means a hundred thousand personalized headers cost the campaign a hundred thousand strings rather than a hundred thousand files.
Open Graph images generated on publish
A post goes live in Webflow or WordPress. The agent reads the post title, author, and category, calls Render Banner against the social template, saves the image to FlowRunner file storage, and writes the signed URL back into the page's Open Graph tag. Every post gets a share image that matches the design system, including the posts nobody would have filed a design request for.
Print-ready PDF from the same approved template
Event and job listing artwork often needs to exist twice: as a social image and as something printable. Because GenerateBanners renders the same template as JPEG, PNG, or PDF, the agent produces both from a single set of variables when a new listing appears in HubSpot. The PDF path is where the agent slows down. Print is a one-way door, so before a batch goes to a print vendor the agent renders one PDF, posts it for review, and waits for a person to confirm the type sits correctly at print dimensions before the rest of the run is generated.
Human-in-Loop Highlight
The gate here is the empty variable, and it earns its place because of how GenerateBanners caches. Before a personalized send, the agent calls Get Template to read the variable names the banner actually accepts, maps each one to a field on the record, and counts the misses. When it finds them, it stops and posts to the campaign owner: "Template promo-header-q3 expects title_text, first_name, and plan_tier. 412 of 8,340 records have no plan_tier. Rendering them now produces a banner with an empty tier line, and the signed URL will keep serving that render from cache for up to thirty days inside messages that cannot be recalled. Approve fallback copy for those 412, or hold them out of the send?" The agent renders the clean records either way. It does not decide on its own what a customer should see where the data ran out.
Agent Capabilities
4 actionsTemplates
2- List Templates Retrieves the metadata of every banner template in your GenerateBanners account, including the identifier each one is rendered by. Used to resolve a template slug before a render, and to see which approved designs are available to a workflow.
- Get Template Retrieves a single template with its layers and the list of variables it exposes. This is the operation that tells an agent what a template will accept, so it is the natural place to validate a record's fields before rendering anything from it.
Banner Rendering
2- Render Banner Renders a banner from one of your templates and stores the result in FlowRunner file storage, returning both the FlowRunner file URL and the signed GenerateBanners render URL. The URL is signed locally with your secret key, so it can be embedded in a page or email without exposing the secret. Used when the workflow needs the image itself, for an attachment, an archive, or a downstream upload.
- Create Signed Render URL Asks GenerateBanners to sign a render URL for a template and its variable values, returning the link without downloading the image. Used when the asset should be produced on open rather than in advance, which is the pattern behind per-recipient email headers and dynamic share images.
Frequently Asked Questions
What can FlowRunner do with GenerateBanners?
FlowRunner agents can run List Templates, Get Template, and Render Banner in GenerateBanners, plus 1 more action.
Does connecting GenerateBanners to FlowRunner require OAuth?
GenerateBanners uses a custom authentication method to connect to FlowRunner.
Can GenerateBanners trigger a FlowRunner workflow automatically?
GenerateBanners doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with GenerateBanners
$100 in credits. No card required. Connect in minutes.