> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cevoid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Program emails and triggers

> Learn how to communicate with your members through CRM integrations or Cevoid's built-in emails.

<Note>
  Related articles:
  [Profile data & event sharing](/general/profiles/profile-data-event-sharing), [Tiers](/program/tiers), [Tier evaluation](/program/program-setup/tier-evaluation), [Activities overview](/program/activities/overview), [Redeemable rewards](/program/redeemable-rewards)
</Note>

Keep members engaged by sending emails when important events happen in your rewards program, like earning a tier, receiving a reward, or approaching points expiration.

***

## Recommended approach: CRM integrations

We recommend sending program emails through your CRM rather than through Cevoid. This gives you full control over email design, timing, and fits into your existing email marketing workflows.

Cevoid sends event triggers to your CRM when program events occur. You then build flows in your CRM that respond to these triggers.

### Supported integrations

| Integration                      | Status       |
| -------------------------------- | ------------ |
| [Klaviyo](/integrations/klaviyo) | Available    |
| [Voyado](/integrations/voyado)   | Available    |
| General implementation (API)     | Private beta |

***

## Available triggers

The following triggers are sent to your connected CRM when program events occur. Use these to build email flows, segments, and campaigns.

Refer to your integration's documentation for how to enable triggers: [Klaviyo](/integrations/klaviyo), [Voyado](/integrations/voyado).

***

### Member Joined Program

Triggered when a profile joins your rewards program.

**Use cases**

* Welcome email introducing the program benefits
* Onboarding series explaining how to earn and redeem points
* First activity suggestion to drive immediate engagement

**Suggested email**

| Element | Example                         |
| ------- | ------------------------------- |
| Subject | Welcome to our rewards program! |
| CTA     | Start earning points            |

**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 |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "avatarUrl": "https://cdn.cevoid.com/members/1.jpg",
    "email": "member@example.com",
    "hasJoinedProgram": true,
    "name": "Member Name",
    "shortId": "123456"
  }
  ```
</Accordion>

***

### Member Left Program

Triggered when a profile opts out of your rewards program.

**Use cases**

* Confirmation email acknowledging their choice
* Win-back campaign after a delay period
* Feedback request to understand why they left

**Suggested email**

| Element | Example                   |
| ------- | ------------------------- |
| Subject | We're sorry to see you go |
| CTA     | Rejoin the program        |

**Information sent with this trigger**

| Field    | Description                       |
| -------- | --------------------------------- |
| `reason` | Why they left (e.g., `OPTED_OUT`) |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "reason": "OPTED_OUT"
  }
  ```
</Accordion>

***

### Challenge Completed

Triggered when a member completes a challenge.

**Use cases**

* Thank you email celebrating their participation
* Share their next challenge recommendation
* Remind them about earned rewards they can redeem

**Suggested email**

| Element | Example                           |
| ------- | --------------------------------- |
| Subject | You completed \[Challenge Title]! |
| CTA     | View your rewards                 |

**Information sent with this trigger**

| Field     | Description                 |
| --------- | --------------------------- |
| `title`   | Challenge name              |
| `summary` | Challenge description       |
| `banner`  | Challenge banner image URL  |
| `shortId` | Challenge unique identifier |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "banner": "https://cdn.cevoid.com/missions/1.jpg",
    "shortId": "123456",
    "summary": "Challenge summary",
    "title": "Challenge Title"
  }
  ```
</Accordion>

***

### Challenge Available

Triggered when a new challenge becomes available to a member.

**Use cases**

* Announcement email for new challenges
* Targeted notifications based on member interests
* Time-sensitive campaigns for limited challenges

**Suggested email**

| Element | Example                           |
| ------- | --------------------------------- |
| Subject | New challenge: \[Challenge Title] |
| CTA     | Start challenge                   |

**Information sent with this trigger**

| Field     | Description                 |
| --------- | --------------------------- |
| `title`   | Challenge name              |
| `summary` | Challenge description       |
| `banner`  | Challenge banner image URL  |
| `shortId` | Challenge unique identifier |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "banner": "https://cdn.cevoid.com/missions/1.jpg",
    "shortId": "123456",
    "summary": "Challenge summary",
    "title": "Challenge Title"
  }
  ```
