Skip to main content

Salesforce

Connect BidScript projects to your Salesforce opportunities — import opportunities, keep key fields in sync, push updates back, and share documents between both platforms.

T
Written by Tyler McCarthy

Overview

The Salesforce Integration connects BidScript projects to your organisation's Salesforce opportunities, keeping both systems in sync without manual data entry.

You can import an opportunity from Salesforce to create a BidScript project, keep key fields synchronised automatically, push updates from BidScript back to Salesforce, and share documents between both platforms.

This guide covers everything a day-to-day user needs to know to use the integration effectively.

Before You Begin

To use the Salesforce Integration, your team's Salesforce account must already be connected by an administrator in Settings > Integrations. If you cannot see the option to import from Salesforce, or sync controls are not visible, contact your BidScript administrator to confirm the connection is active.

You will also need project write permission within BidScript to import opportunities and trigger syncs.

Importing a Salesforce Opportunity

Importing an opportunity creates a new BidScript project linked to that opportunity. The link is permanent — a Salesforce opportunity can only be linked to one project per team, and the same opportunity cannot be imported twice.

Step 1 — Start a new project

From the left-hand sidebar, navigate to Projects Hub. Click New Project, then select Import from Salesforce.

Step 2 — Select your opportunity

BidScript displays a list of opportunities pulled directly from your connected Salesforce account. The list shows:

  • Opportunity: The opportunity name

  • Client: The associated account name

  • Stage: The current pipeline stage in Salesforce

  • Close Date: The opportunity close date

  • Amount: The opportunity value

Browse or scroll through the list to find the opportunity you want to import. Up to 100 opportunities are shown per page. Select the opportunity (or multiple opportunities) you want to import, then click Next.

Note: Opportunities already imported by your team will not appear in the list.

Step 3 — Map your stages (required)

Before the import completes, you must map your Salesforce pipeline stages to BidScript project statuses. This tells BidScript how to interpret stage changes coming in from Salesforce automatically.

For each Salesforce stage shown, select the corresponding BidScript status from the dropdown. You can map multiple Salesforce stages to the same BidScript status if needed — for example, mapping both "Proposal" and "Negotiation" to "In Progress".

Note: This step is required — you cannot skip it and return to it later. If you are unsure how your stages should map, speak to your bid manager or team lead before proceeding.

Once all stages are mapped, click Import.

What happens next

BidScript creates a new project and immediately pulls the following fields from Salesforce:

  • Project name = Opportunity Name

  • Client name = Account Name

  • Opportunity ID = Salesforce Opportunity ID

  • Client ID = Salesforce Account ID

  • Opportunity owner = Owner Name

Note: These fields are read-only in BidScript — they can only be updated by editing the opportunity in Salesforce. Changes in Salesforce will appear in BidScript automatically within 10 minutes.

Understanding the Sync

The sync behaviour for your project depends on which mode was configured by your administrator at onboarding. In two-way sync mode, changes flow in both directions between BidScript and Salesforce. In one-way sync (inbound only) mode, BidScript reads from Salesforce only — nothing is ever written back. If you are unsure which mode your team is using, check with your BidScript administrator.

Once imported, a BidScript project and its linked Salesforce opportunity stay in sync automatically. It is important to understand how and when that sync runs.

Automatic inbound sync (Salesforce to BidScript)

BidScript polls Salesforce for changes every 10 minutes. When a change is detected on the linked opportunity, BidScript updates the project automatically — no action is required from you.

Fields updated automatically from Salesforce include:

  1. Project name

  2. Client name

  3. Status (via your stage mapping)

  4. Probability

  5. Contract value

  6. Close date

  7. Opportunity owner

  8. Contact roles

Automatic outbound sync (BidScript to Salesforce)

When you edit certain fields in a linked BidScript project, those changes are pushed back to Salesforce automatically as you save. There is no separate push button for day-to-day edits.

The following fields sync from BidScript back to Salesforce:

  • Project name = Opportunity Name

  • Status = Stage Name

  • Probability = Probability

  • Contract value = Amount

  • Close date = Close Date

The following fields are not pushed back to Salesforce:

  1. Client / account name - read-only in BidScript for Salesforce-linked projects. To change the account, edit it directly in Salesforce.

  2. Contract currency - currency changes are saved locally in BidScript only and do not update Salesforce.

How sync conflicts are handled

Note: This section applies to two-way sync mode only. In one-way sync mode, BidScript never writes to Salesforce and no conflicts can arise.

In practice this means:

  1. If you edit a field in BidScript and the change is successfully pushed to Salesforce, the two systems remain aligned.

  2. If an outbound push fails (for example, due to a connection issue), the Salesforce version may overwrite your local change on the next inbound sync.

  3. There is no manual merge prompt — the most recently modified version in Salesforce takes precedence.

Best practice: If you are making important changes in BidScript, check the sync status shows as successful before making the same edit in Salesforce.

Manually Triggering a Sync

