# Bloomreach activities

Bloomreach activities are scenario steps that call The Wallet Crew APIs. They turn a CRM decision (who/when/what) into a wallet action (create, update, notify).

<details>

<summary><strong>Real-world examples</strong></summary>

* **Loyalty**: a tier change in Bloomreach updates the pass design and fields.
* **Offers**: a segment entry grants a “VIP Weekend” privilege visible on the pass.
* **Events**: a day‑of reminder triggers a wallet notification.

</details>

## Activity catalog

These activities are typically created in Bloomreach as **Webhook preset** integrations. Each activity calls one The Wallet Crew endpoint.

Activity installation and HTTP authentication setup are covered in [Setup](https://docs.thewalletcrew.io/connect/marketing-automation/bloomreach/setup).

### Notify

<figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FXkcDGnBkRtQC5BGfVwdy%2Fimage.png?alt=media&#x26;token=9eebae9f-c5dc-4f04-9b45-a2ddc5a23ed2" alt="Bloomreach activity icon: Notify" width="188"><figcaption></figcaption></figure>

Notify sends a wallet message to a pass. On Apple Wallet, the message is delivered as a lock‑screen notification. On Google Wallet, the message appears on the pass.

{% hint style="warning" %}
Wallet notifications feel system-level. Overuse can hurt trust and opt-in rates.
{% endhint %}

<details>

<summary><strong>Real-world examples</strong></summary>

* **Retail**: Birthday message: “Happy birthday! Enjoy 20% off today.” The offer is shown on the pass.
* **Events**: “Your event starts in 2 hours. Gate opens at 7 PM.” This helps reduce no-shows.
* **Fitness**: Re-engagement: “You haven’t visited in 2 weeks.” This pairs well with a perk.

</details>

### Apply privilege

<figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2F20VwJ1rCEIzy25bWd0FS%2Fimage.png?alt=media&#x26;token=b6145331-d1c8-4590-b071-4a95c9711569" alt="Bloomreach activity icon: Apply privilege" width="188"><figcaption></figcaption></figure>

Apply privilege attaches a benefit to a pass. That benefit can be a coupon, an access right, or a perk.

Privileges are first-class objects in The Wallet Crew. They can be displayed on the pass and tracked over time.

Apply privilege fits benefits with a lifecycle (availability, expiry, redemption). For the full privilege concept, see [Privilege](https://docs.thewalletcrew.io/engage-and-animate/privilege-and-activation/privilege).

<details>

<summary><strong>Real-world examples</strong></summary>

* **Retail**: “VIP Weekend” privilege. Pass turns gold. Text says “2× points this weekend”. Optional notify: “You’ve been upgraded.”
* **Fitness**: “Bring a friend” privilege. Pass shows a guest entry that expires in 7 days.
* **Events**: “Fast lane entry” or “VIP lounge access” privilege for a subset of ticket holders.

</details>

### Update pass

<figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FngnQR2LCcK9qsGcGWrLU%2Fimage.png?alt=media&#x26;token=fee0accf-e403-46e3-835f-efcf71c993bb" alt="Bloomreach activity icon: Update pass" width="188"><figcaption></figcaption></figure>

Update pass refreshes a pass so it reflects the latest data. This is the primary activity used to keep the pass accurate.

Typical updates include points, tier, balance, expiry, seat, venue, and instructions.

<details>

<summary><strong>Real-world examples</strong></summary>

* **Retail loyalty**: After a purchase, update the pass so points, tier, and next-reward progress are correct.
* **Events**: Seat change, schedule update, venue change, updated entry instructions.
* **Membership**: Membership renewal, expiry date change, status changes (active/paused).

</details>

### Add privilege movement (advanced)

Privilege movement updates a counter on an existing privilege. This is mainly used for punch cards, “progress to reward”, or multi-entry packs.

{% hint style="warning" %}
This activity is advanced. It usually requires a POS, scanner, or app to emit earn/spend signals.
{% endhint %}

<details>

<summary><strong>Real-world examples</strong></summary>

* **Coffee stamps**: Customer buys a drink → +1 stamp. At 10 stamps, the reward becomes redeemable.
* **Multi-entry packs**: Gym has “10 entries”. Each check-in consumes 1 entry.
* **Birthday gift**: Add +1 “free entry” to a guest-pass privilege. When redeemed, it goes back down.

</details>

### Create pass (advanced)

Create pass generates a new pass and returns an “Add to Wallet” link. This is useful when Bloomreach is the orchestration layer and a pass does not exist yet.

<details>

<summary><strong>Real-world examples</strong></summary>

* **Retail**: After signup, create a loyalty card pass. Send the add-to-wallet link by email/SMS. Once installed, apply a “Welcome offer” privilege.
* **Events**: After ticket purchase, create a ticket pass. Send the link in the confirmation email. Then notify reminders before the event.
* **Membership**: New member joins a club. Create the membership card pass. Show tier/status and expiry on the pass.

</details>

## FAQ

<details>

<summary><strong>What’s the difference between Update pass and Notify?</strong></summary>

Update pass changes what is displayed on the pass. Notify is a delivery mechanism meant to bring attention.

In most time-sensitive flows, Update pass runs first, then Notify.

</details>

<details>

<summary><strong>When is Apply privilege better than Update pass?</strong></summary>

Apply privilege fits benefits with a lifecycle. Examples include vouchers, access rights, and offers that expire.

Update pass fits state values. Examples include points, tier, and balance.

</details>

<details>

<summary><strong>Where does the pass identifier (passId) come from in Bloomreach?</strong></summary>

The pass identifier can be stored as a Bloomreach customer property. It can also be captured from The Wallet Crew events sent to Bloomreach.

</details>

<details>

<summary><strong>What’s the expected delay for Update pass vs Notify?</strong></summary>

Both actions are usually delivered in seconds. Actual timing depends on device connectivity and on Apple Wallet vs Google Wallet behavior.

Update pass triggers a wallet refresh, then the device fetches the updated pass. Notify triggers a wallet message delivery, and it can optionally be paired with an update.

For time-sensitive flows, a common pattern updates first, then notifies.

</details>

<details>

<summary><strong>What happens if the pass is not installed?</strong></summary>

The activity still targets a pass record. If the pass exists but is not installed on any device, Update pass has nothing to push to. Notify also cannot be delivered without an active installation.

A typical pattern uses install status as a guard. If the pass is not installed, a fallback channel (email or SMS) distributes an “Add to Wallet” link instead.

</details>

<details>

<summary><strong>How to test an activity safely in staging?</strong></summary>

Staging tests are safer when staging and production are isolated at both Bloomreach and The Wallet Crew levels. This typically means a staging Bloomreach Project Token and a staging The Wallet Crew environment.

A minimal test run usually covers:

* a test pass that can be installed on a device
* one Update pass action that changes a visible field
* one Notify action with a short message
* one Apply privilege action that appears on the pass

After each run, validate on-device behavior and Bloomreach logs, then iterate on payload and targeting.

</details>
