Send email from Cognism with Volanea by routing Cognism’s Zapier Contact Export trigger to a server-side email request. Cognism does not document a general-purpose outbound webhook or a native Volanea integration, so the reliable path is Cognism List → Zapier → Volanea’s REST API.

This guide explains the actual event that starts the workflow, how to map its contact data into a Volanea message, where to keep the API key, and how to avoid the duplicate sends and missing-field problems that commonly appear in this specific integration.

What this Cognism-to-Volanea integration does

Cognism is the source of prospect data in this workflow. Volanea is the sending infrastructure. Zapier is the handoff layer between them.

The sequence is deliberately simple:

  1. A user adds redeemed contacts to a Cognism List.
  2. In the Cognism Web Application, the user exports selected List contacts to Zapier.
  3. Cognism’s Contact Export trigger sends that exported contact data into the Zap.
  4. Zapier validates the recipient and builds a message request.
  5. Zapier calls Volanea’s POST /v1/send endpoint over HTTPS.
  6. Volanea accepts the send for processing and records delivery-related events separately from API acceptance.

The concrete Cognism trigger is Contact Export, described by Zapier as triggering when a lead is pushed to Zapier from the Cognism Web App. Cognism’s own Zapier documentation is more specific about the prerequisite: exports come from Cognism Lists, and contacts must be redeemed before they can be exported. This is not a “new record created” trigger, a CRM stage-change trigger, or a generic event subscription. A person intentionally exports a redeemed List contact from Cognism’s Web Application, and that export starts the Zap.

That distinction matters operationally. Sending immediately after a Contact Export is appropriate for an internal notification, a requested follow-up, a consented transactional email, or another message whose sending basis you can document. It is not a reason to bypass consent, suppression, frequency controls, or the rules that apply to commercial outreach in the recipient’s jurisdiction.

The supported route: Cognism Contact Export through Zapier

Cognism does not present a native Volanea application, marketplace listing, or direct Volanea connection flow. Do not look for an “Install Volanea” button in Cognism.

Instead, Cognism’s documented automation option is Zapier. Its Zapier integration exports contacts from Cognism Lists to applications supported by Zapier. Cognism says the integration is available from the Web Application for List exports and does not support exports from the Chrome Extension. Zapier identifies the app as Cognism Prospector and exposes Contact Export as an instant trigger.

What must happen before the trigger fires

A Contact Export does not occur just because a prospect appears in search results. The contact needs to move through Cognism’s export workflow:

  • The contact is identified in Cognism.
  • The contact is redeemed, so the organization is permitted to access the relevant contact data under its Cognism setup.
  • The contact is added to a Cognism List.
  • A user opens that List in the Cognism Web Application.
  • The user exports one or more contacts to Zapier.

This user-driven export is the business event that begins the email flow. Treat it as an explicit routing action, not as proof that the recipient requested email. Your email policy should define who may export, which Lists are eligible, what kind of email is sent, and what review is required before high-volume sends.

Why Zapier is preferable to pretending there is a webhook

A direct webhook setup would require Cognism to let you configure an arbitrary endpoint, HTTP method, authentication method, request body, and retry behavior. Cognism’s public Zapier guidance documents a different model: Cognism passes exported List contacts to Zapier, then Zapier runs the chosen destination action.

Using the documented route gives you a visible task history, field-mapping UI, filtering steps, and a place to isolate credentials. It also makes it easier to test with one redeemed contact before enabling broader operational use.

If you need a fully custom server-to-server workflow rather than a user-export event, Cognism also offers APIs for searching, enriching, and retrieving contact and company data, subject to API access and entitlements. That is a separate design: your own scheduled or event-driven service calls Cognism, then sends qualifying records to Volanea. It is not an outbound Cognism webhook.

Before you build: define the email event and eligibility rules

The mechanical integration takes minutes. The difficult part is deciding what a Contact Export means in your business.

For a transactional or operational message, the business trigger may be straightforward. For example, a sales operations team exports a redeemed contact to a List called “Partner onboarding requests,” and the recipient receives a requested introduction or confirmation from a verified company address.

For sales or marketing communication, pause before connecting the send step. A Cognism record having an email address does not automatically establish permission to send every kind of message. Build your policy around the relevant legal basis, disclosure requirements, unsubscribe process, suppression rules, geography, company policy, and recipient expectations.

