# Engage and Onboard New Customers  

When new users or customers sign up for your services or buy your product, you want to engage with them right away. You can do this using [Moments](https://www.infobip.com/docs/moments) and the communication channel your customers perfer, such as [WhatsApp](https://www.infobip.com/docs/whatsapp).
  
Solutions to combine:
  
- [Moments](https://www.infobip.com/docs/moments)
- [People](https://www.infobip.com/docs/people)
- Channels (in this tutorial, we've used [WhatsApp](https://www.infobip.com/docs/whatsapp) but you could use other messaging channels)

 NOTE
Please ensure that you check message template and creation rules depending on the messaging channel you want to use. Every channel is different so the message creation process may not always be the same.

This tutorial shows how to welcome your new customers by sending them a message to announce enticing new products that are in store for them. You could also repurpose this tutorial for other industry needs i.e. engaging customers about their insurance policy, banking, and e-commerce to name a few.

## Before Getting Started
  
To get started with this tutorial, you must have an Infobip account. [Log in](https://portal.infobip.com/login/) or [sign up](https://www.infobip.com/signup) for an account.
  
## Process Workflow
  
The following workflow shows the registration flow for WhatsApp including template checks and interaction with WhatsApp Business API client .
  
The flow may differ if you use other messaging channels to engage and onboard customers.

## Prerequisites
  
There are a number of prerequisites to be addressed before you implement this tutorial

1. **Channel dependent** - Ensure that your message template is approved (if necessary) by the appropriate channel provider.  
For example, WhatsApp must approve the **button_retail** template and then you can reuse it and personalize it for each customer to receive the notification
2. Decide the most appropriate method to track customer actions/events:

    1. [Web SDK](https://www.infobip.com/docs/people/events#javascript-sdk)  - In this particular use case, we need to track events with Web SDK.
    For detailed instructions, refer to the Web [SDK](https://www.infobip.com/docs/people/synchronize-your-audience#web-sdk-create-and-update) articles on our Documentation Hub. (Or get started immediately. Navigate to the **People** platform > **Events** > **Web**[SDK](https://portal.infobip.com/people/events/websdk)).
    2. [Mobile](https://www.infobip.com/docs/people/events#mobile-sdk)SDK
    3. [API](https://www.infobip.com/docs/people/events#events-api)

3. Create an event that will be the trigger for the other actions in the communication flow.
    Start by creating a new event that will be the trigger. In **Peopl** **e**, click  **Events > Custom Events >** **NEW EVENT DEFINITION**.
    In this case, you could use *Registration*as an event that will trigger other actions in the communication flow.
    (You will need to do the same for every event you plan to add to your communication.)

Once you have created a New Event Definition obtained your definition ID, go back to the [Web SDK](https://www.infobip.com/docs/people/synchronize-your-audience#web-sdk-create-and-update) library and copy the tracking method code to the body of your website.
  
 NOTE
Event tracking is possible when customers are logged into your website.

## Implementation Steps
  
### Steps over Web Interface [#steps-over-web-interface-implementation-steps]

1. In the **Moments** module (on the navigation bar), click **CREATE FLOW** and then **Start from Scratch**.
2. As your starting point, select **Trigger**> **People Real-Time Event**.
3. Select (previously set) Registration as the profile behavior the flow will wait for as an event.

4. Add the **Send WhatsApp message** element and choose the **buttons_retail** template. Remember if you want to send your message over a different channel i.e. RCS, Viber, or LINE then select the appropriate channel for your target audience at this step.

5. Now you need to define the payload for each button.

6. Add the **Evaluate Inbound** element and choose WhatsApp as the communication channel.

7. Create the button variable which will save your customer’s response.

8. Update the person profile’s already defined answer attribute with the newly created button variable.

9. Create a new entry point called **Change in People Profil**e and evaluate which button the customer has clicked on.
    To be evaluated successfully, the attribute must be in the following form:
    - BUTTON - Text: **Button text**, Payload:**Payload text**

10. Finally, based on the button your customers have chosen, send them the required information.

11. Select **Validate**(the flow won't launch when you click this) or schedule the Flow to be launched in the future by clicking **Schedule**.
12. If you did everything correctly, you will see a summary screen with the **LAUNCH NOW**button (if scheduling is not set) or **LAUNCH LATER** (if scheduling is se