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

# Let partners update many records at once

> Partners select deals or any other CRM records in the portal's table view, then change one property on all of them or run one of your forms once per record.

A partner with thirty open deals updates them one record at a time, so the quarterly clean-up either takes an afternoon or does not happen.
In the portal's table view, partners now tick the records they mean and act on all of them at once.
They change one property on the whole selection, or run one of your forms once per record, and every write still goes through the rules you set on the view.

## What you'll achieve

A partner selects several records in the table view of a shared pipeline or any CRM section, then either sets one property on all of them, such as a new close date, or presses one of your custom action buttons and submits its form once for every selected record.
Each record is written to your CRM on its own, with your CRM's validation, your form's approval gate and your CRM automation applied per record.

## Before you start

<Steps>
  <Step title="A CRM section in a partner experience">
    A shared pipeline or another CRM section already on a partner's experience, scoped to their records. See [Set up a shared pipeline](/features/co-selling/shared-pipelines/guides/set-up-a-shared-pipeline) if you do not have one yet.
  </Step>

  <Step title="Something partners are allowed to do">
    At least one property the partner may edit, or at least one custom action on the section. With neither, there is nothing to apply to a selection, so no checkboxes appear.
  </Step>

  <Step title="Edit access to the experience">
    You need edit access to the experience to change the section's configuration and publish it.
  </Step>
</Steps>

## Watch it

<Tabs>
  <Tab title="Video">
    <video controls playsInline preload="none" poster="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/steps/01.png?v=1790264286" className="w-full rounded-xl" src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/video.webm?v=1790264286#t=2.5" />
  </Tab>

  <Tab title="Click through">
    <iframe className="w-full rounded-xl" style={{ width: "100%", aspectRatio: "16 / 11", border: 0, backgroundColor: "#FAFAFA" }} src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/walkthrough.html?v=1790264286" />
  </Tab>
</Tabs>

## Steps

### Decide what partners can do to a selection

