> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho CRM

> Learn how to integrate Zoho CRM with MoEngage to sync leads, deals, and sales activities. Automate personalized campaigns based on lead scoring, deal stages, and customer interactions.

Zoho CRM is a powerful customer relationship management platform that uses cloud-based technology to help businesses streamline their sales, marketing, and customer support processes. This enables them to effectively manage customer interactions, track sales pipelines, and drive business growth.

## MoEngage × Zoho CRM

The integration of MoEngage and Zoho CRM empowers businesses to enhance their marketing and sales initiatives through seamless data synchronization. With this integration, you can:

* Synchronize leads, deals, and more from Zoho CRM to MoEngage.
* Import sales activities like calls and meetings as behavioral events.
* Capture custom modules for comprehensive customer profiling.

## Use Cases

Integrating Zoho CRM with MoEngage helps you solve the following use case:

* **Nurture qualified leads** : Send personalized MoEngage campaigns based on lead scoring and stage progression in Zoho CRM.
* **Re-engage lost opportunities** : Send targeted win-back campaigns when deals are marked as **Lost** or **Closed Lost** to re-engage prospects.

### Sync Modules

The following table outlines the default sync type for each module:

| Module         | MoEngage Sync Type    |
| -------------- | --------------------- |
| Contacts       | Users                 |
| Leads          | Users                 |
| Accounts       | Users                 |
| Deals          | Events                |
| Events         | Events (custom)       |
| Tasks          | Events (custom)       |
| Calls          | Events (custom)       |
| Meetings       | Events (custom)       |
| Custom Modules | Users/Events (custom) |

<Info>
  **Note Account Information:** The Accounts module is also supported. To ensure your data is always current, associated account information is synced with your Contacts and Deals records, respectively.
</Info>

## Integration

## Integration

<Check>
  **Prerequisites:** Ensure you have a Zoho CRM account with the necessary permissions to configure workflows and webhooks.
</Check>

## Step 1: Get Your MoEngage Endpoint

## Step 1: Get Your MoEngage Endpoint

To get a dedicated endpoint for your integration, please contact the MoEngage Support team. In your request, you must specify the common identifier used to link user profiles between MoEngage and the partner platform.

## Step 2: Create a Workflow Rule in Zoho CRM

To set up a workflow rule, perform the following steps:

1. On the Zoho CRM dashboard, navigate to **Settings** > **Automation** > **Workflow Rules**.
2. On the **Workflow Rules** page, click **Create Rule**. <img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830764971668.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=2df4fd28c7fe385dc165d4dd978d13d8" width="2152" height="1176" data-path="images/partner_40830764971668.png" /> \
   The **Create New Rule** dialog box appears. Now, select the module you want to sync. **Note**: Zoho workflows are module-specific; you must create a separate workflow for each module.
3. In the **Module** list, select the desired module, such as **Contacts**, **Leads**, **Deals**, **Calls**, **Meetings**, and so on.
4. In the **Rule Name** box, type a name for the rule.
5. In the **Description** box (Optional), type a description of the rule's purpose.
6. Click **Next**. <img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830749827348.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=db202ffe4625560399d0866a294dc7c7" width="2128" height="1140" data-path="images/partner_40830749827348.png" /> Now, configure the trigger.
7. In the **WHEN** block, click the drop-down list next to **Execute this workflow rule based on** and select **Record** **action**. This selection populates a dependent drop-down list.
8. In the dependent drop-down list, select an action type, such as **Create** or **Edit**.
9. Select the **Repeat this workflow whenever a contact is edited** check box (optional) if you want the workflow to repeat every time a record is edited.
10. Click **Next**. <img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830764972948.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=a12a00236dfc0d5c5e2f39baed2a840a" width="1954" height="838" data-path="images/partner_40830764972948.png" />
11. In the **CONDITION** block, you can define the following workflow rule to execute for all records or add specific filter conditions if needed.
    <Frame>
      <img src="https://mintcdn.com/moengage/t6fEoPALgYaz94Im/images/account-push.png?fit=max&auto=format&n=t6fEoPALgYaz94Im&q=85&s=ad8fa8a45a47c87269d6daa0a0a68012" alt="Account Push" width="2154" height="1090" data-path="images/account-push.png" />
    </Frame>

