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

# Customize accounts created by Pipeline Agents

Use a Salesforce Flow to set required fields and default values on Accounts created by ShiftUp. This helps new Accounts meet your Salesforce validation rules and follow your team's conventions—for example, assigning an account type, record type, or custom classification before the record is saved.

The **ShiftUp Pipeline Account Before Create** flow runs when a strategy candidate activation creates a new target Account or supporting parent Account. Each new Account passes through the flow separately. Existing Accounts reused during activation keep their current field values.

## **Before you begin**

* Confirm your installed ShiftUp version includes **ShiftUp Pipeline Account Before Create** under Salesforce **Setup → Flows**.
* Use an administrator account with **Manage Flow** permission and access to the packaged flow.
* Identify the fields and valid values your org requires, and confirm which user is your ShiftUp integration user.
* Configure and test the override in a sandbox first.

## **1. Open the packaged flow**

In Salesforce **Setup**, enter **Flows** in Quick Find. Select **Flows**, then open **ShiftUp Pipeline Account Before Create**.

<img src="https://mintcdn.com/shiftup/LX0U4RpGjIxfdxoS/images/Select-Account-Before-Create-Flow.png?fit=max&auto=format&n=LX0U4RpGjIxfdxoS&q=85&s=044b67cac213368d83198eb840a8f848" alt="Select Account Before Create Flow" width="2930" height="2164" data-path="images/Select-Account-Before-Create-Flow.png" />

## **2. Create your flow override**

Click **Save As New Flow**.

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Save-ShiftUp-Flow-as-a-new-version-for-edits.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=30a41434d9caa262ec1e5eb2a3994da5" alt="Save Shift Up Flow As A New Version For Edits" width="2930" height="1136" data-path="images/Save-ShiftUp-Flow-as-a-new-version-for-edits.png" />

Enter a descriptive label, such as **Custom ShiftUp Pipeline Account Before Create**, accept the generated API name, and click **Save**. The save dialog explains that the new flow overrides and remains linked to the packaged flow. Confirm the **Override** badge appears in Flow Builder.

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Create-a-new-flow-override-for-the-ShiftUp-flow.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=76ec3e4efb86ecaab74c761840196b82" alt="Create A New Flow Override For The Shift Up Flow" width="1940" height="1460" data-path="images/Create-a-new-flow-override-for-the-ShiftUp-flow.png" />

Keep the inherited resources:

| Resource | Required configuration |
| :- | :- |
| `account` | A single **Record** variable for **Account**, available for both input and output. |
| `context` | A single **Apex-Defined** variable of type **GSPipelineAccountCreationContext**, available for input. |

The linked override is what makes Salesforce run your customization automatically when ShiftUp calls the packaged flow.

## **3. Assign your Account fields**

Open the **Keep Prepared Account** Assignment element and rename it **Set Account Fields**. Add assignments to fields on the existing `account` variable, using the **Equals** operator.

| Field | Example value |
| :- | :- |
| Account Type (`account.Type`) | `ShiftUp`, if configured as an allowed picklist value in your org. |
| Record Type ID (`account.RecordTypeId`) | The ID of the Account record type you want to use in this org. |
| A custom required Account field | A valid default for your business process. |

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Configure-Custom-Account-Field-Assignments.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=87dab526b9265707a9051b58ecaea74e" alt="Configure Custom Account Field Assignments" width="2918" height="2252" data-path="images/Configure-Custom-Account-Field-Assignments.png" />

> **Record type correction:** The screenshot's second row selects **Master Record ID**. To assign a record type, select **Record Type ID** (`RecordTypeId`) instead. Use a valid ID from your org; `012…` is only a placeholder.

Modify fields on the supplied Account so its prepared values are retained. Leave **Name**, **OwnerId**, **ParentId**, and **tvggs\_\_Pipeline\_Materialization\_Key\_\_c** unchanged, and leave **Id** empty.

Use this flow to prepare field values. Do not add **Create Records**, **Update Records**, **Delete Records**, pauses, or asynchronous work; ShiftUp saves the returned Account after the flow finishes.

