Send email from Chili Piper when a prospect books time, and the follow-up can arrive while the meeting context is still fresh. This guide uses Chili Piper’s Zapier integration as the event source and Volanea as the delivery layer, with a server-side path for teams that need more control.

What this Chili Piper email workflow does

The workflow begins when Chili Piper creates a booking and Zapier receives the Chili Piper New Booking trigger event. Zapier then maps the booking data into a Volanea REST API request that sends a transactional email to the booked attendee.

A common use case is a booking-confirmation or preparation message that complements the calendar invitation. For example, after a prospect books a 30-minute discovery call, the email can include:

  • The meeting date and time in the recipient’s time zone
  • The assigned rep’s name and contact information
  • A short agenda or pre-call checklist
  • A link to a case study, questionnaire, or meeting resource
  • A reply-to address for changes that should not be handled through a booking link

This is not a native Chili Piper marketplace app. Chili Piper supplies the booking event through its Zapier connection; Zapier is the bridge that makes the authenticated HTTP request to Volanea. That distinction matters: the email provider credential belongs in a protected automation or server environment, never in a form, a calendar-link page, browser JavaScript, or an email template.

The design is especially useful when your team needs the operational behavior of a transactional message—an API send, an event record, and delivery controls—rather than treating a booking follow-up as a generic marketing automation. Review the email API reference and setup guides before putting a production sender domain and API key into the workflow.

The real trigger: a new Chili Piper booking

Chili Piper is centered on routing and scheduling conversations. In Zapier, the useful event for this integration is the Chili Piper New Booking trigger: a booking is created after the visitor completes the relevant Chili Piper scheduling flow and a meeting is booked.

That timing is important. A form submission is not necessarily a scheduled conversation. A visitor may submit a form, be routed, see scheduling options, and abandon before selecting a time. Triggering from a booking rather than an earlier lead-capture event means the follow-up is reserved for people who actually reached the appointment stage.

What the trigger can provide

The exact field list shown by Zapier depends on the Chili Piper product configuration and the sample booking selected when the Zap is tested. At a minimum, map from the booking sample rather than assuming that a CRM field is always present. Useful values commonly include the booking identifier, invitee or attendee details, meeting start and end information, meeting type, and assigned host or owner details.

For an email send, these are the fields that matter most:

Email fieldBooking value to useWhy it matters
Recipient emailThe booked attendee or invitee emailThis is the to address. Validate it before sending.
Recipient nameThe attendee’s first name or full nameUse only if it is present; do not render Hi undefined.
Host emailAssigned host or meeting owner emailUseful as reply_to when the host should receive replies.
Host nameAssigned host nameUseful in the message signature.
Start timeBooking start timestampUse for a human-readable appointment reminder.
Booking IDBooking’s unique IDUse for observability and duplicate prevention.
Meeting typeBooking or event typeLets one automation choose an appropriate template.

A booking may have more than one attendee, particularly when a scheduler accepts additional guests. Decide deliberately whether the message should go only to the primary booker or to every attendee. Sending to every address blindly can surprise a prospect who added an internal colleague or a shared inbox.

Do not confuse calendar invitations with follow-up email

Chili Piper and the connected calendar environment handle booking and invitations. Volanea should handle the additional message your business wants to send after the booking occurs. This separation avoids trying to recreate calendar mechanics through an email API.

A useful pattern is to make the Volanea message additive: confirmation context, preparation instructions, or a personalized next step. Avoid emailing a second calendar file unless your use case truly requires it. Duplicate invites and contradictory cancellation instructions create support work quickly.

Why Zapier is the right bridge for this setup

A direct HTTP integration is only safe when the initiating product can securely store a secret, transform the event into the required request body, and provide meaningful retry behavior. The Zapier route is practical because it connects the Chili Piper booking trigger to an HTTP request without requiring client-side code.

The basic path is:

  1. Chili Piper creates a booking.
  2. Zapier receives the New Booking event.
  3. Zapier applies a filter and optional formatting steps.
  4. Zapier posts the mapped JSON to Volanea’s REST email endpoint.
  5. Volanea accepts the request and returns an API result for the send attempt.

