In this week’s SmartConnect Office Hours, we covered the new Dataverse (Customer Engagement/CRM) connector. In this article, we recap the new capabilities, as well as what’s changed for anyone who has worked with SmartConnect in the older cloud or on-premise environments. Let’s get started.
If you’d like to see a video explaining this, check it out here:
Customer Engagement Connector Overview
In SmartConnect, we call this the Customer Engagement Connector, while Microsoft calls it the Dataverse API. Customer Engagement is just one module that sits on top of the Dataverse, so the connector isn’t limited to one app. It works for any Dynamics 365 app built on Dataverse, including Sales and Field Service.
SOAP to REST
The biggest change to this connector is on the back end: moving the connector from the older SOAP API to a REST API. This change was made to keep up with the evolving world and to take advantage of the latest and greatest that Microsoft provides. The team’s goal was to keep this from disrupting anything on the front-end, including integration builder troubleshooting and error handling. The result is parity with the old functionality, simplified, but with all the key features our customers and partners already know.
What’s Staying the Same?
The connector still supports bulk-change and real-time data sources to trigger the integration to run on anything, and it’s still powered by a CRM plug-in. The team looked at retiring the plugin and just using the delta tracking and webhook functionality that Microsoft provides, but it didn’t give us the granular control we wanted, so we will continue to utilize our CRM plug-in.
Another thing that’s not changing is that all three data sources still support the FetchXML query builder experience. Now, one thing to note is that the REST API allows for an OData approach (similar to what SmartConnect does with Business Central). We decided to keep the query builder functionality for a more powerful and easier experience, but target mapping will follow the OData model.
What’s New
The Dataverse connector can now support multiple schemas on a single connector. Previously, one connection could point to multiple CRM environments, but only the default environment was visible. That means differences between sandbox and production fields could cause missing fields or errors. Now, you can select which environments the schema should be available for, and each shows its correct fields in the mapping.
Gaps and Deprecations
For this update, we’re not getting rid of anything, but there is a small merge worth mentioning: reference lookups and entity references have been merged into entity lookups.
Mapping relationships in CRM/D365 (linking a contact to an account, or an account to an opportunity) has always needed more than a plain value, since a relationship can be multidimensional. For example, an opportunity’s customer could be an account, contact, lead, or custom object, so the API needs both the GUID and the record type. That used to mean a separate lookup or metadata step, but now those are bundled together, meaning less sprawl in the mapping and less mental load when building the integration.
Migrating vs Rebuilding
Right now, there is no direct migration path. Even though the front end looks similar, nearly everything changed on the back end while preserving the end-user experience, so old-version items don’t always map one-to-one. Near the end of 2026, we hope to share a plan to map the two models correctly so we can make it into an actual migration.
What Changes When You Move?
| SOAP Connector (SmartConnect.com) | REST Connector (new SmartConnect) |
|---|---|
| Target mapping build on the SOAP entity model | Target mapping follows the OData model, so existing mappings are rebuilt rather than migrated |
| Reference Lookups and Entity References mapped separately | Both merged into a single Entity Lookups concept |
| One connector per organization schema | One connector spans multiple organization schemas |
| Change and Real-time driven by a CRM plugin | Unchanged – same plugin, same FetchXML query builder |
A look at the New SmartConnect Dataverse Connector
Overall, this connector should look and feel very similar to what you’re used to, but there are a few new features we’re excited to share.
Secret Expiry for OAuth
Like other OAuth connectors, you can now set up secret expiry, so you’re not blindsided when your authentication expires. Since Microsoft caps how long secrets last (often set to two years), turnover or partner setup that the customer isn’t aware of can cause surprises. With expiry set, admins get email warnings a month ahead of time, which also surface as system-wide bell notifications. Issues that used to stay hidden are now surfaced there.

Fetch Metadata
Select which environments should be available in your integrations. Checking the box downloads that environment’s metadata, and it’s refreshable any time you need it. While this is a small feature, it should be useful for anyone working across multiple CRM environments on one connector.

