Hyperise can generate personalized images for an audience, while Volanea can deliver the email that contains them. This guide explains how to send email from Hyperise with Volanea through Zapier or Make, because Hyperise does not provide a native Volanea app or marketplace connection.
The integration model: Hyperise creates, Volanea sends
Hyperise and Volanea solve adjacent parts of an outbound workflow. Hyperise is used to produce personalized visual assets, such as an image containing a recipient’s name, company, logo, website screenshot, or other merge-field data. Volanea is the sending layer: it accepts an email request over SMTP or REST, applies the sender configuration associated with your account, and hands the message to email infrastructure for delivery.
That distinction matters when planning the integration. Hyperise is not an email delivery platform, and Volanea does not need to know how a Hyperise image was generated. The handoff is simply a URL plus the recipient and message data needed to build an email.
There is no native “Volanea” destination inside Hyperise to install, and this guide does not assume one exists. Instead, use an automation or middleware layer that can do two jobs:
- receive the relevant contact and Hyperise output values;
- make an authenticated server-side request to Volanea’s REST email endpoint.
For many teams, Zapier or Make is the practical connector. For higher sending volume, complex HTML, strict auditing requirements, or custom deduplication, a small serverless endpoint is usually the better long-term architecture.
The essential flow looks like this:
Source system creates or updates a contact
↓
Zapier or Make runs Hyperise’s image-generation step
↓
Automation receives Hyperise’s generated image URL
↓
Server-side webhook or HTTP module calls Volanea
↓
Volanea sends the email
This is intentionally different from claiming that a Hyperise campaign directly fires a Volanea send. The practical trigger is normally an event in the system where your lead or customer record lives, such as a new CRM contact, a form submission, a deal moving stage, or an ecommerce order. Hyperise is then an action in that workflow that generates the personalized asset before the Volanea send.
What actually starts the email send
Hyperise is generally used in an automation as an image-personalization action, not as a general-purpose outbound event bus for your CRM records. Therefore, the reliable trigger should be the event that creates the business reason to email someone.
For example, a sales workflow might use this sequence:
- A new lead enters a CRM list or submits a form.
- Zapier or Make receives that new-contact event.
- The automation calls Hyperise to generate a personalized image using the lead’s first name and company.
- The Hyperise step returns a generated image URL.
- The automation sends the lead’s email address, personalization values, and image URL to a secure endpoint.
- The endpoint calls Volanea’s REST API.
The concrete event that begins the process is consequently the upstream trigger—for example, New Contact, New Form Submission, or Deal Stage Changed, using the exact event offered by your chosen CRM or form app. Do not describe an image generation action as though it were an inbound lead trigger. It is a workflow step that prepares the asset needed for the send.
Why the trigger should come from the system of record
Your CRM, product database, form tool, or commerce platform owns the event history. It knows whether a recipient is new, whether they have consented to receive a message, which lifecycle stage they are in, and whether a follow-up was already sent. Hyperise usually does not own all of that context.
Using the source system as the trigger gives you a cleaner audit trail. You can answer important questions later: what event caused the email, which personalization data was used, who approved the campaign, and whether the recipient was eligible to receive it.
It also prevents accidental sends caused by routine image regeneration. If a Hyperise asset is regenerated because a template changed, that should not automatically mean an existing recipient receives another email.
A useful trigger rule
Choose an event that is both meaningful and stable. “A lead becomes qualified” is better than “a contact record was edited,” because ordinary edits can happen repeatedly. “Customer completed checkout” is better than “cart was updated,” because cart updates may be frequent and incomplete.
Before enabling the workflow, document a clear send condition. A simple example is: send only when lifecycle_stage = qualified, email_opt_in = true, and hyperise_intro_sent_at is empty. The final condition is particularly helpful for duplicate prevention.
The payload: what moves between Hyperise, automation, and Volanea
Hyperise’s generated result is normally treated as a value within the automation: most importantly, the generated image URL. Hyperise is not sending a raw Volanea-ready email payload on its own. Your Zapier or Make scenario constructs the request that will be delivered to your middleware.
That means the payload should be explicit and intentionally small. Avoid forwarding an entire CRM record or every field available in the automation. Send only data necessary to produce and audit the email.
Here is a practical normalized request body that a Zapier Webhooks action or Make HTTP module can POST to your serverless endpoint:
{
"event_id": "crm-contact-0194",
"recipient": {
"email": "ada@example.com",
"name": "Ada Lovelace"
},
"personalization": {
"first_name": "Ada",
"company": "Analytical Engines Ltd"
},
"hyperise": {
"image_url": "https://example.hyperise-image-url.invalid/generated-image.png",
"template_name": "qualified-lead-intro"
},
"campaign": {
"key": "qualified-lead-intro-v1",
"source": "crm-qualified-lead"
}
}
The keys in this example are your middleware contract, not a claim that Hyperise emits this exact JSON object by itself. In Zapier, map the output field containing the Hyperise image URL into hyperise.image_url. In Make, map the corresponding Hyperise output token into the same field. Map the contact email and name from the original trigger, not from an image URL.
Field mapping checklist
A dependable mapping has distinct ownership for each field:
| Middleware field | Typical source | Why it matters |
|---|---|---|
event_id | CRM record ID plus qualifying event ID | Lets you deduplicate retries and repeated runs. |
recipient.email | CRM or form email field | The Volanea recipient address. |
recipient.name | CRM contact name | Useful for display name and greeting. |
personalization.first_name | CRM contact field | Used in copy, after safe HTML escaping. |
personalization.company | CRM company field | Used in contextual messaging. |
hyperise.image_url | Hyperise generation output | Used as the image src in the HTML email. |
campaign.key | A fixed value in the automation | Helps reporting and send classification. |
Keep a distinction between the recipient’s email address and the Hyperise asset URL. The URL is content, not identity. Do not use a public image URL as a unique recipient key, and do not assume it will remain available forever without checking Hyperise’s retention and sharing settings for your account.
Build the Zapier or Make workflow
A low-code workflow is a sensible first deployment when the send volume is modest and the team wants to inspect each step visually. The core design is the same in both products: trigger from your system of record, generate the Hyperise image, then call a protected endpoint you control.
Zapier implementation outline
In Zapier, create a Zap with these conceptual steps:
- Select your source application and choose its eligible-contact trigger.
- Add filters so the Zap continues only for contacts with a valid email address and the appropriate permission or lifecycle state.
- Add the Hyperise action that generates the personalized image from your selected Hyperise template and merge data.
- Optionally add a Formatter step to normalize names, strip whitespace, and prepare a stable event ID.
- Add Webhooks by Zapier as a POST action to your middleware endpoint.
- Map the original contact fields and the output image URL into the JSON request body.
- Update the original CRM record after a successful send, storing a sent timestamp and the campaign key.
The Hyperise action belongs before the webhook. This is what ensures the generated image output exists before your server asks Volanea to send the message.
Make implementation outline
In Make, use a scenario with an upstream trigger module, a Hyperise image-generation module, and an HTTP module that makes a POST to your middleware. Add a filter between the source event and Hyperise, then another filter before the HTTP call to confirm that both a recipient email and generated image URL are present.
Use Make’s error-handling route carefully. A transient failure while creating an image is different from a failure after the message has already been accepted by Volanea. The latter needs deduplication, not blind repetition.
Why not call Volanea directly from every low-code step?
You technically can make an HTTP call from an automation product to a sending API, but placing the Volanea credential directly in the automation makes security, change control, and observability harder. It also makes it difficult to centralize validation, HTML escaping, idempotency, rate controls, and sender selection.
A lightweight middleware endpoint gives the automation a narrow, revocable credential or signed request mechanism while keeping the Volanea API key out of routine workflow configuration. It also means you can change your email layout or sending rules without editing every Zap or scenario.
For endpoint details, authentication requirements, sender setup, and the current message schema, consult the Volanea email API reference and setup guides before deploying.
A working middleware pattern for the Volanea REST call
The following Node.js example shows the intended responsibility boundary. Zapier or Make sends the normalized payload to your server. The server validates it, generates HTML, and makes the outbound Volanea request with an API key stored only in server-side environment variables.
The example uses a VOLANEA_API_URL environment variable rather than hard-coding an endpoint path. Set it to the current REST send endpoint documented for your Volanea account. This avoids quietly depending on a stale endpoint version and makes environment changes explicit.
// Node.js 18+ serverless handler
import crypto from "node:crypto";
const escapeHtml = (value = "") =>
String(value)
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll('"', """)
.replaceAll("'", "'");
export default async function handler(req, res) {
if (req.method !== "POST") {
return res.status(405).json({ error: "POST required" });
}
// Verify a shared secret or signed request from Zapier/Make here.
if (req.headers["x-automation-secret"] !== process.env.AUTOMATION_SECRET) {
return res.status(401).json({ error: "Unauthorized" });
}
const { event_id, recipient, personalization = {}, hyperise = {}, campaign = {} } = req.body;
const email = recipient?.email?.trim().toLowerCase();
const imageUrl = hyperise?.image_url;
if (!event_id || !email || !imageUrl) {
return res.status(422).json({
error: "event_id, recipient.email, and hyperise.image_url are required"
});
}
// Replace this with a durable database uniqueness check in production.
const idempotencyKey = crypto
.createHash("sha256")
.update(`${campaign.key || "default"}:${event_id}:${email}`)
.digest("hex");
const firstName = escapeHtml(personalization.first_name || "there");
const company = escapeHtml(personalization.company || "your team");
const safeImageUrl = encodeURI(imageUrl);
const html = `
<html><body>
<p>Hi ${firstName},</p>
<p>We created this for ${company}.</p>
<p><img src="${safeImageUrl}" alt="A personalized introduction for ${firstName}" width="600" style="max-width:100%;height:auto;border:0;display:block" /></p>
<p>Reply to this email if you would like to discuss it.</p>
</body></html>`;
const volaneaPayload = {
from: {
email: process.env.VOLANEA_FROM_EMAIL,
name: process.env.VOLANEA_FROM_NAME
},
to: [{ email, name: recipient?.name || undefined }],
subject: `${personalization.company || "Your"} personalized introduction`,
html,
// If supported by your current Volanea API version, pass metadata/tags
// for campaign reporting and troubleshooting.
metadata: {
campaign_key: campaign.key || "default",
source: campaign.source || "automation",
event_id,
idempotency_key: idempotencyKey
}
};
const response = await fetch(process.env.VOLANEA_API_URL, {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.VOLANEA_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": idempotencyKey
},
body: JSON.stringify(volaneaPayload)
});
const result = await response.json().catch(() => ({}));
if (!response.ok) {
console.error("Volanea send failed", response.status, result);
return res.status(502).json({ error: "Email provider rejected the send" });
}
return res.status(202).json({ accepted: true, idempotencyKey, result });
}
The exact availability and name of an idempotency header or metadata field depends on the current Volanea API version. Confirm those details in the documentation before relying on them. Even if the API does not support an idempotency header, retain your own durable event_id + campaign + recipient uniqueness record before making a retryable send.
Construct the email carefully
Use a normal HTML <img> element with a meaningful alt attribute. Some recipients block remote images by default, so the copy around the image must still communicate the message. An email that is understandable only when the image loads is fragile and less accessible.
Also escape any recipient-controlled merge fields before inserting them into HTML. A first name, company name, or custom field is data, not trusted markup. Escaping it on the server avoids malformed emails and reduces the chance that unexpected content changes the template.
Keep the Volanea API key out of client-visible configuration
The Volanea API key is a credential with sending authority. Anyone who obtains it may be able to send mail through your account, consume your sending allowance, damage your sender reputation, or access API functionality permitted by that key. It must never be placed in browser JavaScript, a public landing page, a mobile application, a public Git repository, or a Hyperise image URL.
Store the key as a secret in the environment configuration of your serverless host, container platform, or backend. In the code above, it is read as process.env.VOLANEA_API_KEY. The endpoint URL and verified sender identity can also be environment variables, but they are less sensitive than the key itself.
Where credentials belong in this architecture
Use this separation of responsibilities:
- Hyperise: template configuration and personalization fields only.
- Zapier or Make: source-event mappings and a separate secret used to authenticate to your middleware, if your plan and security model support it.
- Middleware: Volanea API key, sending request, validation, logging, and deduplication.
- Volanea: authorized sender domain or address and email delivery configuration.
If you must use an automation platform’s HTTP action for a proof of concept, use its encrypted connection or secret-management feature rather than placing the key in a field visible to every editor. Limit editor access, rotate the key after testing, and migrate the send call behind middleware before a broad launch.
Sender identity is separate from API authentication
A valid API key does not remove the need to configure an appropriate From address and sending domain. Set up the sender identity and DNS authentication required by your Volanea account before production sends. Domain authentication supports reliable alignment and helps recipients’ mailbox providers evaluate the legitimacy of your mail.
Do not use a changing customer-provided domain in the From field just because it appears in Hyperise personalization data. Keep the From address controlled by your organization. If replies matter, configure an appropriate Reply-To address or inbox workflow.
Test the complete path before enrolling real recipients
A successful API response is not the same thing as a good recipient experience. Test the entire route: source trigger, Hyperise output, middleware validation, Volanea acceptance, inbox rendering, and reply handling.
Start with internal addresses at multiple mailbox providers. Test Gmail, Outlook, and any mailbox provider commonly used by your customers. Open the message on desktop and mobile, with remote images enabled and disabled.
A practical pre-launch test plan
- Create a test record with a normal name and company.
- Create another with punctuation, apostrophes, accented characters, and a long company name.
- Test a missing optional name to confirm the greeting falls back gracefully.
- Test a missing Hyperise image URL and confirm the middleware rejects the request rather than sending a broken message.
- Trigger the same source event twice and verify that your idempotency logic prevents a second send.
- Inspect the received HTML source and verify the image URL is correct and uses HTTPS.
- Confirm the From address, Reply-To behavior, unsubscribe treatment where applicable, and campaign classification.
- Check that CRM status updates occur only after your middleware receives a successful provider acceptance response.
Use a dedicated test template in Hyperise and a clearly labeled non-production sender when possible. That keeps test creative separate from customer-facing campaigns and reduces the risk of a test record entering a live audience.
Image loading and privacy considerations
Personalized image URLs can reveal information through the URL itself if merge values are embedded in a visible path or query string. Prefer opaque asset identifiers where Hyperise supports them, and do not include sensitive data such as account numbers, medical details, passwords, or raw email addresses in URL parameters.
Remember that image opens are not a perfect measure of human attention. Image blocking, privacy features, security scanners, and mail client caching can all affect whether an image request occurs. Use clicks, replies, conversions, and product activity alongside opens when evaluating performance.
When this breaks: failures specific to this hop
The Hyperise-to-automation-to-Volanea path has more than one failure boundary. Treating every error as “retry the send” can create duplicates, while treating every success as final can hide downstream problems.
Automation retries can cause duplicate sends
Zapier, Make, webhook clients, and serverless hosts may retry a request after a timeout or temporary failure. The important complication is that a timeout does not prove Volanea did not accept the email. Your middleware may have sent the request successfully but failed before returning its response to the automation.
Without idempotency, the retry sends the same email again. Prevent this with a durable record keyed by a stable event ID, recipient email, and campaign key. Create or lock that record before the provider call; mark it accepted after a successful response; and decide how long a pending record can remain before an operator reviews it.
Do not use only the Hyperise image URL as the key. Regenerated images may produce a different URL for the same business event, and the same image may be appropriate for multiple recipients.
Webhook timeouts and slow image generation
A low-code HTTP module can time out while your middleware is waiting for a provider response. Keep the synchronous endpoint fast: validate, deduplicate, enqueue work if needed, and return a clear response. At larger scale, put the Volanea send request on a queue and return an accepted status once the job is safely stored.
Image generation can also be slower than a typical API field mapping expects. Ensure the Hyperise action has completed and that the output image URL is populated before you invoke the webhook. A filter that checks for a non-empty URL is better than allowing a blank <img src=""> into production email.
Missing fields and plan-dependent availability
Automation integrations, action outputs, and available personalization features can differ by product plan, account configuration, and connector version. Do not assume every Hyperise field shown in an example is available in your account. Open a real test run, inspect its output bundle, and map only fields you can see and validate.
Build defaults for optional fields such as first name and company. For fields that are mandatory to the email—especially recipient email and image URL—fail closed. Send the failure to an operations queue or alert rather than delivering a generic or incorrectly personalized message.
Invalid recipient addresses and suppressed contacts
A CRM can contain malformed, stale, role-based, or previously bounced addresses. Validate input before the email API call, honor suppression lists, and avoid treating a non-empty string as a deliverable address. For one-off or imported records, use an email address verification tool before adding risky addresses to an automated send flow.
Also respect consent and regional marketing requirements. A personalized image does not change whether a message is transactional or promotional. The purpose of the email, the recipient relationship, and applicable law determine the consent and unsubscribe obligations.
Deliverability implications of personalized-image email
Personalization can make an email more relevant, but it is not a deliverability shortcut. Mailbox providers evaluate sending domain reputation, authentication, complaint behavior, recipient engagement, content, and consistency over time. A campaign that uses hundreds of image variations still reflects on the same sender.
Keep the email’s purpose clear in text. Include a recognizable sender name, a controlled From domain, and a direct explanation of why the recipient is receiving the message. Avoid misleading subject lines that claim a one-to-one conversation when the message is actually an automated promotional sequence.
Balance image personalization with readable content
A large image should support the message, not carry all of it. Use live HTML text for the greeting, primary explanation, call to action, and legal or preference information. This improves accessibility, makes the email useful when images are blocked, and gives recipients a clearer experience on constrained clients.
Optimize images before using them. Oversized assets increase download time and can make mobile rendering worse. Test a sensible width, add descriptive alt text, and make links accessible through visible text rather than relying exclusively on a clickable image.
Segment before scaling
Start with a narrow, relevant audience. Compare performance against a non-personalized control message where appropriate, but look beyond opens. Measure replies, qualified meetings, purchases, unsubscribes, spam complaints, hard bounces, and conversion quality.
If complaint or unsubscribe signals rise, do not assume the image needs more personalization. The real issue may be poor audience fit, unclear expectations, excessive frequency, or weak value in the offer. Better targeting is usually more durable than increasingly elaborate creative.
Production architecture and operational ownership
A proof-of-concept Zap can become business-critical quickly. Once this workflow affects leads, customers, revenue, or support notifications, assign clear ownership for templates, sending approval, error monitoring, and data quality.
A robust production setup commonly includes a source-system flag that determines eligibility, a middleware database for idempotency records, a queue for provider requests, centralized logs with request IDs, and an alert for repeated failures. Keep the raw personalization payload only as long as necessary, especially if it contains personal data.
Logging without exposing unnecessary personal data
Log a request ID, campaign key, source event ID, provider response status, and a hashed recipient identifier where possible. Avoid copying email bodies and full recipient data into broad-access logs. If an operator needs to troubleshoot a particular send, use controlled access to the source record rather than making personal data permanently searchable in application logs.
Record the Hyperise template name or template ID used for a send. When a creative update changes results, this lets you identify which recipients received which version without embedding excessive data in the email itself.
Change management
Version templates and campaign keys. For example, use qualified-lead-intro-v1 and then qualified-lead-intro-v2 rather than silently replacing a live asset. Versioning makes A/B testing, rollback, reporting, and duplicate control much easier.
When changing the workflow, test in this order: new Hyperise template, automation mapping, middleware validation, Volanea request, inbox rendering, then a limited production cohort. Do not combine a new sender domain, a new audience, a new template, and a new automation design in one large launch; if performance changes, you will not know which variable mattered.
Conclusion
To send email from Hyperise with Volanea, treat Hyperise as the personalized-asset step and Volanea as the email-delivery step. Use your CRM, form platform, store, or product database as the true business trigger; run the Hyperise generation action; then post the resulting image URL and recipient data to secure middleware that calls Volanea.
This approach avoids a fictitious native integration, keeps the Volanea API key off client-visible surfaces, and creates room for validation, duplicate protection, logging, and sender controls. Start with a small tested workflow, store an idempotency key for every send, and expand only after you have confirmed the full recipient experience.
FAQ
Does Hyperise have a native Volanea integration?
No native Hyperise-to-Volanea app or marketplace installation is assumed here. Use Zapier, Make, or custom middleware to pass Hyperise-generated image data into a Volanea REST send request.
What is the Hyperise trigger for this workflow?
In most practical implementations, the true trigger is an event from the system that owns the recipient record, such as a new CRM contact, form submission, order, or stage change. Hyperise is the image-generation action that runs before the Volanea send.
Can I place the Volanea API key in a Zapier or Make field?
Avoid placing a sending API key in broadly visible automation fields. Store it in server-side middleware environment secrets whenever possible. If a temporary proof of concept requires an automation credential, use the platform’s protected credential mechanism, restrict access, and rotate the key before production.
How do I stop retries from sending the same email twice?
Use a stable idempotency key based on the source event, recipient, and campaign. Store it durably before sending, and reject or safely return the prior result for repeated requests using the same key.
What happens if the Hyperise image URL is missing?
Fail the workflow before calling Volanea. Treat the image URL as a required field when the email depends on it, alert the workflow owner, and do not send a partially personalized message unless you have deliberately designed and approved a text-only fallback.