Learn about how ScopeStack syncs opportunities from our supported CRMs
ScopeStack supports syncing opportunities from common CRM tools to provide an easy way to get high-level customer information into the platform.
Once you have enabled CRM Opportunity Syncing on your account, you can find your opportunities under the drop-down menu on either a new project or the Project Overview page of an existing project.

Supported CRMs
We support syncing opportunities from the following CRMs
-
Connectwise Manage
-
Salesforce
-
Hubspot
-
Microsoft Dynamics 365
-
Autotask by Datto
We offer a couple of additional enhancements for Connectwise Manage. You'll be able to learn about those here.
You can find individual articles about setting up each connection elsewhere in the Help Center.
Fields a CRM Opportunity Updates in ScopeStack
When you select an opportunity from your CRM in ScopeStack, the following fields are updated:
Connectwise Manage Opportunities
Opportunity Sync
Connectwise Manage Fields becomes the following ScopeStack Field
- Opportunity Summary: Project Name
- Company: Client Name
- Company Site on the Opportunity: Service Location
- Sales Rep: Sales Executive
Revenue Sync
Scopestack creates a “forecast” with separate entries for Professional Services, Managed Services, and Product Revenue.
Dynamics 365 Opportunities
Opportunity Sync
Dynamics 365 Fields become the following ScopeStack Field
- Topic: Project Name
- Account: Client Name
- Account's Address: Service Location
- Opportunity Owner: Sales Executive
Revenue Sync
ScopeStack will create a ‘quote’ if none exists, and then create a 'quotedetail' record on that quote with the following details:
Scopestack Fields becomes the following Dynamics 365 Fields
Total Contract Revenue: priceperunit
Total Contract Cost: msdyn_costamount
Total Contract Cost: msdyn_estimatedcost
Inclusion or Exclusions of Expenses: msdyn_includeexpens
Inclusion or Exclusions of Products: msdyn_includematerial
Fixed Fee or T&M Payment Term Selection: msdyn_billingmethod
Salesforce Opportunities
Opportunity Sync
Salesforce Fields become the following ScopeStack Fields
Opportunity: Project Name
Account Name: Client Name
Account's Address: Service Location
Opportunity Owner: Sales Executive
Revenue Sync
The opportunity amount is updated with the Total Contract Revenue.
Autotask Opportunities
Opportunity Sync
Autotask Fields become the following ScopeStack Fields
Opportunity Title: Project Name
Opportunity Contact Name: Sales Executive
Opportunity Company Name: Client Name
Company Address: Service Location
Revenue Sync
ScopeStack Fields become the following Autotask Fields
Project.contract_revenue: Opportunity.amount
Project.contract_cost: Opportunity.cost
Project.mrr_terms: Opportunity.totalAmountMonths
Project.ps_revenue*: Opportunity.oneTimeRevenue
Project.ps_cost*: Opportunity.oneTimeCost
Project.ms_revenue**: Opportunity.xxxRevenue
Project.ms_cost**: Opportunity.xxxCost
* only for costs that are not amortized over the length of the MS contract
** xxxRevenue/xxxCost is monthlyRevenue/quarterlyRevenue/yearlyRevenue as dictated by the Project.payment_frequency value
Hubspot Opportunities
Opportunity Sync
Hubspot Fields become the following ScopeStack Fields
deal.name: Project Name
owner.name: Sales Executive
deal.company.name: Client Name
company address info: Service Location
Revenue Sync
The opportunity amount is updated with the Total Contract Revenue.
Revenue Information Syncing from ScopeStack back to your CRM

We support syncing back the projected revenue to the opportunity in your CRM. To complete this update, press the Update CRM button next to the project name on an approved project.
We also automatically update the revenue when a project is submitted for approval in ScopeStack. In most CRMs, you have the option to skip this automated update if you would like. You can check this option in the Connected App settings area for your CRM.
Syncing Frequency
We sync CRM opportunities every hour, on the hour:
-
Open opportunities: synced at half past the hour (e.g., 10:30 am, 11:30 am).
- Closed opportunities: synced at the top of the hour (e.g., 11:00 am, 12:00 pm).
Recently Changed Opportunities
To optimize performance, we do not reprocess all opportunities every cycle. Instead, we fetch only opportunities created or updated within the last 7 days.
-
This ensures data stays fresh while avoiding unnecessary load.
-
The time window may be reduced in the future (e.g., to 3 days) since longer disruptions can still be resolved manually if needed.
Opportunity State
How we determine whether an opportunity is “open” or “closed” depends on your CRM configuration:
-
Default behavior: we rely on the CRM’s native “closed” status field.
-
Custom configuration: you can define which statuses or stages should be considered “open.” In this case, any opportunity not in one of the configured statuses is treated as “closed."
Closed Flag in ScopeStack
Each synced opportunity in ScopeStack carries a closed flag:
-
If the closed flag = false → the opportunity appears in the CRM Opportunity dropdown when creating or updating a project.
-
If the closed flag = true → the opportunity will not appear in the dropdown.
Once a project has been linked to a CRM opportunity, the linked opportunity will continue to display in the project even if it later becomes “closed.”