CRM Opportunity Syncing

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 Project Name Sales Executive 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

Due to API rate limits on most common CRMs, we sync opportunities every hour at half past the hour:

  • At the half-hour (10:30 am, 11:30 am, etc.), we sync open/closed opportunities.

Opportunity State

  • Open Opportunities: Each platform has a different way to indicate that an opportunity is “open.” This could be a boolean flag (true/false) or a status. We query the CRM for opportunities that match the criteria and then iterate over the results. If we have not previously seen an opportunity returned from the CRM, we create a local record for it. If we have previously seen it, then we update any details that changed.

  • Closed Opportunities (literally, "Not Open" Opportunities): We query the CRM and ask for “opportunities that are not in the open state.” Any opportunity that is returned from the CRM has a “closed” flag set in ScopeStack. When that’s set, it will no longer appear in the “CRM Opportunity” drop-down.

We also support the customer specifying statuses of their choice that indicate “open.” Based on how an account defines “open," this can change the closed status definition. For example, it may mean “the closed flag is set” or “opportunity status is not one of the open statuses.”

Did this answer your question?