## Step 2: Create a Workflow Rule in Zoho CRM

To set up a workflow rule, perform the following steps:

1. On the Zoho CRM dashboard, navigate to **Settings** > **Automation** > **Workflow Rules**.
2. On the **Workflow Rules** page, click **Create Rule**. <img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830764971668.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=2df4fd28c7fe385dc165d4dd978d13d8" width="2152" height="1176" data-path="images/partner_40830764971668.png" /> \
   The **Create New Rule** dialog box appears. Now, select the module you want to sync. **Note**: Zoho workflows are module-specific; you must create a separate workflow for each module.
3. In the **Module** list, select the desired module, such as **Contacts**, **Leads**, **Deals**, **Calls**, **Meetings**, and so on.
4. In the **Rule Name** box, type a name for the rule.
5. In the **Description** box (Optional), type a description of the rule's purpose.
6. Click **Next**. <img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830749827348.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=db202ffe4625560399d0866a294dc7c7" width="2128" height="1140" data-path="images/partner_40830749827348.png" /> Now, configure the trigger.
7. In the **WHEN** block, click the drop-down list next to **Execute this workflow rule based on** and select **Record** **action**. This selection populates a dependent drop-down list.
8. In the dependent drop-down list, select an action type, such as **Create** or **Edit**.
9. Select the **Repeat this workflow whenever a contact is edited** check box (optional) if you want the workflow to repeat every time a record is edited.
10. Click **Next**. <img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830764972948.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=a12a00236dfc0d5c5e2f39baed2a840a" width="1954" height="838" data-path="images/partner_40830764972948.png" />
11. In the **CONDITION** block, you can define the following workflow rule to execute for all records or add specific filter conditions if needed.
    <Frame>
      <img src="https://mintcdn.com/moengage/t6fEoPALgYaz94Im/images/account-push.png?fit=max&auto=format&n=t6fEoPALgYaz94Im&q=85&s=ad8fa8a45a47c87269d6daa0a0a68012" alt="Account Push" width="2154" height="1090" data-path="images/account-push.png" />
    </Frame>

## Step 3: Configure a Webhook Action

To configure a Webhook action, perform the following steps:

1. In the **Instant Actions** list, select **Webhook**.\
   The **Webhook** dialog box appears.
2. Click **Configure Webhook**.

<img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830749830164.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=08c3b693b4e7e316c74ff3470f438e66" alt="" width="2298" height="612" data-path="images/partner_40830749830164.png" />

3. In the **Webhooks** page, provide the following details:

