# Actito

This integration connects Actito scenarios to Apple Wallet and Google Wallet through the wallet crew.

<figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-4f1763e9387ca1dd7a7bffecebe322a42f05af36%2Fillustration-connect-marketing-actito.png?alt=media" alt="Connect Actito to Apple &#x26; Google Wallet through The Wallet Crew"><figcaption></figcaption></figure>

Actito is where you segment, personalize, and orchestrate customer journeys. The Wallet Crew turns those journeys into a wallet pass that stays visible and useful.

This is more than “one more channel” next to email, SMS, and app push. It’s a way to put the right information in the customer’s pocket, exactly when needed. If you’re looking how to connect Apple Wallet and Google Wallet to Actito CRM, this integration is the practical answer.

This becomes essential for loyalty, membership, gift cards, and offers.

{% hint style="info" %}
**Actito orchestrates “who/when/what”.** The Wallet Crew executes everything wallet-side: **pass creation, updates, notifications, and animations**.
{% endhint %}

### What you unlock

* **A persistent touchpoint.** The pass lives in Apple Wallet or Google Wallet.
* **Real-time utility.** Update the pass when the customer’s situation changes.
* **Less friction.** No app install required to deliver value.
* **Better orchestration.** Use Actito scenarios to automate wallet moments.
* **Stronger targeting.** Feed wallet events back into Actito for smarter timing.

<details>

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

* **Retail loyalty**: after purchase, update points and tier on the pass. Then notify when a reward unlocks.
* **Membership**: when status changes (active, paused, renewed), refresh the pass instantly. Use a notification only for key moments.
* **Offers**: add a new coupon or benefit to the pass. Notify close to expiry to drive redemption.
* **Events**: push last-minute changes (schedule, venue, gate info). Reduce no-shows with day-of reminders.

</details>

