# Setting up your Salesforce custom object and table

To update your Salesforce Sales Cloud data through campaigning, you must first set up and configure your Salesforce table. You can then configure your channel in either Orbit or PeopleStage to begin campaigning.

This example shows how to create a custom **Model** table in Salesforce. It also sets up a channel to push updates to models for contacts within Salesforce Sales Cloud.

**Prerequisites**: Edit rights for the PeopleStage or Orbit channel editor.

## Create your custom object

1. In **Object Manager**, create a new custom object in Salesforce Sales Cloud called **Model**.

   - In Salesforce Classic: from **Setup**, search for **Objects** and select it.
   - In Salesforce Lightning: from **Setup**, select **Create** \> **Custom Object**.

   > **Note**
   >
   > For more detail, see [Create a Custom Object](<https://help.salesforce.com/s/articleView?id=platform.dev_objectcreate_task_parent.htm&amp;type=5>).

The **Model** object will store model data linked to contacts. When created, it includes a standard **Name** field and standard **Created Date**, **Last Modified By**, and **Owner** fields.

You must create the following custom fields:

- A custom **Score** field (Numeric 10,2) to hold the model score
- A custom **Master-Detail** field linking to a **Contact** record

## Create the score field

1. Under **Fields &amp; Relationships**, select **New**.
2. Select the **Number** data type and select **Next**.
3. Label the field **Score**.
4. Enter **10** for **Length** and **2** for **Decimal places**.
5. Select **Save**.

## Create the contact field

1. Under **Fields &amp; Relationships**, select **New**.
2. Select the **Master-Detail Relationship** data type and select **Next**.
3. Expand the **Related To** dropdown and select **Contact**.
4. Select **Next** \> **Save**.

## Create a match key

To upsert (insert or update) records, you need a unique identifier. This **match key** combines the model name and the contact identifier.

1. Create a custom field with the **Text** data type.
2. Name the field **ExternalID**.
3. Enter **20** for the length.
4. Tick the box next to **External ID** to mark it as the unique record identifier from an external system.
5. Select **Next** \> **Save**.

At this point, your custom object **Model\_\_c** should have:

- **Name** (standard)
- **Contact\_\_c** (Master-Detail linking to Contact)
- **Score\_\_c** (Numeric 10,2)
- **ExternalID\_\_c** (Text, external unique identifier)

You've now created your custom object. You can create your Salesforce channel in Orbit or PeopleStage to start uploading data through a campaign journey.

- [Salesforce channel setup in Orbit](<https://help.apteco.com/en/orbit/campaigns/channels/salesforce/index.md>)
- [Salesforce channel in PeopleStage](<https://help.apteco.com/en/admin/integration/salesforce/channel-in-peoplestage/index.md>)
