Skip to content
Get API key (opens in a new tab)

profile.program-joined

Sent when a profile joins the loyalty program, with the new member's profile, points and tier.

When it fires

  • Once each time a profile becomes a member of the loyalty program.

Receive it

Pick profile.program-joined in a webhook destination's events, or tick All events. See Create a destination.

To filter it or wait before sending, send it from a Flow on the Program joined trigger instead. See Send from a Flow.

Payload

Example payload
{
  "created_at": "2026-11-02T09:30:00.000Z",
  "data": {
    "points": {
      "expiring_30d": 400,
      "expiring_60d": 650,
      "expiring_90d": 750,
      "lifetime_earned": 5400,
      "lifetime_spent": 4150,
      "next_expiration_at": "2026-12-31T00:00:00.000Z",
      "pending": 100,
      "spendable": 1150,
      "total": 1250
    },
    "profile": {
      "avatar_url": "https://cdn.cevoid.com/avatars/prf_sarah/profile.jpg",
      "bio": "Lifestyle creator and photography enthusiast",
      "birthday": "1992-04-18",
      "country": "US",
      "created_at": "2026-01-15T09:30:00.000Z",
      "email": "sarah.johnson@example.com",
      "external_id": "customer_7391056823401",
      "first_name": "Sarah",
      "id": "prf_sarah",
      "language": "en",
      "last_name": "Johnson",
      "location": "San Francisco, CA",
      "name": "Sarah Johnson",
      "notes": "VIP customer; prefers email communication",
      "social_instagram_handle": "sarah.lifestyle",
      "social_tiktok_handle": "sarah.creates",
      "social_x_handle": "sarah_j",
      "updated_at": "2026-01-20T14:22:15.000Z"
    },
    "tier": {
      "current_tier": {
        "expires_at": "2026-12-31T23:59:59.999Z",
        "icon_url": "https://cdn.cevoid.com/tiers/silver.png",
        "id": "tier_silver",
        "name": "Silver"
      },
      "next_tier": {
        "entry_rewards": [
          {
            "icon_url": "https://cdn.cevoid.com/rewards/reward-icon.png",
            "title": "10% Off Reward",
            "type": "DISCOUNT_CODE"
          }
        ],
        "icon_url": "https://cdn.cevoid.com/tiers/gold.png",
        "id": "tier_gold",
        "milestones": [
          {
            "current": 750,
            "percent_complete": 75,
            "remaining": 250,
            "required": 1000,
            "type": "POINTS"
          }
        ],
        "name": "Gold",
        "perks": [
          {
            "value": "Exclusive early access to launches"
          }
        ]
      }
    }
  },
  "id": "evt_m3p82kdq5xw7tz4c",
  "type": "profile.program-joined",
  "version": 1
}
Show all 73 linesShow fewer lines
versionnumberrequired

The version of this event type. A published version only gains fields, so ignore fields you do not use; a breaking change is a new version.

idstringrequired

Stable event id (evt_ plus 16 characters), also sent as the webhook-id header. Retries and manual replays send the same id, so ignore an event whose id you have already processed.

typestringrequired

What data describes. New types are added over time, and an endpoint on "All events" receives them, so ignore any type you do not handle.

created_atstring<date-time>required

When the event happened, as an ISO 8601 timestamp.

originobject

Why your endpoint received the event. Omitted when the event was forwarded without a Flow of your own.

origin properties
flowobjectrequired

The Flow that sent the event.

flow properties
idstringrequired

The Flow id, shown in the Flow URL.

namestringrequired

The Flow name at the time of sending.

triggerstringrequired

The event that started the Flow. One of order.fulfilled, order.delivered, product-review.submitted, company-review.submitted, product-review.replied, company-review.replied, upload.completed, post.approved, profile.program-joined, profile.program-left, tier.earned, reward.fulfilled, tier.evaluation-approaching, points.expiration-approaching.

dataobjectrequired

The resources the event carries, keyed by resource name. type decides which resources are included, and resources your plan does not include are left out.

data properties
profileobject
profile properties
idstringrequired

Cevoid profile ID.

external_idstring

Identifier this profile carries in the workspace source system, when known.

namestring

Display name of the profile.

first_namestring

First name of the profile.

last_namestring

Last name of the profile.

emailstring

Email address for the profile.

avatar_urlstring

Profile image URL.

countrystring

Country code associated with the profile.

languagestring

Preferred language code associated with the profile.

locationstring

Free-form location associated with the profile.

social_instagram_handlestring

Instagram handle associated with the profile.

social_tiktok_handlestring

TikTok handle associated with the profile.

social_x_handlestring

X handle associated with the profile.

birthdaystring<date>

Birthday in YYYY-MM-DD format.

biostring

Profile biography text.

notesstring

Merchant notes about the profile.

created_atstring<date-time>required

ISO 8601 timestamp when the profile was created.

updated_atstring<date-time>required

ISO 8601 timestamp when the profile was last updated.

pointsobject
points properties
totalnumberrequired

Total active and pending points.

spendablenumberrequired

Active points available to spend.

pendingnumberrequired

Earned points not active yet.

expiring_30dnumberrequired

Points expiring within 30 days.

expiring_60dnumberrequired

Points expiring within 60 days.

expiring_90dnumberrequired

Points expiring within 90 days.

lifetime_earnednumberrequired

Points earned over the membership lifetime.

lifetime_spentnumberrequired

Points spent over the membership lifetime.

next_expiration_atstring<date-time>

Earliest upcoming active-points expiration.

tierobject
tier properties
current_tierobject | nullrequired

Current tier, or null.

current_tier properties
idstringrequired

Cevoid tier ID.

namestringrequired

Display name of the tier.

icon_urlstring

Optional icon representing the tier.

expires_atstring<date-time>

When the current tier expires, if tier evaluations expire.

next_tierobject | nullrequired

Next reachable tier, or null.

next_tier properties
idstringrequired

Cevoid tier ID.

namestringrequired

Display name of the tier.

icon_urlstring

Optional icon representing the tier.

milestonesobject[]required

Progress required for the next tier.

milestones[] properties
typestringrequired

Metric used to qualify for the next tier. One of POINTS, AMOUNT_SPENT, NUMBER_OF_PURCHASES.

requirednumberrequired

Required amount for the next tier. AMOUNT_SPENT values use major currency units.

currentnumberrequired

Current progress. AMOUNT_SPENT values use major currency units.

remainingnumberrequired

Remaining amount. AMOUNT_SPENT values use major currency units.

percent_completenumberrequired

Progress percentage, capped at 100.

entry_rewardsobject[]required

Rewards granted at the next tier.

entry_rewards[] properties
typestringrequired

Reward type granted when the tier is reached.

titlestringrequired

Human-readable reward title.

icon_urlstring

Optional icon representing the reward.

perksobject[]required

Perks associated with the next tier.

perks[] properties
valuestringrequired

Human-readable perk text.