For a straightforward confirmation email, a Zapier Filter plus a webhook or HTTP action is enough. For personalization that depends on CRM records, use a lookup step before the Volanea call. For strict deduplication, audit logging, localization, or complex HTML rendering, send the Zapier event to your own middleware first, then let middleware call Volanea.

A recommended Zap layout

Keep each responsibility distinct. It makes failures understandable and makes later changes less dangerous.

  1. Trigger: Chili Piper — New Booking.
  2. Filter: Continue only if the attendee email exists and the booking is in the intended meeting type or workspace.
  3. Formatter, optional: Convert the booking timestamp into a readable format and derive a first name safely.
  4. Webhook/HTTP action: POST the Volanea message request.
  5. Alerting, optional: Notify an operations channel when the send action errors.

Do not place all business logic in a long template expression inside the final HTTP action. A separate formatter or middleware function is easier to test with incomplete booking records and easier to audit when a sales process changes.

Field mapping from a Chili Piper booking to an email

The code below shows the shape your integration should normalize before calling Volanea. It uses a small server-side adapter because it gives you one stable mapping contract even if Zapier’s displayed field labels or optional booking fields change. Zapier posts the booking fields it exposes to /chilipiper/booking; the adapter builds the Volanea request.

The booking object is the normalized payload your Zapier action should send. It deliberately contains only the values needed for the follow-up. In the Zap editor, map booking_id, attendee email and name, start time, meeting type, and host details from the New Booking test record into these fields.

// Node 20+ / Express example
// Zapier sends this JSON to your private endpoint after Chili Piper New Booking.

import express from "express";

const app = express();
app.use(express.json());

const VOLANEA_API_KEY = process.env.VOLANEA_API_KEY;
const VOLANEA_SEND_URL = "https://api.volanea.com/v1/email/send";

function escapeHtml(value = "") {
  return String(value)
    .replaceAll("&", "&")
    .replaceAll("<", "&lt;")
    .replaceAll(">", "&gt;")
    .replaceAll('"', "&quot;")
    .replaceAll("'", "&#039;");
}

app.post("/chilipiper/booking", async (req, res) => {
  const { booking } = req.body;

  // Field mapping from the Chili Piper New Booking data selected in Zapier:
  // booking.id             <- booking ID
  // booking.attendee.email <- attendee/invitee email
  // booking.attendee.name  <- attendee/invitee name (optional)
  // booking.start_at        <- booking start time
  // booking.meeting_type    <- meeting/event type (optional)
  // booking.host.email      <- assigned host email (optional)
  // booking.host.name       <- assigned host name (optional)
  if (!booking?.id || !booking?.attendee?.email) {
    return res.status(400).json({ error: "booking ID and attendee email are required" });
  }

  // Replace this in-memory check with a database table or durable KV store.
  // The unique key must be the Chili Piper booking ID, not the attendee email.
  const alreadySent = false;
  if (alreadySent) {
    return res.status(200).json({ status: "duplicate_ignored", booking_id: booking.id });
  }

  const firstName = (booking.attendee.name || "there").trim().split(/\s+/)[0];
  const when = booking.start_at
    ? new Intl.DateTimeFormat("en-US", {
        dateStyle: "full",
        timeStyle: "short",
        timeZone: "UTC"
      }).format(new Date(booking.start_at)) + " UTC"
    : "the scheduled time in your calendar";

  const hostName = booking.host?.name || "our team";
  const meetingType = booking.meeting_type ? ` for ${booking.meeting_type}` : "";

  const emailPayload = {
    from: { email: "meetings@example.com", name: "Example Company" },
    to: [{ email: booking.attendee.email, name: booking.attendee.name || undefined }],
    reply_to: booking.host?.email
      ? { email: booking.host.email, name: booking.host.name || undefined }
      : undefined,
    subject: `You're booked${meetingType}`,
    html: `<p>Hi ${escapeHtml(firstName)},</p>
<p>Thanks for scheduling time with ${escapeHtml(hostName)}.</p>
<p>Your meeting is scheduled for <strong>${escapeHtml(when)}</strong>.</p>
<p>If there is anything we should prepare, reply to this email before the meeting.</p>`,
    text: `Hi ${firstName},\n\nThanks for scheduling time with ${hostName}. Your meeting is scheduled for ${when}. Reply to this email if there is anything we should prepare.`,
    tags: ["chili-piper", "booking-follow-up"],
    metadata: { chili_piper_booking_id: booking.id }
  };

  const volaneaResponse = await fetch(VOLANEA_SEND_URL, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${VOLANEA_API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify(emailPayload)
  });

  const responseBody = await volaneaResponse.text();
  if (!volaneaResponse.ok) {
    console.error("Volanea send failed", {
      booking_id: booking.id,
      status: volaneaResponse.status,
      response: responseBody
    });
    return res.status(502).json({ error: "email provider rejected the request" });
  }

  // Persist booking.id as sent here only after a successful provider response.
  return res.status(202).json({ status: "accepted", booking_id: booking.id });
});