</Accordion>

***

### Tier Earned

Triggered when a member reaches a new tier.

**Use cases**

* Congratulations email celebrating their achievement
* Highlight new perks and benefits unlocked
* Encourage them to use their entry rewards

**Suggested email**

| Element | Example                   |
| ------- | ------------------------- |
| Subject | You reached \[Tier Name]! |
| CTA     | Explore your benefits     |

**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) |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "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"
      }
    ]
  }
  ```
</Accordion>

***

### Reward Fulfilled

Triggered when a reward is fulfilled for a member, whether earned through activities, tiers, or redeemed from redeemable rewards.

**Use cases**

* Delivery confirmation with reward details
* Include discount codes or redemption instructions
* Suggest products to use the reward on

**Suggested email**

| Element | Example               |
| ------- | --------------------- |
| Subject | Your reward is ready! |
| CTA     | Use your reward       |

**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) |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "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
      }
    ]
  }
  ```
</Accordion>

***

### Tier Evaluation

Triggered when a member is approaching their tier evaluation date. The timing is configured in your [tier evaluation settings](/program/program-setup/tier-evaluation).

**Use cases**

* Reminder to maintain or upgrade their tier
* Show progress toward the next tier
* Motivate purchases or activities before evaluation

**Suggested email**

| Element | Example                           |
| ------- | --------------------------------- |
| Subject | Your tier evaluation is coming up |
| CTA     | View my progress                  |

**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 |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "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" }
      ]
    }
  }
  ```
</Accordion>

***

### 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](/program/program-setup/points-expiration).

**Use cases**

* Friendly reminder before points expire
* Last chance reminder close to expiration
* Suggest rewards to redeem with expiring points

**Suggested email**

| Element | Example                       |
| ------- | ----------------------------- |
| Subject | Your points are expiring soon |
| CTA     | Redeem points                 |

**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                        |

<Accordion title="Payload example">
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "reminderType": "FRIENDLY",
    "pointsExpiring": 500,
    "expirationDate": "2026-01-11T21:37:04.222Z",
    "currentBalance": 1250,
    "daysUntilExpiration": 30
  }
  ```
</Accordion>

***

## Built-in emails

For brands that don't use a CRM or prefer a simpler setup, Cevoid can send program emails directly. These emails are automatically triggered and include dynamic content based on the member's activity.

Navigate to [Settings -> Emails](https://app.cevoid.com/settings/emails) to manage built-in emails.

All built-in emails are disabled by default. Click an email to open its editor and enable it.

### Available emails

| Email                                   | Description                                              |
| --------------------------------------- | -------------------------------------------------------- |
| **Reached tier**                        | Sent when a member reaches a new tier                    |
| **Earned/redeemed reward**              | Sent when a member earns or redeems a reward             |
| **Tier evaluation reminder**            | Sent when a member is approaching a tier evaluation      |
| **Points expiration friendly reminder** | Sent before a member's points are approaching expiration |
| **Points expiration last reminder**     | Sent as a final reminder before points expire            |

### Customizing emails

Click any email to open its editor. Each email has two tabs:

**Settings**

| Setting        | Description                         |
| -------------- | ----------------------------------- |
| *Enable email* | Turn the email on or off            |
| *Button*       | Configure the call-to-action button |

**Styling**

| Setting             | Description                 |
| ------------------- | --------------------------- |
| *Background color*  | Email background color      |
| *Text color*        | Body text color             |
| *Button color*      | Call-to-action button color |
| *Button text color* | Text color on the button    |
| *Button corners*    | Corner radius for buttons   |

The email content is pre-configured and includes dynamic data like the member's tier name, points balance, or reward details.