A useful pre-send gate checks the following before calling Volanea:

  • Recipient email exists: Do not send when the exported record has no usable email value.
  • Recipient is eligible: Apply your consent, legitimate-interest, jurisdiction, and internal-policy checks before the send action.
  • List purpose matches the message: A List created for research, recruiting, partner outreach, or a specific campaign should not automatically receive another type of email.
  • Suppression is respected: Do not reintroduce addresses that have opted out, complained, bounced permanently, or been manually blocked.
  • Sender is approved: Use a From address on a domain verified in Volanea.
  • One export equals one logical send: Generate a stable idempotency key so a retry does not create a second email.

For uncertain email syntax or risky addresses, add a verification step before the send. Volanea’s email verification tool is useful when your workflow needs a simple address-quality check, but verification is not a substitute for consent or suppression management.

Configure the Cognism Contact Export trigger

Start in Zapier, not in a supposed Cognism marketplace.

Create a new Zap and select Cognism Prospector as the trigger application. Select Contact Export as the trigger event. Connect the Cognism account when Zapier asks for it, then use a redeemed contact exported from a Cognism List to load a realistic test record.

Cognism’s documentation says an administrator must configure the Zapier integration before users can export data through it. Users also need access to both Cognism and Zapier. If the Zap is technically correct but the export option is unavailable in Cognism, verify the administrator configuration, the user’s access, the List-based export route, and whether the contact was redeemed.

Use a representative test contact

Do not test with a perfect record and assume every future record will look the same. Choose a redeemed contact that is representative of the prospect data you expect:

  • a normal work email;
  • a first and last name;
  • a company name;
  • a job title; and
  • any other field you plan to personalize with.

Then test a second record with an incomplete profile. The second test is more valuable because it exposes whether your email creates awkward blanks such as “Hello ,” or “I noticed your work at .”

Understand the Contact Export payload contract

Cognism documents the trigger and export workflow, but it does not publish a stable, general-purpose raw webhook JSON schema for Contact Export. In Zapier, the practical payload is the set of fields shown by the trigger sample and available to downstream steps. That means you should not hard-code an assumed raw Cognism webhook body based on a blog post or another vendor’s integration.

Instead, create the mapping from the fields exposed in your Zap’s test Contact Export. The availability of fields can differ because Cognism API and export data are tied to organizational access, redeemed data, and entitlements. In particular, do not assume a business email, mobile number, company property, or job-title value will always be present.

The normalized object below is the shape your Zapier Code step should create after you map the actual Contact Export fields available in your account. The keys on the left are inputs you define in Zapier; the values on the right are selected from Cognism’s test export output. This makes the mapping explicit instead of hiding it in a template.

// Zapier Code by Zapier step
// Define these input fields in the Zap editor by selecting values from
// Cognism Prospector > Contact Export test data:
//   cognism_contact_id  <- Cognism contact ID / record identifier
//   email               <- exported business email
//   first_name          <- exported first name
//   last_name           <- exported last name
//   company_name        <- exported company name
//   job_title           <- exported job title
//
// The output is a normalized payload for the next Webhooks by Zapier step.

const email = String(inputData.email || '').trim().toLowerCase();
const firstName = String(inputData.first_name || '').trim();
const lastName = String(inputData.last_name || '').trim();
const companyName = String(inputData.company_name || '').trim();
const jobTitle = String(inputData.job_title || '').trim();
const cognismContactId = String(inputData.cognism_contact_id || '').trim();

if (!email) {
  throw new Error('Stop: the Cognism Contact Export has no email value.');
}

if (!cognismContactId) {
  throw new Error('Stop: map Cognism’s exported contact identifier before enabling sends.');
}

const recipientName = [firstName, lastName].filter(Boolean).join(' ');
const greeting = firstName ? `Hi ${firstName},` : 'Hello,';
const roleLine = [jobTitle, companyName].filter(Boolean).join(' at ');

const subject = companyName
  ? `A quick follow-up for ${companyName}`
  : 'A quick follow-up';

const text = [
  greeting,
  '',
  roleLine
    ? `We are following up regarding your work as ${roleLine}.`
    : 'We are following up on your recent request or conversation.',
  '',
  'Reply to this email if you would like to continue the conversation.',
].join('\n');

const html = `
  <p>${greeting}</p>
  <p>${roleLine
    ? `We are following up regarding your work as ${escapeHtml(roleLine)}.`
    : 'We are following up on your recent request or conversation.'}</p>
  <p>Reply to this email if you would like to continue the conversation.</p>
`;