app.listen(3000);

The important mapping decision is that the attendee address becomes the Volanea to field, not the host address. The host belongs in reply_to when replies should reach the person running the meeting. Keep from on a verified domain that your organization controls; do not use an attendee’s address as the sender.

If you send directly from Zapier

For a no-code version, configure Zapier’s webhook or HTTP action with a JSON body equivalent to emailPayload, mapping each booking field from the trigger. Put the Volanea bearer token in the action’s Authorization header, set Content-Type: application/json, and use the Volanea send endpoint documented for your account.

The direct version is appropriate for one simple message. The middleware version is preferable once you need a persistent duplicate check, a CRM lookup, a team-specific sender, a template renderer, or a record of exactly which booking resulted in which provider request.

Keep the Volanea API key out of Chili Piper and the browser

The Volanea API key authorizes sending from your account. Treat it like a password with the ability to create customer-facing messages. It must not be inserted into Chili Piper form fields, hidden fields, client-side JavaScript, an embedded booking page, or any URL query parameter.

In the direct Zapier design, the key lives in the protected configuration for the Zapier HTTP/webhook action, as the value of the Authorization: Bearer ... header. It is not a value stored in the Chili Piper booking form or exposed to the person scheduling a meeting.

In the middleware design, the key lives in the middleware host’s server-side secret store—such as environment variables managed by your cloud platform or a dedicated secret manager. Zapier then needs only a separate, narrowly scoped secret to authenticate to your endpoint. That separation means a compromised automation webhook does not automatically reveal the email-provider credential.

Use two secrets, not one

A robust production configuration has two distinct credentials:

  • Zapier-to-middleware authentication: A random webhook secret, checked by your endpoint before it processes the booking payload.
  • Middleware-to-Volanea authentication: The Volanea API key, available only to the server process that sends email.

Do not use the Volanea key as the webhook secret. Separate credentials make rotation safer, reduce blast radius, and allow you to disable the booking intake independently of email sending.

Rotate the Volanea key if it appears in logs, screenshots, repository history, or an exported automation. Also avoid logging complete request headers. A useful log records a booking ID, recipient domain or redacted recipient, provider status, and provider message ID—not the bearer token or full message content.

Build a message that works for booked prospects

A booking-triggered message is not the place for an unrelated newsletter. The recipient just made a scheduling decision, so the email should make that decision easier to act on.

Use a recognizable sender, a specific subject, and one clear purpose. Good examples include “Your call with Acme is booked,” “Before your implementation consultation,” or “What to expect in Thursday’s security review.” Avoid vague subjects such as “Following up” that could apply to any sales sequence.

Personalization without fragile assumptions

