Microsoft Dynamics 365 + Spectacle

Unify your entire
marketing ecosystem.

Every lead, account, and opportunity tied to the campaign that created it, custom tables included

Sign in to install

Integration Details

Built by

Spectacle

Category

CRM

Setup Time

About 15 minutes for the standard connection; custom tables scoped with us, typically 4 to 8 hours on our side and no build work on yours

Sync Frequency

Real-time

Authentication

OAuth through Microsoft Entra ID: an Entra admin grants consent to the Spectacle app, then creates an Application User in the Power Platform admin center with the System Customizer role

Compatible With

Dynamics 365 Sales (any licence). No marketing module, no Customer Insights, no Power BI access required

Overview

Spectacle connects to Microsoft Dynamics 365 through an application user in about 15 minutes and attributes every contact, account, and opportunity change, and any custom table you point it at, to the marketing touchpoints that came before it. Dynamics records that an opportunity moved stage. Spectacle records the Google Ads click 4 months earlier, the 3 colleagues from the same account who visited since, and the LinkedIn campaign that reached the first of them, and reports the opportunity's value against what each of those touchpoints cost.

At a glance

  • Category: CRM
  • Setup time: About 15 minutes for the standard connection; custom tables scoped with us, typically 4 to 8 hours on our side and no build work on yours
  • Authentication: OAuth through Microsoft Entra ID: an Entra admin grants consent to the Spectacle app, then creates an Application User in the Power Platform admin center with the System Customizer role
  • Dynamics 365 plan: Dynamics 365 Sales (any licence). No marketing module, no Customer Insights, no Power BI access required
  • Spectacle plan: Enterprise. Custom table mapping scoped per table. Company-level attribution on Scale and Enterprise
  • Direction: Dynamics 365 → Spectacle over webhooks. Audience and conversion syncs go Spectacle → ad platforms. Nothing is written back into Dynamics unless you set that up yourself through an automation
  • Objects: Contacts, accounts, opportunities, transaction currencies, and custom tables of your choosing (events, quotes, sales orders, memberships), with related records joined for value
  • Sync: Real time: Spectacle registers service endpoints and SDK message processing steps on the tables it listens to
  • Docs: /docs/microsoft-dynamics

The gap in Dynamics 365's own reporting

Dynamics 365 Sales knows the pipeline in detail and knows nothing about the website. There is no native website tracking, so a lead created from a web form arrives without a recognisable source, and the marketing manager sees 0 requests from a campaign that filled the pipeline. Microsoft's answer is Customer Insights - Journeys, a separate licence that is a customer data platform and automation tool: customer profiles, segments, journeys. It reports no ad performance from Google, Meta, or LinkedIn, and it does not join ad cost to opportunity value.

So the reporting moves to Power BI. Ad exports arrive through a connector, CRM data through another, and someone stitches them by date and campaign name. The result counts leads without their value, credits the last click, and cannot say which of the 4 people at an account saw the ad and which one filled in the form. The person who starts a sign-up is often not the person who finishes it, and Power BI has no way to know they belong together.

Spectacle sits underneath: a first-party tracking snippet on your site, your ad accounts connected for cost, and Dynamics changes turned into attribution events on the same timeline, including changes in the custom tables your Dynamics partner built.

What syncs

  • Contacts: Contact Created event; contact id, name, email, phone, job title, and associated account are synced so website visitors resolve to CRM contacts
  • Accounts: Account Created event; account id, name, and website, so contacts roll up to the account journey (Scale and Enterprise plans)
  • Opportunities: Opportunity Created and Opportunity Updated events with stage, value, and currency, one event per stage change
  • Transaction currencies: Opportunity values reported in your workspace currency
  • Custom tables: Any table you nominate becomes an event stream: an events table keyed by contact, a quote or sales order table, a membership table. Value can be joined from a related record, so revenue stays where your database design keeps it
  • Historical records: Backfilled from a date you choose, so people who show up on the website later are recognised mid-pipeline

The connection settings and the full property list live in the Dynamics 365 docs. This page summarises; Docs is the source of truth.

What you get

  • A source for every Dynamics lead, filled in by the journey. No reliance on a rep choosing a source field. The Google Ads keyword, the LinkedIn campaign, or the organic post is already on the timeline when the contact is created.
  • Opportunity value by channel, campaign, and keyword. Stage changes with value and currency flow in as they happen, so pipeline and closed value are reported against the touchpoints that produced them, across first-touch, last-touch, linear, and U-shaped models.
  • Account-level journeys. Every contact at the same account on one timeline (Scale and Enterprise plans), so a deal with 4 stakeholders is credited to the campaign that reached the first one, and the sign-up that one colleague started and another finished is one story.
  • Your data model, as it is. If you do not use the opportunity table, Spectacle listens to the table you do use. If revenue lives on a related record, Spectacle joins it there. Nothing has to be denormalised to make attribution work.
  • Cost per opportunity and per closed deal by channel. Ad spend from Google, LinkedIn, Meta, and Microsoft Advertising joined to Dynamics outcomes, and Dynamics milestones sent back to Google Ads, Meta, and LinkedIn as conversions and audiences so bidding optimises for pipeline.

