Skip to content
Open platform (opens in a new tab)

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 emailTypeSent when
Member Joined ProgramCRM triggerA profile joins your loyalty program
Member Left ProgramCRM triggerA profile leaves your loyalty program
Challenge CompletedCRM triggerA member completes a challenge
Challenge AvailableCRM trigger, Klaviyo onlyA challenge becomes available to a member
Tier EarnedCRM triggerA member reaches a new tier
Reward FulfilledCRM triggerA reward is fulfilled for a member
Tier EvaluationCRM triggerA member is approaching their tier evaluation date
Points Expiration ReminderCRM triggerA member is approaching their points expiration date
Reached tierEmail from a flowA member reaches a new tier
Earned/redeemed rewardEmail from a flowA member earns or redeems a reward
Tier evaluation reminderEmail from a flowA member is approaching a tier evaluation
Points expiration friendly reminderEmail from a flowA member's points are approaching expiration
Points expiration last reminderEmail from a flowA 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

IntegrationStatus
KlaviyoAvailable
VoyadoAvailable

Build program flows in Klaviyo

Cevoid events trigger flows in Klaviyo. Each event includes data you can use to personalize the email.

  1. Create a new flow in Klaviyo
  2. Select Metric as the trigger
  3. Select the Cevoid event from the table, for example Cevoid: Tier Earned
  4. Click Save
  5. Add your email content
FlowEventData in the event
New tier reachedCevoid: Tier EarnedTier name, milestone, and the entry rewards connected to the tier
Reward fulfilledCevoid: Reward FulfilledReward name, description, and redemption instructions
Challenge availableCevoid: Challenge AvailableChallenge 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.

  1. Create a new segment in Klaviyo
  2. Add the condition and value from the table
  3. Click Create segment
SegmentConditionValue
All loyalty program membersProperties about someone: Cevoid: Program Memberis true
Members in a specific tierProperties about someone: Cevoid: Tier Nameequals your tier name
Members who completed a challengeWhat someone has done (or not done): Cevoid: Challenge Completedat 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

FieldDescription
nameMember's name
emailMember's email address
avatarUrlMember's avatar image URL
shortIdMember'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

FieldDescription
reasonWhy 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

FieldDescription
titleChallenge name
summaryChallenge description
bannerChallenge banner image URL
shortIdChallenge unique identifier
urlLink 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

FieldDescription
titleChallenge name
summaryChallenge description
bannerChallenge banner image URL
shortIdChallenge unique identifier
urlLink 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

FieldDescription
tier.nameTier name
tier.iconUrlTier icon URL
tier.milestoneMilestone value reached
rewardsArray 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

FieldDescription
parentTypeWhere the reward came from (e.g., ACTIVITY)
parentIdID of the source activity or tier
rewardsArray 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

FieldDescription
evaluationDateWhen the evaluation occurs
evaluationTypeCOLLECTIVE or INDIVIDUAL
currentTierMember's current tier (name, icon)
nextTierNext 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

FieldDescription
reminderTypeFRIENDLY (early reminder) or LAST (final reminder)
pointsExpiringNumber of points about to expire
expirationDateWhen the points expire
currentBalanceMember's total points balance
daysUntilExpirationDays 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 triggerStarts whenEmail template
Tier earnedA member earns a tierReached tier
Reward fulfilledA member gets rewards, from an activity, a redeemable reward, a tier, or a purchase incentiveEarned/redeemed reward
Tier evaluation approachingA tier evaluation reminder is dueTier evaluation reminder
Points expiration approachingA friendly or last points expiration reminder is duePoints 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