# Create and synchronize person profiles

EARLY ACCESS

___

Person profiles in Customer Profiles reflect an individual's status in the customer journey. Leads and customers represent different stages, while anonymous visitors can be tracked through **Web SDK** before conversion.

To create person profiles, you need an Infobip [account](https://www.infobip.com/docs/essentials/getting-started/create-an-account) and customer information ready for import using:

- **Customer Profiles APIs**
- **SDKs**
- **External platforms**

Your current data setup and business goals determine the best connection method. For example, use Web SDK to connect your website to Customer Profiles and track user actions, or integrate your Salesforce or Microsoft Dynamics 365 account to send targeted messages.

___

## Create and update profiles

Choose from multiple methods to add and update person profiles in Customer Profiles. Select the approach that matches your business needs.

When creating a new profile using API, select its type: **Lead** or **Customer**. If not specified, the profile defaults to Customer type.

Web SDK can track events and update profile attributes for leads but cannot update the customer type.

Note
Do not use the following characters in First name, Last name, Middle name, and Nickname fields: `& < > " / \ \n \r : ( ) { } = ; #` This rule applies to profile creation and editing.

### Web interface
To manually create person or company profiles through the web interface, see [Create person profile](https://www.infobip.com/docs/customer-profiles/persons/create-person-profile).

The web interface provides step-by-step guidance for entering contact information, basic details, [tags](https://www.infobip.com/docs/customer-profiles/tags), and [custom attributes](https://www.infobip.com/docs/customer-profiles/configuration/person-custom-attributes).

### API [#api-create-and-update-profiles]

The Infobip Customer Profiles API connects your website, CRM, or app to the data platform.

Perform basic **CRUD** (Create, Read, Update, Delete) operations and advanced operations on:

- **Profiles**
- **Companies**
- **Tags**
- **Custom attributes**
- **Contact information: Push**
- **Events**

For more information, see the [Customer Profiles API documentation](https://www.infobip.com/docs/api/customer-engagement/people).

### Web SDK [#web-sdk-create-and-update-profiles]

**Web SDK** is a JavaScript library that enables website integration with Customer Profiles.

Web SDK enables progressive customer profiling by:

- Tracking activity of anonymous and known visitors on your website (sessions, pages viewed, custom site actions)
- Converting anonymous visitors to new leads or matching to existing lead profiles when they fill out web forms or subscribe to newsletters, merging their preidentification website activity to the identified profile
- Matching anonymous visitors to existing customer profiles during login and merging prelogin session events into the customer profile timeline
- Updating lead profiles with information collected from identified users on the website

If your website has **Google Tag Manager** integrated, add Customer Profiles Web SDK to Google Tag Manager to manage the SDK and other tracking tags in the same interface.

To get started, see the [Customer Profiles Web SDK](https://github.com/infobip/people-web-sdk) GitHub documentation.

### Mobile SDK [#mobile-sdk-create-and-update-profiles]

**Mobile SDK** covers leads and customers. Several scenarios apply.

When users install and open an app, an empty lead profile is created.

Check these quick start guides:

- [Android guide](https://github.com/infobip/mobile-messaging-sdk-android#quick-start-guide)
- [iOS guide](https://github.com/infobip/mobile-messaging-sdk-ios#quick-start-guide)
- [Huawei guide](https://github.com/infobip/mobile-messaging-sdk-huawei#quick-start-guide)

#### Plugin guides for frameworks

- [React Native guide](https://github.com/infobip/mobile-messaging-react-native-plugin#quick-start-guide)
- [Cordova guide](https://github.com/infobip/mobile-messaging-cordova-plugin#quick-start-guide)
- [Flutter guide](https://github.com/infobip/mobile-messaging-flutter-plugin#quick-start-guide)

When users log in and Infobip confirms this is a real lead profile using data from the third-party system:

- If the lead does not exist in Customer Profiles, a customer profile is created with the provided contact information
- If the lead profile exists, it is deleted based on matching email address or phone number; a new customer is created using the push registration (PushReg ID) with all provided information
- If the customer profile exists, PushReg ID moves from lead to customer profile and the lead is deleted

The **Users and Installations** documentation helps with setup:

- [Android and Huawei guides](https://github.com/infobip/mobile-messaging-sdk-android/wiki/Users-and-installations#personalization-phone-numbers-emails-and-external-user-id)
- [iOS guide](https://github.com/infobip/mobile-messaging-sdk-ios/wiki/Users-and-installations#personalization-phone-numbers-emails-and-external-user-id)

#### Additional plugin guides for frameworks

- [React Native guide](https://github.com/infobip/mobile-messaging-react-native-plugin/wiki/Users-and-installations#personalization-phone-numbers-emails-and-external-user-id)
- [Cordova guide](https://github.com/infobip/mobile-messaging-cordova-plugin/wiki/Users-and-installations#personalization-phone-numbers-emails-and-external-user-id)
- [Flutter guide](https://github.com/infobip/mobile-messaging-flutter-plugin/wiki/Users-and-installations#personalization-phone-numbers-emails-and-external-user-id)

When users log out, the app disconnects from the customer profile and creates a new, empty lead.

___

## Auto-profile management through internal integrations

External systems might connect to Infobip products. For example, a web page can have a call-toWhatsApp button that starts a chatbot session in Chatbots. When end users interact with such external systems, profiles are automatically created or updated in Customer Profiles.

- **[Journeys](https://www.infobip.com/docs/automation-studio/journeys)**: Collect leads and nurture them to customers through Journey (twoway communication tool) or use Broadcast for oneway communication. Information acquired during communication automatically updates in Customer Profiles. When an inbound SMS message is received over Journey and the person's profile does not exist, a lead is created in most cases. If a lead or customer profile exists, it is used in Journey.
- **[Chatbots](https://www.infobip.com/docs/automation-studio/chatbots)**: Save Chatbots platform events (chatbot session startend) to person profiles in Customer Profiles. This feature is enabled by default for Chatbots customers. When an end user starts a chatbot session:
  - If a profile exists, the events are added to the profile
  - If no profile exists, a new customer profile is automatically created in Customer Profiles and the platform events are added
- **[Inbox](https://www.infobip.com/docs/inbox)**: Save Inbox platform events (session startend) to person profiles in Customer Profiles. This feature is enabled by default for Inbox customers. When an end user starts an Inbox session:
  - If a profile exists, the events are added to the profile
  - If no profile exists, a new customer profile is automatically created in Customer Profiles and the platform events are added
- **[Forms](https://www.infobip.com/docs/forms)**: When an end user submits a form on your website:
  - If a profile exists, specific [processing rules](https://www.infobip.com/docs/forms/data-processing) are applied to the profile
  - If no profile exists, a new lead profile is automatically created in Customer Profiles

___

## Import profiles

To import lead, customer, and company data in bulk using files or API, see [Import person data](https://www.infobip.com/docs/customer-profiles/persons/import-person-data).

The import feature supports CSV, Excel, and other file formats, with detailed instructions for file preparation, field mapping, duplicate handling, and tracking import history.

___

## Synchronize profiles

Keep information between your platform and ours continuously flowing and updating through external integration options or API.

### API
Our API documentation guides you through setup. An API key is available through the Infobip API page. For further instructions about managing audiences, explore the [Customer Profiles](https://www.infobip.com/docs/api/customer-engagement/people) section in our customer engagement documentation.

### External integrations [#external-integrations-synchronize-profiles]

External integrations support all profile types available on the data platform. When mapping data, check that fields match (leadtolead and customerto customer).

___