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

# Sync custom objects to your CRM

> Push rows from a Starbridge bridge into a custom CRM object — for RFPs, meeting signals, purchase data, and other dynamic signals.

Use this flow when you want to sync rows from a Starbridge bridge into a custom object in your CRM. This is the right approach for dynamic signal types — RFPs, meeting mentions, purchase and contract data, or any signal where a single account can generate multiple instances over time.

Unlike account enrichment or contacts, dynamic signals shouldn't overwrite a field on the Account object. Each new signal is its own event. A custom object gives each signal its own record, associated to the account, so your team builds a historical record of activity rather than a single overwritten field.

<Info>
  This article assumes your CRM is connected and account matching is complete. See [Connect your CRM](/admins/connecting-your-crm) and [Account matching](/integrations/account-matching) if you haven't done these yet.
</Info>

## Video walkthrough

See [Starbridge University](/university/for-admins) for a walkthrough.

## Step-by-step instructions

See [Starbridge University](/university/for-admins) for a step-by-step example creating and syncing a job changes custom object.

<Steps>
  <Step title="Create the custom object in your CRM">
    Before configuring anything in Starbridge, create the custom object in your CRM:

    1. Define the object schema and fields — include the signal data you want to capture (for example, signal date, summary, type, recommended action, and talking points)
    2. Create a relationship (association) between the custom object and the Account or Company object so each signal record is linked to the right account

    <Note>
      Your CRM admin will typically need to complete this step. Once the object exists in your CRM, it needs to be enabled in Starbridge before you can use it in a sync column — see the next step.
    </Note>

    <AccordionGroup>
      <Accordion title="HubSpot: Managing relations (association limits)">
        HubSpot supports flexible many-to-many associations, multiple association labels, and multiple related records per object. This introduces an important constraint for Starbridge integrations.

        Starbridge only supports relations where a given Starbridge-managed object can be associated to at most one other object of a given type. This applies to all HubSpot custom objects used in Starbridge syncs.

        For example, if you create a custom object called **Job Change** and associate it with the HubSpot **Company** object:

        * A Company → many Job Changes is supported
        * A Job Change → at most one Company is required

        To configure this in HubSpot:

        1. Go to **Settings → Objects** and select the custom object.
        2. Choose the **Associations** tab.
        3. Select the association pair — for example, **Job Change ↔ Company**.
        4. Click **Create and configure → Configure association limit**. For the custom object → Company direction, set the limit to **1**.

        When configured correctly, Starbridge will surface a field on the custom object like **Company ID (Relation to Company)**. To assign or update the relationship during a sync:

        1. Select **Company ID (Relation to Company)** in your sync column field mappings.
        2. Map it to your account lookup column.
        3. Starbridge writes the association when creating or updating the custom object record.

        <Note>
          If the **Company ID (Relation to Company)** value isn't available from your account lookup column when syncing contacts, see [HubSpot-specific details](/crm-enrichment-columns#hubspot-specific-details).
        </Note>
      </Accordion>
    </AccordionGroup>
  </Step>

  <Step title="Expose the custom object to Starbridge">
    Go to **Settings → Integrations**, open your CRM integration, and click **Objects & fields**. Enable the custom object and all the fields you want Starbridge to write to, including the relationship field that links the custom object to the Account or Company object.

    Save your changes and allow the resync to complete before proceeding.
  </Step>

  <Step title="Add an account lookup column to your bridge">
    In your bridge, click **Add column → Configure integration → Lookup Record in CRM** and select the Account or Company object.

    Enable **Account matching** to resolve the right CRM account for each buyer row automatically. This lookup is what associates each custom object record to the correct account — if no account is found, the sync column should not create a record.
  </Step>

  <Step title="Add a sync column for the custom object">
    Click **Add column → Configure integration → Sync Record in CRM**, select your custom object, and set the sync type to **Create and manage record**.

    * Starbridge creates a new record in the custom object for each bridge row
    * Enable **Keep records up to date** if you want Starbridge to update existing records when data in the bridge changes over time
  </Step>

  <Step title="Map Starbridge fields to the custom object">
    Map each Starbridge column to the corresponding custom object field. Include the Account or Company ID from your account lookup column, mapped to the relationship field — this is what associates each record to the right account.

    Set all mapped fields to **Overwrite** so Starbridge can keep records current if values change.
  </Step>

  <Step title="Add a run condition">
    Add a run condition: only run if the account lookup column's Record ID is not empty. This ensures custom object records are always associated to a valid account and prevents orphan records from being created when no CRM account match is found.
  </Step>

  <Step title="Run the sync">
    Once your lookup column is resolving accounts consistently and your sync column is mapped, run the sync.

    <Tip>
      When adding the sync column, select **Run** **First 5 rows** and run the sync for those only. Verify that records were created correctly and associated to the right accounts. If anything looks off, adjust your field mappings or run condition before committing to the full bridge. Once you're satisfied, select the column and run for all rows.
    </Tip>

    Each cell updates to show **Success**, **No action taken**, or **Error**. Click into any cell to see a history of syncs for that row.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="What to sync with your CRM" icon="list" href="/integrations/what-to-sync">
    Planning guide for deciding which data types to sync and where they should live.
  </Card>

  <Card title="Sync job changes to your CRM" icon="briefcase" href="/integrations/sync-job-changes-to-your-crm">
    A specific implementation of the custom object pattern for job change signals.
  </Card>
</CardGroup>
