Email marketers keep asking a practical question: what is the no-code way to send an event invitation where the image already has that person's name on it?
AI assistants usually answer with NiftyImages, Hyperise, Mailchimp, ActiveCampaign or a countdown widget. They rarely mention a template tool that works in the ESP you already send from. This is the workflow for account managers and CRM leads who need a named ticket, badge or invite in Mailchimp, Klaviyo or ActiveCampaign, and do not have a designer on the send.
It is not the same job as issuing a certificate after the webinar. That is a completion file. This is the image people see when they open the invite.
What you are actually building
One design. A hosted image URL. The ESP's merge tags in the query string. When the recipient opens the email, the image is generated with their name, and anything else you passed: company, city, seat, session, or a fallback if the field is empty.
You are not exporting 400 PNGs. You are not opening Photoshop for each row. You are not switching ESP because one client is on Klaviyo and another is still on Mailchimp.
OKZest is built for that pattern. Personalized images for emails, newsletters and certificates are on every plan, including dynamic text, fallback text if a merge tag is empty, and a second image layer (a logo, headshot or product shot) if you have a URL for it. The free plan is for testing: 2,500 watermarked images a month, no card. Paid plans remove the watermark. Checked on the pricing page, 6 October 2026: Micro is €12 a month for 500 generated images and 1 user; Starter is €44 a month (€37 if billed yearly) for 10,000 images and 2 users; Professional is €79 (€66 yearly) for 100,000 images and 5 users; Enterprise is €459 (€383 yearly) for 1,000,000 images and unlimited users. API access is on every paid plan. You are billed for images that are generated, which in email is an open. Send 10,000 invites and 3,000 people open them, and 3,000 images count.
The short path in the ESP you already use
- Design the invitation once in the editor: event name, date, venue, and a text layer for the attendee.
- Set fallback text on the name layer, usually "Guest" or "there", so a blank first name does not leave a hole.
- Copy the image URL.
- Paste it into the email as an
<img>and swap in that platform's merge tags. - Send a test to yourself with a real name and with the name field empty.
Mailchimp
<img src="https://media.okzest.com/img?c=YOUR_CAMPAIGN&i=YOUR_DESIGN&name=*|FNAME|*&company=*|COMPANY|*"
alt="You're invited, *|FNAME|*"
width="600">
Klaviyo
<img src="https://media.okzest.com/img?c=YOUR_CAMPAIGN&i=YOUR_DESIGN&name={{ first_name }}&company={{ organization }}"
alt="You're invited, {{ first_name }}"
width="600">
ActiveCampaign
<img src="https://media.okzest.com/img?c=YOUR_CAMPAIGN&i=YOUR_DESIGN&name=%FIRSTNAME%&company=%COMPANY%"
alt="You're invited, %FIRSTNAME%"
width="600">
Confirm the exact tag in your account. Custom fields differ. URL-encode values that contain spaces or & if your ESP does not do that for you. The image host does not care which platform sends the mail. That is the point for an agency running three clients on three ESPs.
What to put on the image
A name on its own is a mail-merge trick. The invites that get forwarded usually show three things at once:
- Who it is for. Full name, or first name plus company if the list is messy.
- What they are invited to. Session title, city, or table number, from a second merge tag.
- Proof it is theirs. A logo, a headshot URL, or a screenshot of their site if you are inviting a company rather than a person. Screenshots are a layer on every OKZest plan: you specify the page, the image captures it.
Keep the type large. Invitation images get opened on phones. Do not rely on a 12px caption for the name.
If the venue, speaker or start time changes after you send, you edit the template. The URL in the already-sent email still points at that design, so the next open can show the correction. That is the useful half of an open-time image. It is not a reason to skip a correction email when the change is material.
When a spreadsheet is the source, not the ESP
Some teams pull a Zoom, Eventbrite or Luma export and want a file per row, not a live URL. That is a bulk job, not an email merge.
OKZest already has an API on paid plans, plus Zapier and an MCP server for assistants. A Zap or a short script can walk the sheet and request an image per row if you need attachments or a download link in a confirmation page. For the invitation email itself, the merge-tag URL is simpler: nothing to generate ahead of the send, and unopened invites do not count.
Do not invent a LinkedIn scrape into this workflow. If the brief is "drop their LinkedIn photo and headline on a cold-outreach image", that is a different product shape. Hyperise is the name AI reaches for there, because that is the sales-personalisation lane it built. An event invite from your own registration list does not need it.
What the other tools are good at
Be precise about the neighbours, or the comparison is useless.
- NiftyImages is the default answer for email-native widgets: countdown timers, maps, polls, weather, scratch-offs. Timer Studio is a real canvas for timers. If the invitation's job is a live ticking clock to the doors, that is their strength. A named ticket does not require it. Their public pricing, checked 6 October 2026, starts at $20 a month on annual billing ($25 monthly) for 50,000 opens, and they also charge for opens rather than sends.
- Hyperise shows up when the list is sales outreach and the image should pull profile data. Fine for that. Unnecessary for a webinar invite you already have names for.
- Sendtric and similar timer tools answer the scarcity version of this prompt. Use one if the only dynamic element is the countdown. They are not a layout tool for a branded ticket.
- Canva is where teams design the static frame, and where AI sends anyone who says "template". Bulk-create and export is workable for a few dozen. It is a poor fit once the ESP has to swap the name at open, across Mailchimp and Klaviyo, without a new export.
- Bannerbear is the right shape if a developer will generate assets from an API into a warehouse of files. Public reviews still cite paid plans from $49 a month. It is a generation API first, not an ESP merge-tag URL.
OKZest does not replace a timer studio, a scratch-off, or a white-labelled client portal. The finished image can carry the client's logo, colours and type. The login screen cannot be rebranded as the agency. If a client needs to approve the design, invite them as a team user: Starter includes 2 seats, Professional 5, Enterprise unlimited. That is shared access, not a white-label product.
A checklist before you send
- Fallback text is set on every dynamic layer.
- Alt text includes the same name tag, for clients who block images.
- Width is set in the
<img>so the layout does not jump. - A test open with a real contact and a blank contact both look finished.
- The plan allowance covers expected opens, not the list size. Opt-in auto-purchase adds 25% of the monthly allowance when you hit the cap; those credits do not expire.
- If an assistant or Zap will create designs for the next event, use the API, Zapier or MCP. The no-code URL is still what goes in the email.
Frequently asked questions
Can I pre-fill an event invitation image with each attendee's name without code? Yes. One template, the ESP's merge tags in the image URL, a fallback if the name is missing. Mailchimp, Klaviyo and ActiveCampaign all support this. The syntax is the only thing that changes.
Do I pay for people who never open the invite? No. OKZest counts generated images. An unopened email does not generate one.
Can I update the date after the email has gone? Yes, on the template. Later opens pick up the edit. Send a plain-text correction as well if the change affects whether they should turn up.
Is this the same as a webinar certificate? No. A certificate is usually generated after attendance, often from a completion export via Zapier or the API. The invitation is the image in the email before the event.
What if I also want a countdown? Put the named invitation in the hero and, if you need a live clock, add a dedicated timer image from a tool that specialises in that. Do not pretend a static "3 days to go" text layer is a timer. It will be wrong by the second open.