Thanks to our [connectors](https://docs.thewalletcrew.io/connect) and **multi pass data provider** architecture, you can orchestrate wallet scenarios from Actito and still benefit from other pass data providers. This gives you the best of both worlds. The Wallet Crew can display information from all systems ([Cegid](https://docs.thewalletcrew.io/connect/pos/cegid), [Secutix](https://docs.thewalletcrew.io/connect/ticketing/secutix), etc) on the same pass and merge them, without sync issues.

## What this integration does

Connect Actito to Wallet Crew so you can:

1. **Update passes from Actito scenarios** (Journey Builder custom actions).\
   Keep loyalty points, tier, coupons, balance, or store info up to date.
2. **Trigger wallet notifications (push/messages) for a given pass** from Actito scenarios.\
   Nudge at the right moment without relying only on email open rates.
3. **Sync Actito profile changes into Wallet Crew** (webhooks).\
   Keep wallet content aligned with consent, preferences, and profile data.
4. **Sync Wallet Crew events back to Actito** (webhooks).\
   Track events like customer creation and wallet installation status.

## Usage

### Send a push notification

Use the `neostore send message` custom activity inside an Actito scenario.

It sends a push-style wallet message to the customer’s pass. On Apple Wallet, it appears on the lock screen. On Google Wallet, it’s displayed on the pass.

For more details about wallet notifications, see [Push notifications](https://docs.thewalletcrew.io/engage-and-animate/push-notification).

Use it for time-sensitive moments. Keep it rare.

<details>

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

* **Retail loyalty**: “You’ve unlocked a reward.” Update points/tier. Then notify.
* **Offer expiry**: “Your coupon expires tonight.” Write the coupon to the pass. Then notify.
* **Click & collect**: “Your order is ready.” Show pickup info on the pass. Then notify.
* **Membership**: “Renewal in 3 days.” Update expiry and status. Notify only if needed.

</details>

### New profile & profile update synchronization

When an Actito profile is created or updated, the connector automatically refreshes the customer’s wallet pass.

This keeps the pass aligned with the latest profile data, without building extra “update pass” branches in every scenario.

{% hint style="info" %}
This is a key feature. If the pass is connected to multiple data providers (Cegid, Comarch, …), a profile change in Actito triggers a refresh that reconciles data from **all** providers.
{% endhint %}

<details>

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

* **Data hygiene**: customer fixes their name or email in your preference center. The pass updates on the next refresh.
* **Store preference**: customer changes their preferred store. The pass updates to show the right store address and map link.
* **Multi-system loyalty**: Actito profile changes (segment, tier label, custom attributes) refresh the pass while points still come from your loyalty provider.

</details>

### Wallet installation status synchronization

When a customer installs or uninstalls a pass, the connector syncs that status back to Actito.

Actito stores this in the `neostore_wallets` table. Use it as a deterministic signal for segmentation and scenario branching.

You can also react to install/uninstall events to trigger follow-ups or rewards.

<details>

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

* **Scenario branching**: if the pass is installed, send a wallet notification. If not, send an email/SMS with an “Add to Wallet” link.
* **Onboarding reminder**: if the pass isn’t installed after 24 hours, send a nudge.
* **Suppression**: stop “add to wallet” messages once the pass is installed.
* **Reward on install**: when the pass is installed, grant +10 loyalty points or unlock a welcome perk.
* **Win-back**: when a pass is uninstalled, trigger a light reactivation flow with a new link.

</details>

### Pass Data Provider

Use Actito as a data source for your pass.

This lets The Wallet Crew display Actito profile attributes on the pass, like first name, last name, tier label, or any custom field you store in Actito.

<details>

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

* **Loyalty**: show the customer’s tier label coming from Actito segmentation.
* **Membership**: display member name and status, synced from the Actito profile.
* **Personalization**: show a preferred store, language, or a “next best offer” field maintained in Actito.

</details>

<details>

<summary>Advanced configuration</summary>

Use the `extensions.actito.profile.mapper` extensibility endpoint to control which Actito attributes are read and how they are mapped into The Wallet Crew account object.

By default, the connector maps `firstName` and `lastName`.

```javascript
/**
 * Enhanced default mapping from Actito profile to the wallet crew
 *
 * @param {Object} data - Attributes coming from Actito
 * @param {Object} account - The wallet crew account object to populate (mutated in place)
 */
function mapFromActito(data, account) {
  // Example showing default mapping
  if(data["firstName"]) {
    account["firstName"] = data["firstName"];
  }
  if(data["lastName"]) {
    account["lastName"] = data["lastName"];
  }
}

export default function (context) {
  context.register('extensions.actito.profile.mapper', {
    MapFromActitoProfiles: mapFromActito
  });
}
```

</details>

## Setup

### The Wallet Crew Configuration

{% stepper %}
{% step %}

#### Enable connector

Ask the Wallet Crew team to enable the Actito connector for your environment.
{% endstep %}

{% step %}
**Configure general settings**

Open the Actito connector settings in the Wallet Crew back-office.

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/integrations/actito" class="button secondary" data-icon="chevrons-right">Open Actito General settings page</a></p>

<div data-with-frame="true"><figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FXh5OUl0zvWTbM1IcG8dx%2Fimage.png?alt=media&#x26;token=e66b7918-a3d6-4fc8-bc27-3f7f54b6e43a" alt="Actito x The Wallet Crew - configuration screen"><figcaption></figcaption></figure></div>

Fill in the form with the following information:

<table><thead><tr><th width="256"></th><th></th></tr></thead><tbody><tr><td><code>Server</code></td><td>URL of the Actito server</td></tr><tr><td><code>API Key</code></td><td>Actito API key that lets The Wallet Crew access your Actito environment.</td></tr><tr><td><code>Entity</code></td><td>The name of your environment (license name) within Actito</td></tr><tr><td><code>Profile Table Name</code></td><td>Name of the Actito table where you store profiles (customer information)</td></tr><tr><td><code>Actito External Identifier</code></td><td>Name of the column that contains the customer identifier. This column lets The Wallet Crew bind a pass to a specific customer.</td></tr><tr><td><code>Pass external Identifier</code></td><td>Name of the external identifier key within The Wallet Crew.</td></tr></tbody></table>

{% hint style="warning" %}
The Actito External Identifier and Pass External Identifier must refer to the same value.

Example: if the pass is also connected to Cegid, use the Cegid Y2 `customerId`.\
In that case, set `Pass external Identifier` to `y2.customerId`.
{% endhint %}

Get these values from Actito (API settings) and your Actito data model (table + identifier column).
{% endstep %}

{% step %}

#### Configure wallet template

To show Actito messages on the pass, you need to add a field in the pass template.

When you send a message, the connector stores it in `additionalData.actito_message`.

{% tabs %}
{% tab title="Apple Wallet" %}
Add a back field with the following settings:

<table><thead><tr><th width="170"></th><th></th></tr></thead><tbody><tr><td>Label</td><td><code>Message</code></td></tr><tr><td>Value</td><td><code>{{ additionalData.actito_message }}</code></td></tr><tr><td>Change Message</td><td><code>%@</code></td></tr></tbody></table>

<figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2F3GXyyk8hi2vO6e0dXuyG%2Fimage.png?alt=media&#x26;token=c05461e8-e18d-4770-80b9-8a131e4fd5c5" alt="Apple Wallet - Actito notification configuration"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Google Wallet" %}
Add a back field with the following settings:

<table><thead><tr><th width="154"></th><th></th></tr></thead><tbody><tr><td>Header</td><td>Message</td></tr><tr><td>Value</td><td><code>{{ additionalData.actito_message }}</code></td></tr></tbody></table>

<figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FUPanwf6gZ9rakjWO7Ryf%2Fimage.png?alt=media&#x26;token=1de4abc6-2b43-4b3b-a022-bfde54d7874e" alt="Google Wallet - Actito notification configuration"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}
{% endstep %}
{% endstepper %}

Once setup is complete, the connector automatically creates the required tables and custom actions in Actito.

## FAQ

<details>

<summary><strong>What does Actito do vs what does The Wallet Crew do?</strong></summary>

Actito decides **who**, **when**, and **what** in scenarios.

The Wallet Crew runs the wallet layer: pass creation, updates, and notifications.

Customers don’t need an app. They add a pass to Apple Wallet or Google Wallet.

</details>

<details>

<summary><strong>What can I automate from Actito scenarios?</strong></summary>

* Update pass content (points, tier, balance, expiry, store info, custom fields).
* Send a wallet message with `neostore send message`.
* Refresh passes automatically when Actito profiles change.
* Branch by install status using `neostore_wallets` (notify vs email/SMS).

</details>

<details>

<summary><strong>How do I track who installed the pass?</strong></summary>

Install/uninstall status is synced into Actito in the `neostore_wallets` table.

Use it for segmentation, suppression, and scenario branching.

</details>

<details>

<summary><strong>What about consent and GDPR?</strong></summary>

Make wallet messages conditional on consent, especially for marketing.

See [Consents & GDPR compliance](https://docs.thewalletcrew.io/engage-and-animate/push-notification/consents-and-gdpr-compliance).

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thewalletcrew.io/connect/marketing-automation/actito.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
