How can we help?

Velaro Email Campaigns

Velaro Email Campaigns

What are outbound email campaigns?

Velaro's email campaign tools let you send targeted, personalized emails to your contact lists — newsletters, promotions, onboarding sequences, follow-ups, and more. Everything is built into the same platform as your chat, so your contact data, segments, and conversation history are all in one place.

Setting up your email channel

Before sending campaigns, connect an email sending domain:

1. Go to Integrations > Email.

2. Click Add Email Channel.

3. Enter the From address (e.g. hello@yourcompany.com).

4. Follow the DNS verification steps — add the TXT and CNAME records shown to your domain's DNS.

5. Once verified, the channel is active and ready to send.

DNS changes typically propagate within 30 minutes to 2 hours.

Creating a contact list

1. Go to Contacts > Lists.

2. Click New List and give it a name (e.g. "Trial Users — May 2025").

3. Add contacts by:

- CSV Import — upload a spreadsheet with Name, Email, and any custom fields

- Manual add — add contacts one by one

- Segment — build a dynamic list based on contact properties

For CSV import:

1. Click Import CSV.

2. Map your columns to Velaro fields (Name → firstName, Email → email, etc.).

3. Choose whether to update existing contacts or skip duplicates.

4. Click Import.

Building a campaign

1. Go to Campaigns > Email.

2. Click New Campaign.

3. Fill in:

- Subject line — keep it under 50 characters for best open rates

- From name — what recipients see as the sender name

- Reply-to address — where replies go

- Contact list — who receives this campaign

4. Click Design Email to open the template editor.

Using the template editor

The editor supports rich formatting:

  • Drag-and-drop blocks: text, image, button, divider, spacer
  • Full HTML source editing for custom designs
  • Variable insertion: click Variables to insert <<firstName>>, <<company>>, and any custom field
  • Preview in desktop and mobile views
  • Send a test email to yourself before publishing

Personalization with variables

Variables pull from each recipient's contact record at send time:

Hi <<firstName>>,

Your account at <<company>> is ready for renewal.

If a contact is missing a value (e.g. no firstName), you can set a fallback:

<<firstName | there>> → renders as "Hi there," for contacts without a first name.

Sending your campaign

1. On the campaign summary page, review recipient count, subject, and from address.

2. Choose Send now or Schedule for a specific date and time.

3. For scheduled sends, Velaro queues the campaign and sends at exactly the right time.

Understanding campaign results

After sending, the Results tab shows:

  • Delivered — emails successfully accepted by recipient servers
  • Opened — recipients who opened the email (tracked via pixel)
  • Clicked — recipients who clicked at least one link
  • Bounced — addresses that rejected the email (hard bounces are automatically suppressed from future sends)
  • Unsubscribed — recipients who clicked the unsubscribe link

A healthy campaign typically sees 20–40% open rates and 2–5% click rates, depending on your audience and content quality.

Compliance — unsubscribe links

Every campaign email automatically includes an unsubscribe link in the footer. This is required by law (CAN-SPAM, GDPR) and cannot be removed. When a contact unsubscribes, they are automatically suppressed from all future campaigns — you do not need to manage this manually.

Best practices for deliverability

  • Use a verified sending domain (not a free email like gmail.com)
  • Keep your contact lists clean — remove hard bounces
  • Avoid spam trigger words in subject lines ("FREE!!!", "ACT NOW")
  • Start with small test sends to a warm list before mailing your full database
  • Send consistently — sudden large-volume sends from new domains land in spam

Automated email sequences (drip campaigns)

Sequences send a series of emails automatically when a trigger event fires — no manual work after setup. Each contact moves through the schedule independently.

Available trigger types:

| Trigger | When it fires |

|---------|--------------|

| Conversation Ended | Chat ends — ideal for CSAT follow-ups |

| Negative Sentiment | AI detects a frustrated conversation |

| New Contact Created | First time a contact appears — welcome sequences |

| Tag Added to Contact | When a specific tag like "Hot Lead" or "VIP" is applied |

| Negative CSAT (1–2 stars) | After a bad rating — apology or recovery offer |

| Appointment Booked | After Outlook or Calendly booking — confirmation + reminders |

| Form / Webhook | External form or app POSTs to a unique URL |

| Trial Started | Contact starts a free trial — onboarding drip |

| Manual Enroll | Enroll contacts by hand or via API |

Creating a sequence:

1. Go to Campaigns > Sequences.

2. Click New Sequence or choose a quick-start template.

3. Select a trigger from the list above.

4. Add email steps — set subject, body, and delay (e.g. "1 hour after trigger", "day 3", "day 7").

5. Click Activate to go live.

Quick-start templates are pre-built flows for common use cases (trial onboarding, appointment follow-up, CSAT recovery, welcome series, and more). Click any card in the empty sequences screen to start from a template.

Webhook trigger — connect any form or app

When a sequence uses the Form / Webhook trigger, Velaro generates a unique webhook URL for that campaign. POST to it from:

  • An HTML contact form
  • Zapier or Make.com
  • Any HTTP-capable app

Example POST (JSON):

POST https://admin.velaro.com/api/public/CampaignWebhook/{your-token}
Content-Type: application/json

{ "email": "jane@example.com", "name": "Jane Smith" }

HTML forms also work (multipart/form-data). The endpoint always returns 200 — it never reveals whether a token is valid, to prevent enumeration.

Each sequence has its own unique token, so different forms trigger different sequences independently.

Personalization in sequences — context variables

In addition to global variables (<<contact.name>>, <<contact.email>>, etc.), each trigger type provides extra context:

  • Appointment Booked: <<ctx.provider>>, <<ctx.title>>, <<ctx.startTime>>
  • Negative CSAT: <<ctx.rating>>, <<ctx.comment>>, <<ctx.agentName>>
  • Conversation Ended: <<ctx.agentName>>, <<ctx.duration>>, <<ctx.channel>>
  • Tag Added: <<ctx.tagName>>, <<ctx.source>>

Use these in your email body to make automated emails feel personal and relevant.

Was this article helpful?