If you want to pull the latest Salesforce data into a project without waiting for the next automatic sync, you can trigger a manual sync at any time.

The Sync from Salesforce button is located in the top-right corner of the project overview page for every Salesforce-linked project. Click it to immediately fetch the latest data from the linked opportunity.

Manual sync pulls the same fields as the automatic inbound sync and follows the same timestamp logic.

Note: You need project write permission to trigger a manual sync.

Sync Status and Error States

BidScript displays the current sync status on the project overview page. If a sync fails — for example, because the Salesforce connection has expired or a write was rejected — the project will show an error state.

In two-way sync mode, when an error is shown a Resync now button will appear. Clicking it re-attempts the most recent outbound push (stage, amount, close date, and name). If the error persists, your Salesforce connection likely needs to be refreshed. In one-way sync mode, sync errors relate to inbound fetch failures only — there are no outbound writes to retry.

Reconnecting Salesforce

If BidScript cannot retrieve a valid Salesforce token, you will see a prompt to reconnect. Navigate to Settings > Integrations and reconnect your Salesforce account. Once reconnected, sync will resume automatically.

Files and Documents

Importing files from Salesforce

When you sync a linked project, BidScript can also import files attached to the Salesforce opportunity into the project's document area. Imported Salesforce files are tagged with their origin so BidScript can track and manage them.

To import files from a linked opportunity, use the sync option on the project's Files page.

Uploading BidScript documents to Salesforce

Documents you create or upload inside a linked BidScript project can be pushed to the corresponding Salesforce opportunity. When pushed, BidScript creates a new file version in Salesforce and publishes it to the linked opportunity.

Deleting synced documents

If you delete a BidScript document that was previously pushed to Salesforce, BidScript will also attempt to delete the corresponding file from Salesforce.

Note: Files originally imported from Salesforce are not pushed back to Salesforce during a sync. Only BidScript-originated documents can be uploaded to Salesforce.

Contact Roles

If the linked Salesforce opportunity has contact roles assigned, BidScript displays them on the project overview page. Contact role information is read-only in BidScript — to add, edit, or remove contact roles, do so directly in Salesforce. Changes will appear in BidScript on the next sync.

Information displayed includes: contact name, role, title, primary contact flag, phone, email, and account name.

Stage Mappings

Stage mappings define how Salesforce pipeline stages translate into BidScript project statuses. You set these during the initial import, but they can be updated at any time by an administrator in Settings > Integrations > Salesforce Stage Mappings.

If a Salesforce stage arrives that has no mapping, BidScript will mark the project status as Unmapped. To resolve this, update your stage mappings to include the new stage.

Opening the Linked Salesforce Opportunity

To navigate directly to the linked opportunity in Salesforce, use the Open in Salesforce link on the project overview page. This opens the opportunity in your Salesforce instance in a new tab.

Limitations and Known Behaviours

  • Same opportunity imported twice: Blocked automatically — duplicates are prevented

  • Opportunity deleted in Salesforce: BidScript project remains unchanged; sync stops updating it; outbound writes may show errors; no automatic notification is sent

  • Unlinking a project from an opportunity: Not currently supported in the product UI

  • Editing client / account name in BidScript: Not supported — edit in Salesforce; changes sync within 10 minutes

  • Currency changes in BidScript: Saved locally only — not pushed to Salesforce

  • Maximum opportunities shown on import: 100 per page

  • Inbound sync frequency: Every 10 minutes (automatic)

  • Outbound retry frequency: Every 1 minute for failed writes (two-way sync mode only; not applicable in one-way sync mode)

Frequently Asked Questions

Can I import an opportunity a colleague has already imported?

No. Each Salesforce opportunity can only be linked to one BidScript project per team. If you need to collaborate on the same opportunity, ask your colleague to add you to the existing project.

I edited a field in BidScript, but Salesforce still shows the old value. What should I do?

This applies in two-way sync mode only. Check the sync status on the project overview. If it shows an error, click Resync now. If the error persists, reconnect your Salesforce account in Settings > Integrations. If your team is configured for one-way sync, changes made in BidScript are not pushed to Salesforce — edit the field directly in Salesforce instead.

Salesforce shows a different stage to what BidScript shows. Which is correct?

Check your stage mappings in Settings > Integrations > Salesforce Stage Mappings. The Salesforce stage may not have a mapping, which would cause it to show as Unmapped.

My project shows "Could not update Salesforce" — what does this mean?

This error only appears in two-way sync mode. An outbound write failed. BidScript will retry automatically every minute. If the error persists, reconnect your Salesforce account in Settings > Integrations. If you are on one-way sync, you should not see this error — contact your administrator if you do.

Can I unlink a BidScript project from its Salesforce opportunity?

This is not currently available in the product UI. Contact your BidScript administrator if you need to resolve a specific situation.

What happens if I delete a file in BidScript that came from Salesforce?

BidScript will attempt to delete the corresponding file from Salesforce as well. Imported Salesforce files are tracked by their Salesforce document ID.

Did this answer your question?