function escapeHtml(value) {
  return value.replace(/[&<>'"]/g, (character) => ({
    '&': '&amp;', '<': '&lt;', '>': '&gt;', "'": '&#39;', '"': '&quot;'
  }[character]));
}

return {
  recipient_email: email,
  recipient_name: recipientName,
  subject,
  text,
  html,
  // Stable across retries of this one logical email. Do not use a new random
  // UUID each time Zapier retries the same Contact Export.
  idempotency_key: `cognism-contact-export:${cognismContactId}:follow-up-v1`,
  cognism_contact_id: cognismContactId,
};

The important point is that the Cognism field labels selected in Zapier can vary with the account and test record. Use the actual fields presented by the Contact Export trigger. Keep the normalized names in the Code step stable so the Volanea send step does not need to change whenever a source-field label changes.

Send the normalized record to Volanea

Volanea’s single-message REST endpoint is POST https://api.volanea.com/v1/send. It accepts a secret key through Bearer authentication, and Volanea supports the Idempotency-Key request header for safe retry behavior.

In Zapier, add Webhooks by Zapier after the Code step. Use its custom-request capability to make a POST request. Configure the URL, headers, and JSON body as shown below. Replace the sender with an address on a domain already verified in Volanea.

curl --request POST 'https://api.volanea.com/v1/send' \
  --header 'Authorization: Bearer YOUR_VOLANEA_SECRET_KEY' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: cognism-contact-export:COGNISM_CONTACT_ID:follow-up-v1' \
  --data '{
    "from": "Example Team <hello@updates.example.com>",
    "to": ["recipient@example.com"],
    "subject": "A quick follow-up for Example Company",
    "text": "Hi Ada,\n\nWe are following up regarding your work as VP Operations at Example Company.\n\nReply to this email if you would like to continue the conversation.",
    "html": "<p>Hi Ada,</p><p>We are following up regarding your work as VP Operations at Example Company.</p><p>Reply to this email if you would like to continue the conversation.</p>"
  }'

For the Webhooks by Zapier action, map the normalized Code-step outputs as follows:

Volanea request elementZapier valueWhy it matters
Authorization headerA secret stored in Zapier, not in Cognism contact fieldsAuthenticates the send without exposing the key to users or recipients.
Idempotency-Key headeridempotency_keyMakes a retry of the same logical Contact Export safe.
fromA fixed, verified sender addressKeeps sender identity consistent and avoids unverified-domain rejections.
to[0]recipient_emailSends to the business email mapped from the actual Contact Export test data.
subjectsubjectUses fallback logic when company data is absent.
texttextProvides a plain-text alternative.
htmlhtmlProvides the formatted body.

Send one recipient per Contact Export. Volanea can address up to 50 recipients in a send request, but a one-contact-per-send design is easier to audit, suppress, troubleshoot, personalize, and deduplicate. It also prevents recipients from seeing one another’s addresses.

For full endpoint options, sender setup, and response behavior, use the Volanea API reference and setup guides as the source of truth rather than copying an old Zap configuration indefinitely.

Keep the Volanea API key out of client-visible configuration

The Volanea secret key belongs in Zapier’s secure connection or secret-storage mechanism used by the Webhooks action. It does not belong in:

  • a Cognism List name, description, note, or custom contact field;
  • the email subject or body;
  • a browser-side script;
  • a public Webhook URL query string;
  • exported CSV files;
  • screenshots, shared Zap templates, or source control; or
  • a code-step input field that may be visible to Zap editors who do not need sender access.

The right mental model is simple: Cognism supplies prospect data. Zapier holds the integration secret and uses it only in the HTTPS request to Volanea. A contact export should never contain the authority to send email from your domain.

Why the key must remain server-side

A Volanea secret key authorizes sending. If it is exposed in client-visible configuration, an attacker or unauthorized employee could send as your verified domain, consume sending capacity, damage domain reputation, or create a difficult incident-response problem.

Keeping the key in Zapier also separates duties. Cognism users can be allowed to build Lists and export approved contacts without receiving unrestricted access to the email provider credential. Limit who can edit the Zap, who can view connected-account credentials, and who can modify the sender address.

Rotate and scope operational access

Use a dedicated Volanea key for this workflow rather than reusing a key from an application’s password-reset or receipt-email service. Name the credential clearly, document its owner, and rotate it when a person with access leaves, a Zap is copied into an unsafe workspace, or activity looks suspicious.