## **4. Add conditional defaults (optional)**

To apply different values by Account role or seller profile, add a **Decision** element and choose a property from the `context` resource.

| Property | Meaning |
| :- | :- |
| `context.accountType` | `Parent` for a new supporting parent; `Target` for the Account being activated, including a standalone Account. |
| `context.sellerProfileId` | The Salesforce ID of the seller profile used for the activation. |
| `context.sellerProfileName` | That seller profile's display name. |

For example, test whether `context.accountType` equals `Parent`, then put a separate Assignment on each decision branch. You can also vary defaults by seller profile. Ensure every branch supplies any required fields.

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Explore-Account-Create-Context-Options.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=f4750b24a6e06e6f9700d25d848eb75d" alt="Explore Account Create Context Options" width="2944" height="2058" data-path="images/Explore-Account-Create-Context-Options.png" />

`context.accountType` identifies the Account's role in this creation process. The Salesforce Account **Type** field is a separate value that you assign on `account`.

## **5. Save and activate**

Click **Save**, then **Activate**. Confirm your custom flow shows **Active** and retains the **Override** badge.

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Activate-Flow.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=9225f0e8c409d385f439e766838c6769" alt="Activate Flow" width="2934" height="718" data-path="images/Activate-Flow.png" />

## **6. (Optional) Give the integration user access**

ShiftUp's integration user runs the flow during account creation. If you have enabled restricted access to your custom flow then you must grant access to your **custom override** flow.

In **Setup → Permission Sets**, open **ShiftUp Standard Permissions**, as shown below, or the editable permission set your org uses for the integration user.

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Integration-User-Standard-Permission-Set.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=c86f28faa3a306f7d015c8e082677a48" alt="Integration User Standard Permission Set" width="2380" height="238" data-path="images/Integration-User-Standard-Permission-Set.png" />

Under **Apps**, select **Flow Access**, then **Edit**.

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Integration-User-Standard-Permission-Set-Flow-Access.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=3ae2b22f5a446dd1850fb45ded16f61b" alt="Integration User Standard Permission Set Flow Access" width="2944" height="1608" data-path="images/Integration-User-Standard-Permission-Set-Flow-Access.png" />

Select **Custom ShiftUp Pipeline Account Before Create**, move it to **Enabled Flows**, and click **Save**.

<img src="https://mintcdn.com/shiftup/2nYxwPATCl98Y26p/images/Integration-User-Standard-Permission-Set-Enable-Restricted-Flow.png?fit=max&auto=format&n=2nYxwPATCl98Y26p&q=85&s=ecf0dfcf3fd5d762abe11cd423b922b4" alt="Integration User Standard Permission Set Enable Restricted Flow" width="2936" height="1522" data-path="images/Integration-User-Standard-Permission-Set-Enable-Restricted-Flow.png" />

Use **Manage Assignments** to confirm this permission set is assigned to the integration user; add the user if needed. Also confirm the user has **Run Flows**, normally provided by ShiftUp's integration permissions. If missing, enable it in an assigned permission set under **App Permissions → Flow and Flow Orchestration**.

If the custom flow is missing from **Available Flows**, return to **Setup → Flows**, open its action menu, and choose **Edit Access**. Enable the option to restrict access to enabled profiles or permission sets, save, and return to **Flow Access**. Restricted flows require explicit access even for users with general flow permissions. See [Salesforce's flow access guidance](https://help.salesforce.com/s/articleView?id=platform.flow_distribute_security.htm\&language=en_US\&type=5).

## **Verify the result**

Activate a strategy candidate that creates a new Account through ShiftUp, then check the resulting Account's field values. If your setup creates a new parent too, check both Accounts. Reusing an existing Account should leave its fields unchanged.

If creation fails, check the active override, integration-user access, required fields, and protected fields listed above. Correct the issue and retry. A failure in this flow stops Account creation and rolls back new records from that creation attempt.

To return to ShiftUp's default behavior, deactivate the custom override. This affects future creation attempts; Accounts already created keep their saved values.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.