Chili Piper booking records can be incomplete. A person may schedule from a bare email address, a host assignment can change, or an optional form question may not be asked for every meeting type. Design graceful fallbacks:

  • If there is no first name, use “Hi there” rather than leaving a template token visible.
  • If the host is unavailable, sign as “the team” and use a monitored team reply address.
  • If no meeting type exists, omit that phrase from the subject rather than printing a blank label.
  • If the start timestamp is missing or malformed, do not claim an exact time; rely on the calendar invitation and alert operations to inspect the booking.

Escape any booking-derived value before inserting it into HTML. A name, company name, or custom form response is external input. Escaping it protects the email markup and prevents one malformed value from changing the rendered message.

Consent and email category matter

A booking confirmation or preparation email is generally tied to the scheduled interaction. A promotional campaign is different. Do not quietly add a booked attendee to a marketing sequence merely because the booking event occurred; use your organization’s consent policy, regional requirements, and CRM preference data.

Keep transactional booking follow-up and promotional communication operationally separate. That means separate templates, appropriate suppression checks, and a clear understanding of why each recipient is being contacted. This distinction protects trust as much as it protects deliverability.

Deliverability prerequisites before you go live

An API request can be accepted and still produce a poor recipient experience if the sending domain is not authenticated or the message resembles bulk outreach. Before enabling the Zap, complete the sending-domain setup required by Volanea and verify that the address used in from.email belongs to that domain.

Domain authentication typically relies on DNS records supplied by the provider, and the exact records should be copied from your Volanea setup instructions rather than guessed. Confirm that authentication is active before production sends. If your organization has a DMARC policy, coordinate the sender domain and alignment strategy with the team that manages DNS.

Protect the sending reputation

Booking-triggered traffic is usually low volume and high intent, which is a good fit for transactional delivery. It can still create reputation problems if a broken automation repeatedly sends messages to the same address or if an old test Zap is connected to live bookings.

Start with an internal meeting type or a test workspace. Book using test addresses at major mailbox providers, inspect the received message, and confirm:

  1. The visible From name and address are expected.
  2. The Reply-To behavior reaches the intended person or inbox.
  3. The appointment time is accurate and clearly labeled with a time zone.
  4. The same booking produces only one email.
  5. A reschedule or cancellation follows the policy you intended.

Do not assume that a rescheduled meeting deserves the same behavior as a new booking. Decide whether a reschedule triggers an updated note, whether cancellation triggers no email, and whether an earlier confirmation should contain a link that can become stale.

When this breaks: booking-to-email failure modes

The weak point is not only the Volanea API call. It is the hop from Chili Piper to Zapier, then from Zapier to Volanea or your middleware. Build for the fact that automation delivery is at-least-once in practice: a retry can occur after an ambiguous timeout, and the same booking can appear again.

Retries can create duplicate sends

If Zapier or a downstream endpoint times out after the email provider accepted a request, the automation may retry. If your endpoint immediately sends again, the attendee can receive two confirmation messages for one booking.

Use the Chili Piper booking ID as a durable idempotency key in your own database. A simple table might contain booking_id, status, provider_message_id, created_at, and sent_at. Create or lock the booking row before sending; if the row already has a successful send record, return a successful response without making another provider call.

Do not deduplicate by email address alone. The same person may legitimately book two meetings, and two different people may use a shared business inbox. The booking ID is the event identity; the email address is only the destination.

Webhook and automation timeouts

A synchronous middleware endpoint should validate and acknowledge quickly. If rendering templates, calling a CRM, and sending through Volanea all happen before the response, a slow dependency can exceed the automation platform’s timeout threshold.

A more resilient architecture accepts the booking, stores it, returns success promptly, and processes the email on a background queue. The queue worker then performs enrichment and the Volanea request with controlled retries. This also gives your team a clear dead-letter path for messages that cannot be sent after repeated attempts.

If you choose a synchronous route for simplicity, set strict outbound request timeouts, log the provider response, and make the duplicate check atomic. A timeout is not proof that the provider did not receive the message.

Optional payload fields may disappear

Fields available in one Chili Piper booking sample may not be populated for another routing path, meeting type, workspace configuration, or plan. Custom form answers and assignment details are especially likely to be optional.