Data Sources and Query Builder
Data sources are going to look and feel the same as before, and only environments with downloaded schema appear when selecting one for a query. Today’s query builder is the same drag-and-drop, expression-building tool as in existing SmartConnect environments. Everything from the older builder still works, including fields, joins, and filtering, and a more modern builder is planned for all data sources at a later date.

Calculations and Restrictions
Calculations and restrictions can now sit on top of a CRM query. A restriction runs after data is retrieved, though CRM rarely needs one because FetchXMP gives us deep filtering capabilities. This feature will be more helpful when using sources like flat files with less native filtering.
Calculated fields are more relevant to this connector. FetchXML is powerful, but it can’t do calculations in our implementation, so things like concatenating first and last name always had to happen on the destination side before. Now, it’s done directly in the source query and previewed immediately, and because it’s a source-side value, it can be used for grouping too.

Audit Logs and Mapping
As with anything in SmartConnect, full audit logs cover what was created and show any updates made.

On the target side, mapping into customer engagement is, again, going to look similar to how it did before to keep cross-training and onboarding as simple as possible. You select the organization, choose multiple target entities, and can still suppress duplicate detection.

The mapping screen itself works the same way, including dropdowns for list-option fields. This allows you to map directly from your source to any of your fields.

Additional Columns: Entity Lookups Merge with References
Additional column types include entity lookup, multi-lookup, list option lookup, and activity party. These are CRM-specific columns that provide parity with the old version.

The OData API handles relationships via lookups, without separately tracking the relationship type, so “references” are no longer needed. This covers things like setting up a primary contact on an account or converting opportunities and orders. Because the API handles it differently, those special additional columns were able to be removed.
Entity lookups are now merged with references, creating a new reference type:
- Existing ID: If the source already has the CRM GUID, this is more efficient since it skips a lookup call.
- Match by Criteria: This is the normal lookup, matching one field to another.

Execution Mode and Cache Level
Execution mode is a new global option on all lookups, and controls when a lookup runs:
- Standard: runs the way it always has
- Late Bound: runs at the end of processing, right before hitting the target. This is useful when a calculation or other column needs to feed the lookup criteria.

Cache level is another new feature available on lookups. CRM relationships need a GUID to link records, so lookups happen constantly. Formerly, SmartConnect looked up the same value per data row, meaning 100 contacts with the same owner meant 100 identical lookups, but caching fixes that. Now, SmartConnect will look it up once and then reuse it, reducing 99 API hits against CRM to find the data. There are three options to choose when and where it runs:
- Integration Run: Most efficient. Best for stable master data, like a vendor or item.
- Document (Key Field): Middle ground. Best for lookups against records just inserted in the same run.
- Data Row: Old behavior. Best when inserting data and looking up from the same table.

Run History and Restrict Count
Run history still shows run number, run count, success count, and error count, plus a new restrict count. Previously, a restricted-out record could still show as processed with no indication it had been filtered, leaving users to wonder why it wasn’t in the target. Now, you can see when a record was restricted, so you don’t have to wonder why it’s not included.

Real-Time Triggers
Real-time triggers now run on our newer API, giving a more robust connection and better performance. Previously, chaining integrations off one CRM real-time trigger meant CRM held the connection open until the whole chain finished. If that took too long, CRM would report a failure, even though the integration hadn’t actually failed.
Now, SmartConnect acknowledges CRM immediately and moves the event into its own staging process, like any other real-time source. This also enables logging of rejected real-time events, so if SmartConnect can’t process a handed-off record, it’s captured for reprocessing later rather than dropped.

What’s Next: Sign up for New SmartConnect Office Hours
More details on other updated connectors and New SmartConnect features will be shared regularly as we get closer to the release. If you haven’t signed up for New SmartConnect Office Hours and want to learn more about some of the other updates included, it’s not too late.
Upcoming Office Hour topics include:
- September 10: Using New SmartConnect with Generic REST APIs
- September 17: Using New SmartConnect with Salesforce
- October 1: Using New SmartConnect with NetSuite
- November 5: Using New SmartConnect with Dynamics GP
- November 12: Using New SmartConnect with Shopify
- November 19: Using New SmartConnect with Dynamics NAV