Also create a practical kill switch. The fastest response to a bad List export should be the ability to turn off the Zap or remove the Volanea credential immediately, then investigate the Zap history and sending activity.

Design templates for incomplete Cognism data

Cognism contact data is valuable, but no enrichment source should be treated as a guarantee that every field exists or is current. The correct behavior for a missing field is usually a neutral fallback, not a broken sentence or an invented value.

Use only fields needed for the message

A minimal email needs an address and a sender-approved message. First name, job title, and company can improve relevance, but do not add a field simply because it is available.

For example, this is resilient:

  • Greeting: Hi {{first_name}} when first name exists; otherwise Hello.
  • Context: mention role and company only when both make sense.
  • Subject: use a generic but accurate fallback when company name is absent.
  • Sender: keep a fixed verified From address rather than mapping it from Cognism.

This is brittle:

  • constructing a greeting from a missing first name;
  • making claims based on an unverified company attribute;
  • treating a direct-dial number as an email eligibility signal; or
  • adding unescaped source data directly to HTML.

The Code step example escapes dynamic content before inserting it into HTML. Preserve that discipline if you later add company names, job titles, personalized URLs, or custom fields.

Separate data enrichment from send authorization

Cognism’s entitlements determine what data your organization can access through its API-related setup, and exported records may vary in completeness. That is a data-access question. Whether your system may send a message is a separate compliance and policy question.

Make the checks explicit in Zapier. For example, use a Filter step before the Code step to continue only when an email exists and a List or process marker identifies the contact as eligible. For stricter programs, route the export to a review queue before the Volanea send action.

When this breaks: Cognism-to-Zapier-to-Volanea failure modes

Every integration has failure modes. This route has several that are specific to the Cognism export hop and should be anticipated before launch.

Retries can create duplicate emails

A Contact Export may be processed more than once if a user exports again, if Zapier retries after a transient failure, or if the request succeeds but the response is not observed cleanly. Without deduplication, each attempt can create another email.

Use an Idempotency-Key tied to the business event, not a random value generated on every request attempt. In this guide, the key combines the Cognism exported contact identifier with the message version:

cognism-contact-export:<contact-id>:follow-up-v1

That key means “send version 1 of this follow-up for this Cognism contact.” Reuse the exact same key when retrying that exact send. If you intentionally send a distinct message later, use a different version or a separate campaign/event identifier.

Idempotency does not solve a user intentionally exporting the same contact twice under two different business events. Add an additional deduplication rule if your policy is one message per contact over a defined period. A Zapier Table, CRM property, database, or internal suppression service can record the contact ID, message type, and first successful send time.

Webhook and action timeouts are ambiguous

A timeout does not prove that Volanea did not receive the request. The send may have been accepted while Zapier lost the response or exceeded a timeout. Blindly retrying with a new idempotency key turns that ambiguity into duplicate email.

The safe response is:

  1. Preserve the same idempotency key.
  2. Inspect the Zap task history and the Volanea send result or event history.
  3. Retry only with the same request identity if the operation needs retrying.
  4. Escalate repeated timeouts rather than increasing send volume through repeated manual exports.

Do not put a long-running enrichment lookup, large file transformation, or an external approval process inside the final webhook action. Keep the Volanea call focused: validate the data, construct the message, send it, and record the result.

Some exported fields may be missing

Cognism data availability depends on the contact, redemption state, organization configuration, and entitlements. A field that appeared in a test record may be blank for another contact, including email, first name, job title, company information, or other personalization fields.

Build failure handling deliberately:

  • Stop the Zap when no recipient email is available.
  • Use text fallbacks for missing first name, company, and title.
  • Do not send an email address to a second address field because the preferred field was blank.
  • Send incomplete-but-reviewable records to a queue if manual enrichment is appropriate.
  • Log the Cognism contact identifier and the missing-field reason without logging unnecessary personal data.

A missing email is a stop condition. A missing job title usually is not; it should produce a less-personalized message. Decide these rules before publishing the Zap.

The export route may not appear or may not fire

If a user cannot export to Zapier, check the mundane prerequisites first. Cognism documents that Zapier exports are from Lists in the Web Application, not the Chrome Extension. The contact must be redeemed, the Cognism Zapier integration must be configured, the user must have the required access, and the Zap must be published and turned on.

