Program emails and triggers
Send members emails about loyalty program events through a CRM integration, or from Cevoid with flows and email templates.
Send members emails when events happen in your loyalty program, such as earning a tier, receiving a reward, or approaching points expiration. Cevoid sends program events to your CRM as triggers, and flows can also email members from your email templates.
| Trigger or email | Type | Sent when |
|---|---|---|
| Member Joined Program | CRM trigger | A profile joins your loyalty program |
| Member Left Program | CRM trigger | A profile leaves your loyalty program |
| Challenge Completed | CRM trigger | A member completes a challenge |
| Challenge Available | CRM trigger, Klaviyo only | A challenge becomes available to a member |
| Tier Earned | CRM trigger | A member reaches a new tier |
| Reward Fulfilled | CRM trigger | A reward is fulfilled for a member |
| Tier Evaluation | CRM trigger | A member is approaching their tier evaluation date |
| Points Expiration Reminder | CRM trigger | A member is approaching their points expiration date |
| Reached tier | Email from a flow | A member reaches a new tier |
| Earned/redeemed reward | Email from a flow | A member earns or redeems a reward |
| Tier evaluation reminder | Email from a flow | A member is approaching a tier evaluation |
| Points expiration friendly reminder | Email from a flow | A member's points are approaching expiration |
| Points expiration last reminder | Email from a flow | A member's points are about to expire, as a last reminder |
The emails are described in Send program emails with flows.
Send program events to your CRM
If you send your emails from a CRM, Cevoid sends it event triggers when program events occur, and you build flows in your CRM that respond to them. To send the emails from Cevoid instead, see Send program emails with flows.
Supported integrations
Build program flows in Klaviyo
Cevoid events trigger flows in Klaviyo. Each event includes data you can use to personalize the email.
- Create a new flow in Klaviyo
- Select Metric as the trigger
- Select the Cevoid event from the table, for example Cevoid: Tier Earned
- Click Save
- Add your email content
| Flow | Event | Data in the event |
|---|---|---|
| New tier reached | Cevoid: Tier Earned | Tier name, milestone, and the entry rewards connected to the tier |
| Reward fulfilled | Cevoid: Reward Fulfilled | Reward name, description, and redemption instructions |
| Challenge available | Cevoid: Challenge Available | Challenge title, description, and link |
To choose which events Cevoid sends, see Configure event sharing.
Build program segments in Klaviyo
Cevoid profile data and events let you build segments in Klaviyo for targeted campaigns.
- Create a new segment in Klaviyo
- Add the condition and value from the table
- Click Create segment
| Segment | Condition | Value |
|---|---|---|
| All loyalty program members | Properties about someone: Cevoid: Program Member | is true |
| Members in a specific tier | Properties about someone: Cevoid: Tier Name | equals your tier name |
| Members who completed a challenge | What someone has done (or not done): Cevoid: Challenge Completed | at least once over all time |
To target members who completed a specific challenge, add a filter for the challenge title or shortId.
Available triggers
Cevoid sends the following triggers to your connected CRM when program events occur. Use the triggers to build email flows, segments, and campaigns.
To enable triggers, see the article for your integration: Klaviyo or Voyado. Klaviyo receives all eight triggers. Voyado receives every trigger except Challenge Available.
Member Joined Program
Triggered when a profile joins your loyalty program.
Information sent with this trigger
| Field | Description |
|---|---|
name | Member's name |
email | Member's email address |
avatarUrl | Member's avatar image URL |
shortId | Member's unique identifier |
Payload example
{
"avatarUrl": "https://cdn.cevoid.com/members/1.jpg",
"email": "member@example.com",
"hasJoinedProgram": true,
"name": "Member Name",
"shortId": "123456"
}Member Left Program
Triggered when a profile leaves your loyalty program.
Information sent with this trigger
| Field | Description |
|---|---|
reason | Why they left: OPTED_OUT, or DELETED when the profile was deleted |
Payload example
{
"reason": "OPTED_OUT"
}Challenge Completed
Triggered when a member completes a challenge.
Information sent with this trigger
| Field | Description |
|---|---|
title | Challenge name |
summary | Challenge description |
banner | Challenge banner image URL |
shortId | Challenge unique identifier |
url | Link to the challenge |
Payload example
{
"banner": "https://cdn.cevoid.com/missions/1.jpg",
"shortId": "123456",
"summary": "Challenge summary",
"title": "Challenge Title",
"url": "https://challenge.cevoid.com/your-brand/your-challenge"
}Challenge Available
Triggered when a new challenge becomes available to a member. Cevoid sends this trigger to Klaviyo only: Voyado doesn't receive it.
Information sent with this trigger
| Field | Description |
|---|---|
title | Challenge name |
summary | Challenge description |
banner | Challenge banner image URL |
shortId | Challenge unique identifier |
url | Link to the challenge |
Payload example
{
"banner": "https://cdn.cevoid.com/missions/1.jpg",
"shortId": "123456",
"summary": "Challenge summary",
"title": "Challenge Title",
"url": "https://challenge.cevoid.com/your-brand/your-challenge"
}Tier Earned
Triggered when a member reaches a new tier.
Information sent with this trigger
| Field | Description |
|---|---|
tier.name | Tier name |
tier.iconUrl | Tier icon URL |
tier.milestone | Milestone value reached |
rewards | Array of entry rewards received (includes title, type, discount code if applicable) |
Payload example
{
"tier": {
"shortId": "123456",
"iconUrl": "https://cdn.cevoid.com/tiers/1.jpg",
"milestone": 100,
"name": "Gold"
},
"rewards": [
{
"title": "20% Off",
"iconUrl": "https://cdn.cevoid.com/rewards/1.jpg",
"fulfillmentStatus": "FULFILLED_AUTO",
"rewardedAt": "2026-01-11T21:37:04.222Z",
"source": "Earned",
"type": "DISCOUNT_CODE",
"discountCode": "GOLD20OFF",
"productUrl": "https://www.example.com/products/PRODUCT_CODE"
}
]
}Reward Fulfilled
Triggered when a reward is fulfilled for a member, whether earned through activities, tiers, or redeemed from redeemable rewards.
Information sent with this trigger
| Field | Description |
|---|---|
parentType | Where the reward came from (e.g., ACTIVITY) |
parentId | ID of the source activity or tier |
rewards | Array of rewards (includes title, type, points amount or discount code) |
Payload example
{
"parentType": "ACTIVITY",
"parentId": "1234",
"rewards": [
{
"title": "Discount Code",
"iconUrl": "https://cdn.cevoid.com/rewards/1.jpg",
"fulfillmentStatus": "FULFILLED_AUTO",
"rewardedAt": "2026-01-11T21:37:04.222Z",
"source": "Earned",
"type": "DISCOUNT_CODE",
"discountCode": "20OFF",
"productUrl": "https://www.example.com/products/PRODUCT_CODE"
},
{
"title": "Bonus Points",
"iconUrl": "https://cdn.cevoid.com/rewards/1.jpg",
"fulfillmentStatus": "FULFILLED_AUTO",
"rewardedAt": "2026-01-11T21:37:04.222Z",
"source": "Earned",
"type": "POINTS",
"points": 100
}
]
}Tier Evaluation
Triggered when a member is approaching their tier evaluation date. The timing is configured in your tier evaluation settings.
Information sent with this trigger
| Field | Description |
|---|---|
evaluationDate | When the evaluation occurs |
evaluationType | COLLECTIVE or INDIVIDUAL |
currentTier | Member's current tier (name, icon) |
nextTier | Next tier details including milestones, progress, entry rewards, and perks |
Payload example
{
"evaluationDate": "2025-12-31T23:59:59.000Z",
"evaluationType": "COLLECTIVE",
"currentTier": {
"name": "Silver",
"iconUrl": "https://cdn.cevoid.com/tiers/1.jpg",
"shortId": "234567"
},
"nextTier": {
"name": "Gold",
"iconUrl": "https://cdn.cevoid.com/tiers/1.jpg",
"shortId": "345678",
"milestones": [
{
"type": "POINTS",
"required": 1000,
"current": 750,
"remaining": 250,
"percentComplete": 75
},
{
"type": "AMOUNT_SPENT",
"required": 500,
"current": 200,
"remaining": 300,
"percentComplete": 40
}
],
"entryRewards": [
{
"type": "DISCOUNT_CODE",
"title": "20% OFF",
"iconUrl": "https://cdn.cevoid.com/rewards/1.jpg"
}
],
"perks": [
{ "value": "Free shipping on all orders" },
{ "value": "Early access to sales" }
]
}
}Show all 41 linesShow fewer lines
Points Expiration Reminder
Triggered when a member is approaching their points expiration date. The timing and reminder types are configured in your points expiration settings.
Information sent with this trigger
| Field | Description |
|---|---|
reminderType | FRIENDLY (early reminder) or LAST (final reminder) |
pointsExpiring | Number of points about to expire |
expirationDate | When the points expire |
currentBalance | Member's total points balance |
daysUntilExpiration | Days remaining until expiration |
Payload example
{
"reminderType": "FRIENDLY",
"pointsExpiring": 500,
"expirationDate": "2026-01-11T21:37:04.222Z",
"currentBalance": 1250,
"daysUntilExpiration": 30
}Send program emails with flows
Cevoid can also email members itself, from your email templates. Start a blank flow on one of the triggers below in Settings → Flows and add an Action step: on these triggers, its action is Send notification. Set its Delivery target to Email, select the template in Email template, and publish the flow. For building and publishing a flow, see Flows. Edit the templates in Settings → Emails (new) → Email templates, under Loyalty.
| Flow trigger | Starts when | Email template |
|---|---|---|
| Tier earned | A member earns a tier | Reached tier |
| Reward fulfilled | A member gets rewards, from an activity, a redeemable reward, a tier, or a purchase incentive | Earned/redeemed reward |
| Tier evaluation approaching | A tier evaluation reminder is due | Tier evaluation reminder |
| Points expiration approaching | A friendly or last points expiration reminder is due | Points expiration friendly reminder, Points expiration last reminder |
- Tier rewards: The Reached tier email lists the tier's entry rewards. Rewards that come with a tier get no Earned/redeemed reward email.
- Two points reminders: Points expiration approaching starts for both reminders. To send each one its own template, add an If / else step on Reminder stage, under Points expiration, and give each branch its own Action step.
- Timing: Reminders follow the days set in Points and Tier evaluation and earning windows. A reminder that no longer applies when the flow sends it, such as a tier evaluation reminder after the member's tier has changed, isn't sent.
- Member preferences: Tier and reward emails go only to members with Confirmation emails on, and reminders only to members with Reminder emails on. Members change these with Manage email preferences in the email's footer.
- Buttons: The reminder templates show their button only once you enter a Button link