<Steps>
  <Step title="Open the section's configuration">
    Go to [partner experiences](https://app.introw.io/templates), open the experience, go to the tab with the CRM section, and open the section's configuration. Everything a selection can do comes from this one sheet, so there is no separate bulk setting to turn on.
  </Step>

  <Step title="Mark the properties partners may change in bulk">
    Under the property list, open a property's three-dots menu and choose **Allow partner to edit**. A partner can then change that property on one record or on many.

    * **Good candidates** - close date, next step, a forecast category, an amount a partner owns. These are fields where one value applies to many records.
    * **Keep read-only** - anything that needs a reason or a review, such as the stage when a lost deal must say why. Route those through a custom action instead.
    * **Visibility conditions count** - a property hidden on one of the selected records by **Configure visibility** is not offered for that selection, so a partner never sets a field on a record where it does not show.

    <Frame>
      <img src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/steps/04.png?v=1790264286" alt="A property menu on the Deal pipeline configuration, with Allow partner to edit." />
    </Frame>
  </Step>

  <Step title="Add a custom action for changes that need a form">
    Under **Custom actions**, choose **Add action button**, pick the form and set the **Button label**. The same button a partner presses on one record appears above the table when they select several.

    The form is submitted once per selected record. Each submission has its own record filled in, and goes through the form's approval gate and CRM automation on its own, so an approval step reviews each deal rather than the batch. For the full recipe of stage options, required reasons and write modes, see [Let partners update a deal with guardrails](/features/co-selling/shared-pipelines/guides/let-partners-update-a-deal-with-guardrails).

    A form without a record field for this object is submitted once for the whole selection rather than per record, so give the form a CRM object field for the object the section lists.

    <Frame>
      <img src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/steps/05.png?v=1790264286" alt="Custom actions on the Deal pipeline configuration: the Update deal form behind an Edit button, with one visibility condition." />
    </Frame>
  </Step>

  <Step title="Save and publish">
    Save the configuration and publish the experience, so the change reaches the partners assigned to it.
  </Step>
</Steps>

### Update records in bulk, as a partner

<Steps>
  <Step title="Switch to the table view">
    On a pipeline shown as a board, the partner picks **List view** in the switch at the top right. Bulk actions live in the table view only, because that is where records can be ticked. A section with one stage or none is always a table.

    <Frame>
      <img src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/steps/08.png?v=1790264286" alt="A partner pipeline switched to the list view, with a checkbox on every row." />
    </Frame>
  </Step>

  <Step title="Select the records">
    Each row has a checkbox, and the checkbox in the header selects the whole page. The header then reads `<n> selected`, followed by the actions that apply to every selected record. A submission that is still waiting for its CRM record cannot be selected, and the actions disappear when nothing on the view applies.

    <Frame>
      <img src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/steps/10.png?v=1790264286" alt="Three deals selected, and the header reading 3 selected with the Edit action beside it." />
    </Frame>
  </Step>

  <Step title="Change one property on all of them">
    **Edit** opens **Bulk edit `<n>` deals** (or the name of the object). The partner picks the **Property to update**, enters the value, and presses **Update `<property>`**.

    * **Property to update** - only the editable properties that show on every selected record.
    * **The value** - the same input as on a single record: a date picker for a date, the stage list for a stage, your CRM's options for a dropdown. Your CRM's validation rules run before anything is written.
    * **The outcome** - a toast confirms `Updated <n> deals`. If some records fail, the dialog stays open and reads how many were updated and how many could not be.

    <Frame>
      <img src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/steps/19.png?v=1790264286" alt="Bulk edit 3 deals, with Close Date picked as the property to update and a date picker for the value." />
    </Frame>
  </Step>

  <Step title="Or run a custom action on all of them">
    The custom action's button opens its form. The record field lists the selection under **`<n>` deals selected**, names up to eight of them, and reads **This form is submitted once for each selected record.** The partner answers the form once and presses **Submit**.

    A toast confirms `Submitted <n> selected records`. If some submissions fail, the form stays open, says how many landed, and **Submit** again retries only the records that are still missing, so nothing is sent twice.

    <Frame>
      <img src="https://assets.introw.io/docs/features/co-selling/shared-pipelines/guides/let-partners-update-many-records-at-once/steps/11.png?v=1790264286" alt="The Update deal form opened for three selected deals, listing each one and noting that the form is submitted once for each selected record." />
    </Frame>
  </Step>
</Steps>

## Verify it worked

* In the portal, preview the experience as a partner, switch the pipeline to **List view** and tick two records: the header reads **2 selected** with **Edit** and your custom actions beside it.
* After a bulk edit, the records show the new value in the portal and in your CRM.
* After a bulk custom action, your submissions list holds one submission per selected record, each linked to its own deal.

## Limits and what to know

* **Up to 100 records per edit.** A larger selection has to be split.
* **One property per edit.** Change two fields by running two edits, or use a custom action whose form sets both.
* **A selection only offers what applies to every record in it.** An editable property hidden on one of the selected records is not offered.
* **The rules still apply per record.** A bulk edit is refused for a property that is not editable on the view, and a bulk custom action runs the same approval gate and automation as a single submission.

## Related

<CardGroup cols={2}>
  <Card title="Let partners update a deal with guardrails" icon="shield-check" href="./let-partners-update-a-deal-with-guardrails">
    Build the form a custom action opens, with the rules it enforces.
  </Card>

  <Card title="Set up a shared pipeline" icon="chart-line" href="./set-up-a-shared-pipeline">
    The pipeline view partners select from.
  </Card>

  <Card title="Connect a form to your CRM" icon="plug" href="/features/forms/crm-automations/guides/connect-a-form-to-your-crm">
    How each submission writes back to the record.
  </Card>

  <Card title="Implementation reference" icon="screwdriver-wrench" href="../technical">
    Full configuration options.
  </Card>
</CardGroup>