If the export appears to work but no message is sent, inspect the Zap history in order. Confirm that Contact Export was received, identify which filter or Code step stopped the run, check whether the Webhooks action was called, and inspect the HTTP response. This sequence is far faster than exporting the contact repeatedly and hoping that one attempt works.

Unverified sender domains and deliverability controls can stop a send

Volanea needs a sender address on a domain you have verified. A successful configuration test should use the exact sender identity planned for production, not a different personal mailbox.

Remember that API acceptance is not the same thing as inbox placement or delivery. Suppressions, unsubscribes, account controls, recipient-side filtering, bounces, and complaints can affect the final outcome. Monitor message events and maintain a process for feeding opt-outs and permanent failures into your sending policy.

Test the workflow before enabling real outreach

A production-ready test is more than seeing a 2xx response once. Use a controlled sequence.

  1. Create a dedicated test List in Cognism.
  2. Add and redeem one internal test contact with an inbox you control.
  3. Export that contact from the List to Zapier.
  4. Confirm the Contact Export trigger contains the expected source values.
  5. Verify the Zapier filter behavior and normalized Code output.
  6. Confirm Volanea receives the message under the intended verified From address.
  7. Check the received email’s subject, personalization, plain-text part, HTML rendering, Reply-To behavior if used, and unsubscribe or policy copy where applicable.
  8. Retry the same logical event with the same idempotency key and confirm it does not become a duplicate email.
  9. Test a record without first name, company, title, and email to confirm each fallback or stop condition.
  10. Turn the Zap on only after reviewing who can export contacts and who can edit the sending step.

Keep the test List separate from operational Lists. This reduces the risk that a user thinks they are checking a connection and accidentally sends a production message to real prospects.

Scaling the process without losing control

Once the single-contact version works, do not immediately turn every List export into an automated campaign. Scale in controlled layers.

Start with one approved List purpose and one message type. Then add a Zapier Filter step that limits the workflow to that purpose. Add a deduplication store, an internal alert for failed sends, and a simple owner field so someone is accountable for the messages generated by the integration.

As volume grows, separate operational traffic from campaign-style traffic. A product notification, a requested follow-up, and a multi-step prospecting program have different consent, content, frequency, tracking, and suppression needs. Volanea supports transactional sending and campaigns on the same platform, but the architecture should still make the business purpose visible.

Review send economics before increasing volume. The transactional email pricing page is the appropriate place to check included sending and plan costs, but cost should not be the sole control. A low-cost path that sends duplicate or unwanted email creates much larger deliverability and trust costs.

Conclusion

The reliable way to send email from Cognism with Volanea is not a fictional native plugin or generic Cognism webhook. It is Cognism’s real Contact Export event from a redeemed contact in a Cognism List, delivered through Zapier, then transformed into a secure POST /v1/send request to Volanea.

Build around the actual Contact Export sample visible in your Zap, because Cognism does not publish a universal raw payload schema for this event and field availability can vary. Keep the Volanea secret key in Zapier’s protected configuration, use a verified sender domain, validate recipient eligibility, and attach a stable idempotency key to every logical send.

If you implement those controls first, you get an integration that is easier to operate: Cognism remains the data and List-export source, Zapier provides the workflow boundary, and Volanea handles the sending pipeline without exposing credentials or multiplying emails during retries.

FAQ

Does Cognism have a native Volanea integration?

No. Cognism does not document a native Volanea app, marketplace listing, or direct Volanea connector. Use Cognism Prospector’s Zapier Contact Export trigger and a Zapier webhook request to Volanea instead.

What Cognism action triggers the email?

The trigger is Contact Export. It occurs when a user exports a redeemed contact from a Cognism List in the Cognism Web Application to Zapier. It is not triggered by a generic record-created event or Chrome Extension export.

Can I call Volanea directly from Cognism?

Not through a documented general-purpose Cognism outbound webhook configuration. The documented automation route is Cognism List export to Zapier, followed by a Zapier action that calls Volanea’s REST API.

Where should I store the Volanea API key?

Store it in Zapier’s protected credential or secret configuration used by the Webhooks action. Never place it in Cognism contact fields, browser code, a public URL, a List description, exported files, or message content.

How do I stop duplicate sends after a retry?

Send an Idempotency-Key header to Volanea that is stable for one logical message, such as a Cognism contact identifier plus a message-version value. Reuse that exact key when retrying the same send, and add a separate deduplication record if users might export the same contact repeatedly.