| Zoho CRM Section | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method           | **POST**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| URL              | Enter the dedicated Webhook URL provided by MoEngage in the following format: `https://api-0X.moengage.com/v1/partner/zoho-crm/{events/user}/?configName={config_name}`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Custom Headers   | Add the following custom headers: <ul><li>**Content-Type**: application/json</li><li>**Authorization**: Generate a Basic Authentication Token using an online [Basic Auth Header Generator tool](https://www.debugbear.com/basic-auth-header-generator). You must enter your **Workspace ID** as username and **Data API Key** as password. To find your credentials, perform the following steps:<br /><br />1. On the MoEngage UI, navigate to **Settings** > **Account** > **APIs**.<br />2. Copy the ID under **Workspace ID** (**earlier app id**).<br />3. Copy the **Data** under **API keys**.<br /><br />Your Basic Authentication Token is a combination of **Workspace ID** and **Data**. For example, paste the following value as your Basic Authentication Token: `Basic Qk5CR1NNNUR4eHh4eHhWQ1hSRFJEWTdSOlFsWHVoTHVaeHh4eHh4QWQrQnBYUEotNw==`<br />**Note**: Ensure the token is copied completely without extra spaces. <br /><br /></li></ul> |

<img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830764976788.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=377dbe21831bf8c6a5628da73326b845" alt="Image of Webhooks page" width="1600" height="872" data-path="images/partner_40830764976788.png" />

## Step 4: Configure the Webhook Request Body

In the Request Body section, you can select one of the following options:

* **Simple configuration** : Use [pre-built JSON payloads](/partner-guide/message-orchestration/crm/zoho-crm#mapping-references) with MoEngage's default field mappings.
* **Advanced configuration** : Use a [boilerplate template](/partner-guide/message-orchestration/crm/zoho-crm#mapping-references) to build your custom payload. To populate the key-value pairs with your specific data, use [Zoho CRM merge fields](https://help.zoho.com/portal/en/kb/crm/automate-business-processes/actions/articles/webhooks-workflow#Recognize_Unsupported_Merge_Field_Values).

### Boilerplate Templates

<Accordion title="For User Data (Contacts/Leads)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "first_name": "${Module.First Name}",
      "last_name": "${Module.Last Name}",
      "email": "${Module.Email}",
      "phone": "${Module.Phone}",
      "user_attributes": {
        "type": "Contacts", // or "Leads"
        "modified_time": "${Module.Modified Time}",
        // Add additional fields as needed - see reference tables below
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="For Event Data (Deals/Activities)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
       "event_name": "Deal Updated", // or custom event name
      "user_attributes": {
        "type": "Deals",
        "modified_time": "${Module.Modified Time}",
        // Add user context fields if needed
      },
      "event_attributes": {
        "modified_time": "${Module.Modified Time}",
        // Add event-specific fields - see reference tables below
      }
    }
    ```
  </CodeGroup>
</Accordion>

## Data Mapping Guidelines

* **Unique Identifier ( Customer ID)** : Use a consistent, immutable unique identifier (like an external\_id, email address, or phone number) from your Zoho CRM data. Map this value to the `customer_id` field in your MoEngage payload. This is critical for data merging and preventing duplicate user profiles.
* **Required Fields** : All payloads must include the `customer_id`, `modified_time`, and `type` fields. These are essential for proper data processing, lookups, and segmentation.
* **Type** : Specify the record type as "Contacts," "Leads," or "Deals" for accurate segmentation and targeting in MoEngage.
* **Date and Time Formatting** : Ensure all date and time fields, especially `modified_time`, are formatted as `dd-mm-yyyy` `HH:MM:SS`. This setting is configured in the Zoho webhook.
* **Event Name** : Include the `event_name` in every event to identify and categorize actions in MoEngage. This ensures all events are tracked accurately for analysis and segmentation.

### Mapping References

The following are the JSON mappings for modules like **Contact**, **Lead**, and **Deal**. You can use these examples or customize them by adding key-value pairs within the user\_attributes or event\_attributes objects.

<Accordion title="Contact Mapping (Users)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "first_name": "${Contacts.First Name}",
      "last_name": "${Contacts.Last Name}",
      "email": "${Contacts.Email}",
      "phone": "${Contacts.Phone}",
      "user_attributes": {
        "type": "Contacts",
        "contact_owner": "${Contacts.Contact Owner}",
        "lead_source": "${Contacts.Lead Source}",
        "modified_time": "${Contacts.Modified Time}",
        "account_name": "${Accounts.Account Name}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Lead Mapping (Users)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "first_name": "${Leads.First Name}",
      "last_name": "${Leads.Last Name}",
      "email": "${Leads.Email}",
      "phone": "${Leads.Phone}",
      "user_attributes": {
        "type": "Leads",
        "lead_status": "${Leads.Lead Status}",
        "company": "${Leads.Company}",
        "lead_source": "${Leads.Lead Source}",
        "modified_time": "${Leads.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Deal Mapping (Events)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "event_name": "Deal Updated", // or custom event name
      "user_attributes": {
        "type": "Deals",
        "modified_time": "${Deals.Modified Time}"
      },
      "event_attributes": {
        "deal_name": "${Deals.Deal Name}",
        "stage": "${Deals.Stage}",
        "deal_amount": "${Deals.Amount}",
        "closing_date": "${Deals.Closing Date}",
        "modified_time": "${Deals.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Custom Object Mapping: Meetings">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "event_name": "Meeting Scheduled",
      "user_attributes": {
        "modified_time": "${Meetings.Modified Time}"
      },
      "event_attributes": {
        "meeting_subject": "${Meetings.Subject}",
        "meeting_start_time": "${Meetings.Start DateTime}",
        "meeting_owner": "${Meetings.Owner}",
        "modified_time": "${Meetings.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Custom Object Mapping: Calls">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "event_name": "Call Logged", // or custom event name
      "event_attributes": {
        "call_id": "${Calls.Call Id}",
        "subject": "${Calls.Subject}",
        "call_type": "${Calls.Call Type}",
        "call_purpose": "${Calls.Call Purpose}",
        "related_to": "${Calls.Related To}",
        "start_time": "${Calls.Call Start Time}",
        "duration_formatted": "${Calls.Call Duration}",
        "duration_in_seconds": "${Calls.Call Duration (in seconds)}",
        "description": "${Calls.Description}",
        "result": "${Calls.Call Result}",
        "outgoing_status": "${Calls.Outgoing Call Status}",
        "agenda": "${Calls.Call Agenda}",
        "created_by": "${Calls.Created By}",
        "modified_by": "${Calls.Modified By}",
        "created_time": "${Calls.Created Time}",
        "modified_time": "${Calls.Modified Time}",
        "last_activity_time": "${Calls.Last Activity Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Custom Object Mapping Template">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
     "event_name": "Custom Event Name",
      "user_attributes": {
        "modified_time": "${Object.Modified Time}"
      },
      "event_attributes": {
        "specific_details": "${Object.Specific Fields}",
        "modified_time": "${Object.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

### Field References

The following fields provides you to to see which fields are supported for each module and their corresponding Zoho CRM merge fields.

<AccordionGroup>
  <Accordion title="Contact Field">
    | Field           | ZOHO Merge Field                 |
    | --------------- | -------------------------------- |
    | Department      | `${Contacts.Department}`         |
    | Title           | `${Contacts.Title}`              |
    | Mobile          | `${Contacts.Mobile}`             |
    | Fax             | `${Contacts.Fax}`                |
    | Assistant       | `${Contacts.Assistant}`          |
    | Email Opt Out   | `${Contacts.Email Opt Out}`      |
    | Skype ID        | `${Contacts.Skype ID}`           |
    | Twitter         | `${Contacts.Twitter}`            |
    | Created By      | `${Contacts.Created By}`         |
    | Created Time    | `${Contacts.Created Time}`       |
    | Last Activity   | `${Contacts.Last Activity Time}` |
    | Mailing Street  | `${Contacts.Mailing Street}`     |
    | Mailing City    | `${Contacts.Mailing City}`       |
    | Mailing State   | `${Contacts.Mailing State}`      |
    | Mailing Zip     | `${Contacts.Mailing Zip}`        |
    | Mailing Country | `${Contacts.Mailing Country}`    |
    | Description     | `${Contacts.Description}`        |
  </Accordion>

  <Accordion title="Lead Field">
    | Field           | ZOHO Merge Field            |
    | --------------- | --------------------------- |
    | Lead ID         | `${Leads.Lead Id}`          |
    | Lead Owner      | `${Leads.Lead Owner}`       |
    | Industry        | `${Leads.Industry}`         |
    | Rating          | `${Leads.Rating}`           |
    | Annual Revenue  | `${Leads.Annual Revenue}`   |
    | Employees       | `${Leads.No. of Employees}` |
    | Website         | `${Leads.Website}`          |
    | Street          | `${Leads.Street}`           |
    | City            | `${Leads.City}`             |
    | State           | `${Leads.State}`            |
    | Zip Code        | `${Leads.Zip Code}`         |
    | Country         | `${Leads.Country}`          |
    | Secondary Email | `${Leads.Secondary Email}`  |
    | Mobile          | `${Leads.Mobile}`           |
  </Accordion>

  <Accordion title="Deal Field">
    | Field                | ZOHO Merge Field                |
    | -------------------- | ------------------------------- |
    | Deal ID              | `${Deals.Deal Id}`              |
    | Deal Owner           | `${Deals.Deal Owner}`           |
    | Contact Name         | `${Deals.Contact Name}`         |
    | Probability          | `${Deals.Probability (%)}`      |
    | Expected Revenue     | `${Deals.Expected Revenue}`     |
    | Type                 | `${Deals.Type}`                 |
    | Next Step            | `${Deals.Next Step}`            |
    | Campaign Source      | `${Deals.Campaign Source}`      |
    | Created By           | `${Deals.Created By}`           |
    | Sales Cycle Duration | `${Deals.Sales Cycle Duration}` |
    | Reason for Loss      | `${Deals.Reason For Loss}`      |
  </Accordion>

  <Accordion title="Account Field">
    | Field          | ZOHO Merge Field             |
    | -------------- | ---------------------------- |
    | Account Name   | `${Accounts.Account Name}`   |
    | Account Type   | `${Accounts.Account Type}`   |
    | Industry       | `${Accounts.Industry}`       |
    | Account Number | `${Accounts.Account Number}` |
    | SIC Code       | `${Accounts.SIC Code}`       |
    | Rating         | `${Accounts.Rating}`         |
    | Phone          | `${Accounts.Phone}`          |
    | Ticker Symbol  | `${Accounts.Ticker Symbol}`  |
    | Annual Revenue | `${Accounts.Annual Revenue}` |
    | Ownership      | `${Accounts.Ownership}`      |
  </Accordion>

  <Accordion title="Activity Fields">
    #### Meetings

    | Field          | ZOHO Merge Field             |
    | -------------- | ---------------------------- |
    | Subject        | `${Meetings.Subject}`        |
    | Start DateTime | `${Meetings.Start DateTime}` |
    | Owner          | `${Meetings.Owner}`          |

    #### Calls

    | Field        | ZOHO Merge Field         |
    | ------------ | ------------------------ |
    | Call Type    | `${Calls.Call Type}`     |
    | Call Purpose | `${Calls.Call Purpose}`  |
    | Duration     | `${Calls.Call Duration}` |
    | Result       | `${Calls.Call Result}`   |

    #### Tasks

    | Field    | ZOHO Merge Field    |
    | -------- | ------------------- |
    | Subject  | `${Tasks.Subject}`  |
    | Status   | `${Tasks.Status}`   |
    | Priority | `${Tasks.Priority}` |
    | Due Date | `${Tasks.Due Date}` |
  </Accordion>
</AccordionGroup>

## Step 3: Configure a Webhook Action

To configure a Webhook action, perform the following steps:

1. In the **Instant Actions** list, select **Webhook**.\
   The **Webhook** dialog box appears.
2. Click **Configure Webhook**.

<img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830749830164.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=08c3b693b4e7e316c74ff3470f438e66" alt="" width="2298" height="612" data-path="images/partner_40830749830164.png" />

3. In the **Webhooks** page, provide the following details:

| Zoho CRM Section | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Method           | **POST**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| URL              | Enter the dedicated Webhook URL provided by MoEngage in the following format: `https://api-0X.moengage.com/v1/partner/zoho-crm/{events/user}/?configName={config_name}`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Custom Headers   | Add the following custom headers: <ul><li>**Content-Type**: application/json</li><li>**Authorization**: Generate a Basic Authentication Token using an online [Basic Auth Header Generator tool](https://www.debugbear.com/basic-auth-header-generator). You must enter your **Workspace ID** as username and **Data API Key** as password. To find your credentials, perform the following steps:<br /><br />1. On the MoEngage UI, navigate to **Settings** > **Account** > **APIs**.<br />2. Copy the ID under **Workspace ID** (**earlier app id**).<br />3. Copy the **Data** under **API keys**.<br /><br />Your Basic Authentication Token is a combination of **Workspace ID** and **Data**. For example, paste the following value as your Basic Authentication Token: `Basic Qk5CR1NNNUR4eHh4eHhWQ1hSRFJEWTdSOlFsWHVoTHVaeHh4eHh4QWQrQnBYUEotNw==`<br />**Note**: Ensure the token is copied completely without extra spaces. <br /><br /></li></ul> |

<img src="https://mintcdn.com/moengage/PFNGfsshc8y816er/images/partner_40830764976788.png?fit=max&auto=format&n=PFNGfsshc8y816er&q=85&s=377dbe21831bf8c6a5628da73326b845" alt="Image of Webhooks page" width="1600" height="872" data-path="images/partner_40830764976788.png" />

## Step 4: Configure the Webhook Request Body

<Accordion title="For User Data (Contacts/Leads)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "first_name": "${Module.First Name}",
      "last_name": "${Module.Last Name}",
      "email": "${Module.Email}",
      "phone": "${Module.Phone}",
      "user_attributes": {
        "type": "Contacts", // or "Leads"
        "modified_time": "${Module.Modified Time}",
        // Add additional fields as needed - see reference tables below
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="For Event Data (Deals/Activities)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
       "event_name": "Deal Updated", // or custom event name
      "user_attributes": {
        "type": "Deals",
        "modified_time": "${Module.Modified Time}",
        // Add user context fields if needed
      },
      "event_attributes": {
        "modified_time": "${Module.Modified Time}",
        // Add event-specific fields - see reference tables below
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Contact Mapping (Users)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "first_name": "${Contacts.First Name}",
      "last_name": "${Contacts.Last Name}",
      "email": "${Contacts.Email}",
      "phone": "${Contacts.Phone}",
      "user_attributes": {
        "type": "Contacts",
        "contact_owner": "${Contacts.Contact Owner}",
        "lead_source": "${Contacts.Lead Source}",
        "modified_time": "${Contacts.Modified Time}",
        "account_name": "${Accounts.Account Name}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Lead Mapping (Users)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "first_name": "${Leads.First Name}",
      "last_name": "${Leads.Last Name}",
      "email": "${Leads.Email}",
      "phone": "${Leads.Phone}",
      "user_attributes": {
        "type": "Leads",
        "lead_status": "${Leads.Lead Status}",
        "company": "${Leads.Company}",
        "lead_source": "${Leads.Lead Source}",
        "modified_time": "${Leads.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Deal Mapping (Events)">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "event_name": "Deal Updated", // or custom event name
      "user_attributes": {
        "type": "Deals",
        "modified_time": "${Deals.Modified Time}"
      },
      "event_attributes": {
        "deal_name": "${Deals.Deal Name}",
        "stage": "${Deals.Stage}",
        "deal_amount": "${Deals.Amount}",
        "closing_date": "${Deals.Closing Date}",
        "modified_time": "${Deals.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Custom Object Mapping: Meetings">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "event_name": "Meeting Scheduled",
      "user_attributes": {
        "modified_time": "${Meetings.Modified Time}"
      },
      "event_attributes": {
        "meeting_subject": "${Meetings.Subject}",
        "meeting_start_time": "${Meetings.Start DateTime}",
        "meeting_owner": "${Meetings.Owner}",
        "modified_time": "${Meetings.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Custom Object Mapping: Calls">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
      "event_name": "Call Logged", // or custom event name
      "event_attributes": {
        "call_id": "${Calls.Call Id}",
        "subject": "${Calls.Subject}",
        "call_type": "${Calls.Call Type}",
        "call_purpose": "${Calls.Call Purpose}",
        "related_to": "${Calls.Related To}",
        "start_time": "${Calls.Call Start Time}",
        "duration_formatted": "${Calls.Call Duration}",
        "duration_in_seconds": "${Calls.Call Duration (in seconds)}",
        "description": "${Calls.Description}",
        "result": "${Calls.Call Result}",
        "outgoing_status": "${Calls.Outgoing Call Status}",
        "agenda": "${Calls.Call Agenda}",
        "created_by": "${Calls.Created By}",
        "modified_by": "${Calls.Modified By}",
        "created_time": "${Calls.Created Time}",
        "modified_time": "${Calls.Modified Time}",
        "last_activity_time": "${Calls.Last Activity Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Custom Object Mapping Template">
  <CodeGroup>
    ```json JSON theme={null}
    {
      "customer_id": "${Unique_Identifier}",
     "event_name": "Custom Event Name",
      "user_attributes": {
        "modified_time": "${Object.Modified Time}"
      },
      "event_attributes": {
        "specific_details": "${Object.Specific Fields}",
        "modified_time": "${Object.Modified Time}"
      }
    }
    ```
  </CodeGroup>
</Accordion>
