> For the complete documentation index, see [llms.txt](https://docs.boomerangme.cards/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.boomerangme.cards/api/webhooks.md).

# Webhooks

### What is a webhook?

A webhook is a way for Boomerangme to **automatically notify another system** the moment something happens in your account — without anyone needing to check manually.

Think of it like a notification: instead of you logging in every hour to check "did a new customer sign up?", Boomerangme sends a message straight to a URL you provide, the instant it happens. That message contains the details of what happened (for example, which card was issued, or which customer scanned their card).

You don't need to be a developer to use webhooks — but the URL you enter needs to belong to a system that can **receive** this kind of message. This could be:

* A tool like **Zapier**, **Make.com**, or **n8n**, which can turn the webhook into an action (like adding a row to a spreadsheet or sending a Slack message) — no coding required.
* Your own CRM, database, or internal tool, if your developer has set one up to receive it.
* A testing tool like **Beeceptor** (see the "Testing a webhook" section below), if you just want to see what the data looks like before connecting it to anything real.

### What can I use a webhook for?

Some common examples:

* **Get a real-time notification your team can see** the moment a customer's card is scanned (`CardScannedEvent`) — for example, through Slack or a similar team chat tool.
* **Automatically add new customers to a spreadsheet or CRM** when a card is issued (`CardIssuedEvent` / `CustomerCreatedEvent`).
* **Track subscription payments in your accounting system** as they happen (`PaymentCompletedSuccessfulEvent`, `PaymentRefundedEvent`).
* **Trigger a marketing automation** (like adding someone to an email list) when a new sub-account or customer registers.
* **Sync loyalty balance changes** into your own dashboard or BI tool in real time (`CardBalanceUpdatedEvent`).

{% hint style="info" %}
**Note for agencies:** webhooks aren't only about loyalty cards and customers. There's also a separate group of events for **sub-accounts** (`CompanyCreatedEvent`, `CompanyRemovedEvent`, `ManagerCreatedEvent`, etc.) and **payments/subscriptions**. These are especially useful if you manage multiple clients — for example, getting notified the moment a new sub-account is created, or when a client's subscription payment fails, without having to check manually.
{% endhint %}

{% hint style="info" %}
If you're not sure which event fits what you're trying to build, check the full list of events further below on this page, or ask your account manager.
{% endhint %}

{% embed url="<https://www.loom.com/share/940c50509f104689bf593bb6326280ac>" %}
API and Webhooks
{% endembed %}

Webhooks section allows you to view the existing as well as create new Webhooks. Let us take a look at how this is done.

> **Boomerangme > Left-Hand Menu > Settings**

### How to add a webhook

1. Follow the above-mentioned workflow to land on the Settings screen.
2. From the tabs listed at the top, click Webhooks. Doing so takes you to the Webhooks screen.

<figure><img src="/files/IDiiNudeGKuAJYJ1hDTf" alt=""><figcaption><p>Webhooks</p></figcaption></figure>

3. To create a webhook, click the Add webhook button. This opens the Add webhook popup.

<figure><img src="/files/DKlUmJbV98VGLkgNdA7M" alt=""><figcaption></figcaption></figure>

4. Here, enter the URL in the field displayed at the top of the popup.

<figure><img src="/files/buYlX7ZjTn5EEvDnHRmc" alt=""><figcaption></figcaption></figure>

5. Mark the checkbox for the event(s) for which you want to trigger the webhook.

<figure><img src="/files/dysIr3PPP8XB84H0rtNe" alt=""><figcaption><p>Events</p></figcaption></figure>

7. As the selections are made, mark the status as enabled using the Status toggle button. Once the required selections are made, click the Add Webhook button.&#x20;

<figure><img src="/files/0S3F7Z0Wp5xywUh1xzp2" alt=""><figcaption></figcaption></figure>

7. This adds the webhook and displays it in the Webhooks list. Click on the webhook name and you will be able to change it.

<figure><img src="/files/MEbm8eOtkVuOrgAfw94T" alt=""><figcaption></figcaption></figure>

8. Be sure to save after making changes.

<figure><img src="/files/TJXKvld7bZyqcFecj5qA" alt=""><figcaption></figcaption></figure>

### Testing a webhook before connecting it to a real system

If you want to see exactly what data a webhook sends — before wiring it up to your CRM, spreadsheet, or automation tool — you can use a free tool like [**Beeceptor**](https://beeceptor.com) as a temporary "receiver" for testing.

{% hint style="info" %}
Beeceptor is a free third-party tool, not made by Boomerangme. It's only meant for testing — the test URL it gives you is public and temporary (it's deleted automatically after 45 days on the free plan), so don't use it for a real, ongoing integration.
{% endhint %}

1. Go to [beeceptor.com](https://beeceptor.com) and sign in (you can use your Google account).
2. Beeceptor will generate a unique mock URL for you to test with.

<figure><img src="/files/sw7uQBYxFxAuGO4Mr6AQ" alt=""><figcaption></figcaption></figure>

3. Copy this URL and paste it into the **URL** field when adding a webhook in Boomerangme (see "How to add a webhook" above).
4. Select the event(s) you want to test — for example, `CardIssuedEvent` or `CardScannedEvent` — and save the webhook.
5. Now trigger that event for real: for example, issue a card or scan a card, depending on which event you selected.
6. Go back to the Beeceptor page. You'll see the incoming request appear in the list, named after the event you triggered.

<figure><img src="/files/hrULJ8HpWliHcYyGqWla" alt=""><figcaption></figcaption></figure>

7. Click on that request to see exactly what data was sent — the **Request Body** shows the full payload Boomerangme sends for that event, and the **Response Body** confirms it was received successfully.

<figure><img src="/files/aKUUUfU9X5vGTNwBr97p" alt=""><figcaption></figcaption></figure>

This is a quick way to confirm what fields and data structure to expect, before asking your developer (or an automation tool like Zapier or Make.com) to build something around it.

Now that you know how webhooks work and how to test one, here's the full list of events you can subscribe to, grouped by category.

### Description of webhook events

### 🧍‍♂️ Cards & customers (card holders)

**CardBalanceUpdatedEvent**\
Triggered when the card balance changes (e.g., bonuses, cashback added or deducted).

**CardExpiredEvent**\
Triggered when a customer's card reaches its expiration date.

**CardInstalledEvent**\
Triggered when a card is added to the customer’s wallet (Apple Wallet / Google Wallet / PWA).

**CardIssuedEvent**\
Triggered when a new card is issued to a customer.

**CardRemovedEvent**\
Triggered when a card is removed by the customer or administrator. The card status changes from “installed” to “deleted”.

**CardScannedEvent**\
Triggered when the card is scanned by a scanner.

**CustomerCreatedEvent**\
Triggered when a new customer is created (either via card issuance or manual addition to the database).

**CustomerReferralCreatedEvent**\
Triggered when a referral is added (at the time of card issue via referral link).

**CustomerSegmentLinkedEvent**\
Triggered when a customer is moved to a new RFM segment based on their activity/value.

**FeedbackCreatedEvent**\
Triggered when a customer leaves feedback (either by selecting a star rating or writing a comment).

### 🏢 Subaccounts & Managers

**CompanyCreatedEvent**\
Triggered when a new subaccount is registered.

**CompanyRemovedEvent**\
Triggered when a subaccount is deleted.

**ManagerCreatedEvent**\
Triggered when a new manager is created.

**ManagerRemovedEvent**\
Triggered when a manager is removed.

### 💸 Payments & Subscriptions

**PaymentCompletedSuccessfulEvent**\
Triggered when a subscription payment is successfully completed by a subaccount.

**PaymentCompletedFailedEvent**\
Triggered when a subscription payment attempt fails.

**PaymentRefundedEvent**\
Triggered when a payment is refunded to a subaccount.

**RecurrentPaymentCompletedFailedEvent**\
Triggered when a recurring subscription payment attempt fails.

### 📅 Subscription/Tariff Events

**TariffActivationDateChangedEvent**\
Triggered when the tariff start date is updated for a subaccount.

**TariffExpiredPaymentEvent**\
Triggered when a subaccount’s subscription expires due to non-payment.

**TariffFiveDaysBeforePaymentEvent**\
Notification 5 days before the subscription is charged, including before the end of the trial period (for subaccounts).&#x20;

**TariffThreeDaysBeforePaymentEvent**\
Notification 3 days before the subscription is charged, including before the end of the trial period (for subaccounts). .

**TariffOneDayBeforePaymentEvent**\
Notification 1 days before the subscription is charged, including before the end of the trial period (for subaccounts). .

**TariffPaymentCreatedEvent**\
Triggered when a new subscription payment is created for a subaccount.

**TariffPaymentDayEvent**\
Triggered on the actual payment date.

### 🧾 Marketing Events (Subscription Webhooks)

**webhook\_MarketingFirstTariffPayment**\
Triggered after the **first** successful tariff payment by a subaccount.

**webhook\_MarketingRepeatedTariffPayment**\
Triggered after the **second or subsequent** tariff payment by a subaccount.

**webhook\_MarketingTariffPaymentFailed**\
Triggered when a tariff payment attempt fails.

**webhook\_MarketingTrialStarted**\
Triggered when a subaccount starts a trial period.

**webhook\_MarketingSubscriptionCancelled**\
Triggered when a subaccount cancels their subscription.

**webhook\_MarketingPaymentCardLinked**\
Triggered when a subaccount adds a payment card for their subscription.

**webhook\_MarketingUserDataChanged**\
Triggered when a subaccount updates their personal data (e.g., name, email).

### 📦 Templates

**UserTemplateActivatedEvent**\
Triggered when a card template is activated in an account or subaccount.

**UserTemplateCreatedEvent**\
Triggered when a new card template is created.

**UserTemplateDeactivatedEvent**\
Triggered when a template is deactivated, for example when a subaccount plan is downgraded.

**UserTemplateRemovedEvent**\
Triggered when a template is deleted from the account/subaccount.

**UserTemplateUpdatedEvent**\
Triggered when changes are made to the template in an account (not for a subaccount).
