Data to AI™ / Copilot/Salesforce

Salesforce to Microsoft Copilot integration

Let sales leaders and finance ask a Teams agent about pipeline coverage, slipped deals and won revenue, answered from Salesforce objects Dataddo keeps in sync.

Less tokens, better answers.

  • Lower AI costs for the same work
  • More accurate, reliable answers
  • Read-only
  • Uses the Salesforce data you already sync
  • SOC 2 Type II certified
Microsoft 365 Copilot
Connected to Dataddo

Which open opportunities closing in September have not been touched for two weeks?

Copilot Answer · Salesforce

29 of the 85 open opportunities with a September CloseDate have not been modified in over 14 days. Qualification holds the most, with 17 stale deals.

StageNameOpportunitiesLastModifiedDate 14d+Stale share
Qualification Opportunities 421740%
Proposal Opportunities 28932%
Negotiation Opportunities 15320%

Read from the replicated Opportunities object; stale means LastModifiedDate, the default replication date field, is over 14 days old.

source
Salesforce · as of Mon 06:40 UTC
covers
CloseDate 1-30 Sep 2026
Example answer · fictional account and figures
Salesforce in Copilot

Questions Copilot can answer from your Salesforce data

Salesforce is a cloud CRM. Dataddo replicates the objects you choose, standard or custom, with the fields your org defines, or runs your own SOQL query.

Forecast answers in the sales channel

Ask Copilot

@Pipeline desk How many open Opportunities with a CloseDate this quarter sit in each StageName right now?

During the Monday forecast meeting, anyone in the sales leadership channel in Teams mentions the agent instead of waiting for sales ops to refresh a report.

Bookings check before revenue close

Ask Copilot

@Pipeline desk List Opportunities won last month with Name, Account and CloseDate so I can check them against the ledger.

A controller asks in Microsoft 365 Copilot before closing the month, then lines the list up with issued invoices to spot deals that were signed but never billed.

Dashboard types from real fields

Ask Copilot

Use the dataddo tools to describe Opportunity Line Items and generate a TypeScript type for the revenue dashboard from its fields.

A developer in VS Code builds the revenue dashboard on the org's real field names, custom ones included, instead of guessing them from an old export.

Salesforce datasets you can use in Copilot →
Pricing

Free during private pre-release.

Data to AI™ is free while in private pre-release. We onboard teams in waves and shape the product with their feedback. At launch, it will be priced like the AI assistants your team already uses. Need tailored contracts or volume pricing? Talk to us about Enterprise.

Data to AITM

Serve governed business data to Claude, ChatGPT and other AI tools over MCP.

Private pre-release

Free during pre-release

Enterprise

Flexibly deploy Dataddo in any cloud or hybrid environment.

Custom

We have a payment model that works for you

See all plans and features →
With vs. without

Salesforce in Copilot, with and without Dataddo

Without Dataddo With Dataddo Outcome for you
Where the team asks Sales leaders message sales ops in Teams and wait for someone to run a report and post a screenshot back. A Copilot Studio agent published to Teams and Microsoft 365 Copilot answers from the replicated Opportunities and Accounts objects directly. Answers inside Teams
When the agent calls Dataddo A general assistant cannot tell that pipeline questions need CRM data, so it answers from documents and email threads. The server description in Copilot Studio names Salesforce pipeline, opportunities and bookings, which tells the agent when to call Dataddo. CRM questions go to CRM data
What a channel can see A shared export in a Teams channel shows everyone every column, including contact phones and emails. Leave fields the wizard flags as sensitive out of the source, so the agent has no contact details to repeat in a channel. No contact data in Teams
Developers in VS Code Developers copy field names from an old export into dashboard code and miss the custom fields the admin added later. GitHub Copilot in Agent mode reads the same Salesforce entities through .vscode/mcp.json and describe_entity. Real field names in code
Token consumption Copilot spends tokens exploring raw Salesforce columns, sampling rows and retrying until it understands the data. Field definitions and relations are supplied up front, so the model skips the exploration and goes straight to the answer. Less tokens per answer
Answer quality Prone to wrong joins, invented fields and numbers that are hard to check. Answers grounded in defined fields. In the Dataddo benchmark, 78.5% of questions were answered correctly, against 65.5% with plain CSV files. Better answers
Datasets

Salesforce datasets you can use in Copilot

The Salesforce datasets finance and RevOps teams use most, with their real field names. Copilot queries them by name through the Dataddo semantic layer.

Opportunities

  • Id
  • Name
  • StageName
  • CloseDate
  • LastModifiedDate

Opportunity Line Items

  • Id
  • LastModifiedDate
  • SystemModstamp

Accounts

  • Id
  • Name
  • LastModifiedDate

Leads

  • Id
  • Name
  • LastModifiedDate

Custom Objects

  • Custom Fields
  • Record Types

Runs on the schedule you set. Each run re-reads a relative window on a date field such as LastModifiedDate and replaces that window's data, so older records are loaded with a full data re-sync.

Salesforce connector →
Benchmark

More right answers. Half the confident mistakes.

We asked 43 pre-registered questions of three real datasets - Google Search Console, HubSpot deals and Google Ads - and delivered the same rows to the same model in four ways. Only the data layer changed.

78.5%

of questions answered correctly - the best of the four delivery methods tested

2x

fewer confidently wrong answers - 14.0% of runs against 24.0% and 26.3%

2.8x

more correct answers on messy CRM data - better on 8 questions, worse on none

Answered correctly All 43 questions - higher is better
Wrong, but stated as fact Share of runs - lower is better

Same model, prompts and rows in every condition; 759 graded runs, ground truth frozen before any run. On Google Search Console alone, documented CSV files did as well as Data to AI™ - the advantage comes from messier data such as HubSpot deals.

Read the benchmark →
FAQ

Salesforce and Copilot: FAQ

How do I connect Salesforce to Copilot?

Replicate Salesforce objects such as Opportunities and Accounts in Dataddo and attach the flow to a Copilot destination or AI Model. In Copilot Studio, add a Model Context Protocol tool with https://headless.dataddo.com/mcp-data and OAuth 2.0 dynamic discovery, then publish the agent to Teams and Microsoft 365 Copilot. GitHub Copilot uses .vscode/mcp.json.

Can a Teams agent answer Salesforce forecast questions?

Yes. Build an agent in Copilot Studio, add Dataddo Data Access as a Model Context Protocol tool and publish it under Channels > Teams and Microsoft Copilot.

How do I make the agent use Dataddo only for CRM questions?

Write the server description in Copilot Studio around Salesforce pipeline, opportunities and bookings. The description tells the agent when to call Dataddo, so unrelated questions stay with Copilot.

Which Salesforce objects should I attach for the agent?

Only what the audience needs. After sign-in, the client reaches every flow or Context attached to an AI destination or AI Model in your account.

Can GitHub Copilot read the same Salesforce data?

Yes. Add the server to .vscode/mcp.json, start it, sign in and use Copilot Chat in Agent mode. On Copilot Business and Enterprise an org admin must first enable the MCP servers in Copilot policy.

Can the agent change Salesforce records?

No. The agent only reads Salesforce data Dataddo has already replicated, asking for entities and fields by name. Opportunities are updated in Salesforce by your team as before.

Why do some Salesforce characters look odd in Copilot answers?

Some characters, such as apostrophes, and emoticons cannot be displayed because of Salesforce's encoding policy. This is a Salesforce restriction, and you can change how they display on your side.