Pairs with

Google Ads · LinkedIn Ads · Meta Ads · Microsoft Ads · Stripe ·

How Spectacle and Microsoft Dynamics 365 work together

  1. Grant consent and create the application user. An Entra ID admin grants consent to the Spectacle app in your tenant, then creates an Application User in the Power Platform admin center with the System Customizer role. That role is what lets Spectacle register webhooks; read rights can be limited to the tables you agree with us. Under 5 minutes, and it is a system user, so nothing depends on a person's account.
  2. Connect and choose the tables. Settings → Integrations → Microsoft Dynamics 365 → Connect, from your Spectacle workspace. Optionally set the User id and Account id fields for identity stitching, and tell us which custom tables to listen to and where value lives.
  3. Journeys fill in. Contact, account, opportunity, and custom-table changes arrive over webhooks and are stitched to the visits already recorded on your site. Historical records are backfilled from the date you choose.

Step by step with screenshots: Connect Microsoft Dynamics 365.

What you gain by connecting Microsoft Dynamics 365

  • A source for every Dynamics lead, filled in by the journey. No reliance on a rep choosing a source field.
  • Opportunity value by channel, campaign, and keyword. Stage changes with value and currency flow in as they happen, so pipeline and closed value are reported against the touchpoints that produced them, across first-touch, last-touch, linear, and U-shaped models.
  • Account-level journeys. Every contact at the same account on one timeline, so a deal with 4 stakeholders is credited to the campaign that reached the first one, and the sign-up that one colleague started and another finished is one story.
  • Your data model, as it is. If you do not use the opportunity table, Spectacle listens to the table you do use.
  • Cost per opportunity and per closed deal by channel. Ad spend from Google, LinkedIn, Meta, and Microsoft Advertising joined to Dynamics outcomes, and Dynamics milestones sent back to Google Ads, Meta, and LinkedIn as conversions and audiences so bidding optimises for pipeline.

See the integration in practice

A long-cycle B2C company running Dynamics 365 with no opportunity table at all, recording purchases in a custom events table with the amount on a related record, could see its ad spend in Power BI and its sales in Dynamics and nothing that connected the two. With the custom table and its related record mapped, a €900K buyer was traced end to end, from first click through every visit to the purchase record, without moving revenue onto the event or changing the database design.

About Microsoft Dynamics 365

Every lead, account, and opportunity tied to the campaign that created it, custom tables included

Popular Microsoft Dynamics 365 resources and guides

Understand how to connect your tools, improve attribution, and build better reporting across your revenue journey.

Build

Create integrations that connect your platform with Spectacle attribution and reporting workflows.

Learn more

Get listed

Publish your integration in the Spectacle directory and help teams discover new connected workflows.

Learn more

API & Docs

Explore Spectacle APIs, setup guides, and developer documentation to build custom workflows and integrations.

Learn more

FAQ

Does Spectacle integrate with Microsoft Dynamics 365?

Yes. Spectacle connects to Dynamics 365 through an application user in your tenant and turns contact, account, and opportunity changes, plus any custom tables you nominate, into attribution events on the customer journey in real time. The standard connection takes about 15 minutes and needs no marketing module.

How is Spectacle different from Dynamics 365 Customer Insights?

Customer Insights is a customer data platform and automation tool: profiles, segments, journeys, at a separate licence of roughly €1,500 per month [verify]. It reports no ad performance and does not join ad cost to opportunities. Spectacle is attribution: it tracks your website first-party, imports spend from Google, Meta, LinkedIn, and Microsoft Advertising, and reports pipeline and revenue by channel, campaign, and keyword. Many customers run Spectacle without any Microsoft marketing add-on.

We don't use the opportunity table. Can Spectacle work with our custom tables?

Yes. Tell us which table records the milestone (an events table, a quote or sales order table, a membership table) and where the value lives, and Spectacle listens to that table and joins the value from the related record. Your database stays normalised; nothing is copied onto the event. Custom tables are scoped with us per table.

What does our IT team need to do, and which tables does Spectacle read?

One Entra admin task: grant consent to the Spectacle app and create an application user with the System Customizer role, which is needed to register webhooks. Read rights can be limited to the agreed tables: contacts, accounts, opportunities, transaction currencies, and the custom tables you name. There is no build work on your side, the connection starts from the Spectacle workspace rather than the Azure marketplace, and you can connect a sandbox environment first [verify].

Do we have to give Spectacle access to Power BI, or replace it?

Neither. Spectacle needs nothing from Power BI and runs alongside it. Attribution lives in Spectacle's reports, and the attributed dataset is available through the Spectacle API for a Power BI model if Finance wants it there [verify export path]. Nothing is written back into Dynamics unless you set that up yourself through an automation.