Treat attendee email and booking ID as the minimum required data. Make all other values optional in your schema. Add a Zapier filter for required fields, and send incomplete records to an operations alert or a review queue instead of producing a malformed customer email.

When changing Chili Piper forms or routing rules, refresh the Zap’s test sample and inspect every mapped field. A mapping can remain syntactically valid while returning an empty value after a field was renamed or removed upstream.

Provider rejections and recipient problems

A Volanea rejection can result from invalid message structure, an unverified sender, an authorization failure, or an invalid recipient address. Separate these from a successful API acceptance followed by downstream delivery events such as bounces or complaints.

For high-value bookings, consider validating the attendee email before sending an optional follow-up. A free email address verification tool can be useful for checking an address during testing or in a controlled operational workflow. Do not use verification as a substitute for consent, suppression handling, or proper bounce processing.

Testing and observability checklist

A production workflow should be observable from the original booking through the send outcome. Add the Chili Piper booking ID to middleware logs and Volanea metadata so support staff can trace an email report back to the scheduling event without searching by message text.

Test more than the happy path. Use a small test matrix before enabling the automation for every meeting type:

  • A normal booking with a complete name, host, and start time
  • A booking with no first name or missing optional custom fields
  • A booking with an additional guest
  • A repeat delivery of the same booking payload
  • A simulated Volanea 4xx rejection
  • A simulated timeout after the provider request is started
  • A reschedule and a cancellation, according to your chosen policy

Keep an eye on volumes after launch. A sudden increase can indicate a routing-rule loop, an automation replay, or a configuration that treats updates as new bookings. A sudden drop can indicate a disconnected Zapier account, expired credentials, changed field mappings, or an upstream process change.

When to use a server instead of a no-code HTTP action

A Zapier HTTP action is excellent for a simple, low-volume, single-template booking follow-up. It reduces implementation time and keeps the scheduling team able to inspect the workflow.

Use a server-side adapter when the integration needs any of the following:

  • Strong, database-backed duplicate protection
  • A queue and controlled retry policy
  • CRM enrichment or account-level personalization
  • Conditional templates for many meeting types or regions
  • Centralized audit logs and role-based secret management
  • Custom sender selection by business unit
  • Complex formatting, localization, or HTML rendering

The second-order benefit of middleware is change control. Chili Piper routing can evolve as sales teams add meeting types, calendars, regions, and qualification rules. A stable adapter lets you update one mapping layer and test it independently rather than copying fragile expressions across several automations.

Conclusion

To send email from Chili Piper reliably, trigger the workflow from a completed New Booking event, map the booked attendee into a Volanea transactional message, and protect the API key outside the booking experience. Start with a Zapier HTTP action for a small, uncomplicated use case, but add middleware when duplicate protection, observability, or personalized business logic becomes important.

The central rule is simple: treat a booking as an event with an identity. Preserve that booking ID through the automation, use it to prevent duplicate sends, and keep your email message focused on the meeting the recipient just scheduled.

FAQ

Can Chili Piper send directly through Volanea?

Volanea does not provide a native Chili Piper app or marketplace installation for this flow. Use Chili Piper’s Zapier booking trigger with a Zapier HTTP action, or send the trigger data to your own middleware which calls Volanea’s REST API.

What Chili Piper event should start the email?

Use the Chili Piper New Booking trigger when the email is about a successfully scheduled meeting. It is a better fit than an earlier form or lead event because it represents a completed booking.

Where should I store the Volanea API key?

Store it in Zapier’s protected HTTP action configuration for a direct workflow, or in a server-side secret manager or environment variable for a middleware workflow. Never put it in a Chili Piper form, booking-page script, browser code, or query string.

How do I stop duplicate booking emails?

Persist the Chili Piper booking ID after a successful send and reject or acknowledge later deliveries of that same ID without sending again. Do not deduplicate on recipient email alone.

Should a rescheduled meeting send another email?

That is a business-rule decision. Define it explicitly before launch. Many teams send a separate update only when the schedule change materially affects preparation, while relying on the calendar invitation for ordinary scheduling changes.