- RESSOURCEN
- Blog
- EventMarket
- FAQ
- Global
- Sicherheit
- Bibliothek
- Nachrichten
The InEvent + Microsoft Dynamics 365 connector is designed to bridge the gap between your event engagement layer and your core customer system of record in the Microsoft cloud.
At a high level:
InEvent is the event data source. It owns registrations, check ins, session attendance, engagement signals, and responses to custom questions.
Microsoft Dynamics 365, built on Dataverse, is the CRM system of record. It owns Contacts, Leads, Opportunities, Activities, and Marketing Lists.
The connector uses Azure Active Directory (Azure AD) and OAuth 2.0 to securely connect your InEvent tenant to your Dynamics 365 environment and Dataverse.
The result is that event participants, their attendance, and their engagement history become first class citizens inside Dynamics. This eliminates the “Microsoft Silo,” where event data lives in a separate tool and never reaches the Dynamics customer profile.
The integration focuses on the following dimensions:
Identity & Contact Resolution
Matching InEvent participants to Dynamics 365 Contacts and Leads based on email address and other configurable keys.
Creating Leads when no matching Contact or Lead exists in the Dataverse.
Engagement & Activity History
Creating Dataverse Activity records that represent registrations, check ins, and session attendance.
Linking Activity records to Contact or Lead records, so they appear on the CRM Timeline.
Data Availability for Automation
Writing event data into Dataverse in a form that is addressable by Power Automate and Power BI.
Enabling Dynamics 365 cloud flows to react to new registrations, attendance, and engagement events.
Marketing Orchestration
Using Marketing Lists (static) and, optionally, segments in Dynamics 365 Marketing to drive invitations.
Automatically adding attendees to Marketing Lists based on behavior.
Security & Compliance
Using Azure AD for authentication and consent.
Respecting Dynamics 365 security roles when reading and writing data.
With the connector enabled, Dataverse becomes the central repository for:
Identity data for prospects and customers.
Commercial pipeline (Leads, Opportunities, Accounts).
Event history from InEvent.
This enables a single “Customer 360” view in Dynamics 365 Sales and Dynamics 365 Marketing. Event engagement, such as:
Registered for “Product Launch Webinar”
Attended “Executive Breakfast”
Skipped “Premium Demo Session”
is stored on the Contact or Lead record as Activities and related fields. This data is then immediately available for:
Segmentation and targeting in Dynamics 365 Marketing.
Lead scoring and routing rules.
Power BI reporting.
Power Automate Flows that react to registration or attendance events.
The connector uses Azure Active Directory as the identity provider and authorization layer.
Key points:
App registration in Azure AD represents InEvent as a confidential client.
OAuth 2.0 client credentials flow is used for server to server communication, with:
Client ID
Client secret or certificate
Tenant ID
Scopes / permissions are granted to the app for Dataverse and Dynamics CRM APIs.
The result:
No shared passwords.
All access is auditable and revocable from within the Microsoft 365 tenant.
The API user that operates on Dataverse is bound to a Dynamics 365 security role.
The connector writes data into standard Dynamics 365 entities and, optionally, into custom tables. It is Dataverse native, which means:
Data is stored in the same logical and physical schema as your CRM data.
You can use the same APIs, builders, and tools for event data that you already use for other CRM data.
The integration uses a deterministic resolution strategy:
Primary key: Email address (InEvent registrant email).
Resolution steps:
Check Contact entity
If a Contact exists where emailaddress1 matches the InEvent email:
Use that Contact as the primary party.
All activities and event data are associated with this Contact.
If no Contact match, check Lead entity
If a Lead exists where emailaddress1 matches:
Use that Lead as the primary party.
All activities and event data are associated with this Lead.
If no Contact or Lead match, create a new Lead
A new Lead record is created with:
Topic derived from event name or integration config.
Core profile data and custom mapped fields.
Downstream routing and qualification to Contact/Account are handled using your existing CRM processes.
Optional secondary keys
The connector can optionally use additional matching keys such as:
Company + Email
External ID fields if present.
However, the default configuration relies on email as the single unique identifier.
This preserves your existing CRM identity model while ensuring you maximize reuse of existing records.
Standard fields from InEvent are mapped to standard columns on the Contact or Lead entities, with additional custom columns for event specific data. A simplified mapping table is shown below.
InEvent → Dynamics 365 Dataverse
|
InEvent Field |
Target Entity |
Dynamics Field (Logical Name) |
|
First Name |
Contact / Lead |
firstname |
|
Last Name |
Contact / Lead |
lastname |
|
|
Contact / Lead |
emailaddress1 |
|
Company |
Lead |
companyname |
|
Job Title |
Contact / Lead |
jobtitle |
|
Phone |
Contact / Lead |
telephone1 |
|
Country |
Contact / Lead |
address1_country |
|
InEvent External Participant ID |
Contact / Lead |
new_ineventparticipantid |
|
InEvent Event ID |
Custom Activity |
new_eventid |
|
Event Name |
Custom Activity |
subject |
|
Session Name |
Custom Activity |
new_sessionname |
|
Registration Status |
Custom Activity |
new_registrationstatus |
|
Attendance Status |
Custom Activity |
new_attendancestatus |
|
Engagement Score |
Custom Activity |
new_engagementscore |
|
Custom Question “Budget” |
Contact / Lead |
new_budget |
Notes:
The new_ prefix represents custom columns in the Dataverse schema.
The “Budget” question from the event registration form maps to a custom CRM field:
InEvent: Custom Question "Budget" → Dynamics: new_budget
The integration config UI in InEvent allows admins to add, remove, or update mappings to match their own Dataverse schema.
Event interactions are written as Activity records in Dataverse so that they surface in the Dynamics 365 Timeline control.
You can use either:
A custom activity type, for example new_eventattendance, or
A standard activity, such as appointment or phonecall, configured for this purpose.
Typical deployment uses a custom activity type with the following properties:
Primary name: “Event Attendance”
Logical name: new_eventattendance
Activity type: Activity
Each Event Attendance record is:
Related to a Contact or Lead via regardingobjectid.
Optionally related to:
An Account (company) record.
A Campaign or Marketing Event record if you maintain those in Dynamics.
This ensures every InEvent interaction appears under the familiar Timeline UI:
“Registered for: InEvent Product Launch”
“Attended: Webinar: Securing the Cloud”
“No show: VIP Executive Briefing”
Minimal recommended columns for new_eventattendance:
subject (Text): Event or session name.
new_eventid (Text): InEvent internal event identifier.
new_sessionid (Text): InEvent session identifier.
new_sessionname (Text): Session title.
new_registrationstatus (Option Set): Registered, Cancelled.
new_attendancestatus (Option Set): Attended, No show, Partial.
new_checkintime (DateTime).
new_checkouttime (DateTime).
new_engagementscore (Whole number or Decimal).
ownerid (User or Team): Typically inherited from the Contact or Lead owner.
These columns are used directly in Power Automate triggers and in Power BI for reporting.
Dataverse based storage ensures every new or updated record is eligible to trigger a Power Automate cloud flow. The integration design expects you to use flows for:
Automated follow up tasks.
Lead nurturing sequences.
Notifications to sales or customer success teams.
The connector’s responsibility:
Write or update Dataverse records with consistent, predictable fields.
Your responsibility in the Microsoft ecosystem:
Define Flows that react to these records using the “When a row is added, modified or deleted” Dataverse trigger.
Common trigger entities:
Contact
Lead
new_eventattendance (Event Attendance)
listmember for Marketing Lists
This example illustrates a simple but realistic Power Automate cloud flow.
Goal
Whenever someone registers for a webinar, we want to:
Create a task for the Contact or Lead owner.
Send a confirmation and follow up email using Dynamics 365 Marketing or Outlook.
Use the Dataverse connector:
Trigger: “When a row is added”
Table name: new_eventattendance
Scope: Organization
Filter rows at the trigger level using the advanced options (if needed) by checking new_registrationstatus equals “Registered.”
After the trigger step, add a condition:
Left operand: subject (Event Name from the Event Attendance record).
Operator: “contains”
Right operand: webinar
This isolates events whose name includes “webinar” so that the flow only runs for those.
If the condition is true, execute the following actions.
Use Dataverse action:
Action: “Add a new row”
Table name: task
Map fields:
subject: “Follow up with webinar attendee”
description: Compose a text string that references:
Event name (subject from new_eventattendance)
InEvent Event ID (new_eventid)
Any key engagement metrics (e.g., new_engagementscore).
regardingobjectid: Set to the Contact or Lead referenced in the Event Attendance record:
Use dynamic content for the related record.
ownerid: Use the owner of the Contact or Lead:
Retrieve via a Dataverse “Get a row by ID” step if needed.
This ensures the appropriate salesperson or account owner receives a task in Dynamics 365 to follow up.
You can use one of two options, depending on your stack:
Dynamics 365 Marketing / Customer Insights – Journeys
Use a marketing email or journey that is triggered from a segment that includes event registrants, with the segment definition referencing the Event Attendance entity.
Alternatively, use Power Automate to add the Contact/Lead to a specific Marketing List and let Marketing handle the actual send.
Office 365 Outlook “Send an email (V3)” action
To: Contact or Lead email.
Subject: “Thanks for registering for our webinar”
Body: Include event details, calendar links, and next steps.
Using Marketing is preferred when you want tracking of opens, clicks, and nurtures.
Dynamics 365 Marketing Lists and segments are a natural control mechanism for outbound invitations and post event nurturing. The InEvent + Dynamics connector supports inbound and outbound use cases.
Inbound here means data flowing from Dynamics into InEvent to control who you invite.
Admins can configure InEvent to consume Members of a Dynamics 365 static Marketing List as invitees.
Workflow:
In Dynamics 365:
Create a static Marketing List, for example: “Q3 VIP Webinar Invites.”
Add Contacts or Leads manually or via an advanced find.
In InEvent:
Select the Marketing List as a source list for the event.
The connector reads listmember records and resolves them to Contact or Lead records.
InEvent generates and sends invite emails using its own invitation engine or provides registration links to those specific people.
Benefits:
CRM users stay in their native interface when deciding who receives invitations.
No Excel exports and manual uploads.
Outbound means data flowing from InEvent into Dynamics 365.
The connector can automatically add participants to one or more Marketing Lists based on behaviors, such as:
Registered but did not attend.
Attended and engagement score above a threshold.
Attended a specific session track.
Sample logic:
If new_attendancestatus equals “Attended” and new_engagementscore greater than or equal to 70:
Add Contact or Lead to Marketing List: “Hot Leads – High Engagement Event Attendees.”
If new_attendancestatus equals “No show”:
Add Contact or Lead to “No Show Nurture List.”
This is done via:
Direct integration configuration in InEvent where list IDs are specified, or
Power Automate flows that react to new Event Attendance records and use the Dataverse “Add a member to a list” action.
Because Marketing Lists and Event Attendance are both in Dataverse, you can:
Use standard advanced finds to segment on event fields.
Build segments in Dynamics 365 Marketing that reference:
new_eventattendance as a related table.
Conditions such as “Attended at least 2 events in the last 90 days” or “Has an engagement score sum above 150.”
Once event data is in Dataverse, it becomes an input to any Power BI model that already uses your Dynamics 365 environment.
Power BI can connect to Dataverse using:
The native Dataverse connector, or
The Dynamics 365 (Online) connector.
From there, you can import:
Contact
Lead
Account
Opportunity
new_eventattendance
Marketing List and List Member entities
You can then define relationships in the Power BI data model based on:
Contact ID
Lead ID
Account ID
Event ID
A typical “Event ROI Dashboard” built on this integration will address questions like:
Which events generate the most qualified leads?
What is the pipeline value and closed revenue influenced by a given event?
Which accounts show the highest event engagement versus revenue?
Key metrics:
Registrations by event
Attendance rate (attended / registered)
Average engagement score per event
Number of Opportunities created after events
Opportunity value influenced by event attendance
Win rate for event attended vs non attended cohorts
Example:
Contact 1..N new_eventattendance (Event Attendance)
Lead 1..N new_eventattendance
Contact 1..N opportunity (where Contact is the customer or associated via Account)
Account 1..N opportunity
new_eventattendance fields like new_eventid and subject used for grouping and slicing.
This lets you create visuals such as:
A bar chart of events vs influenced pipeline value.
A matrix showing event name, number of attendees, number of opportunities, pipeline, and closed revenue.
A funnel visual showing journey from Registration to Attendance to Opportunity to Won.
Because the Event Attendance records are activity records linked to Contacts and Leads, standard Power BI drill down paths are preserved:
From Event level to individual Contacts.
From Contact to underlying Opportunities and revenue.
This gives IT Directors and marketing leadership a quantifiable view of event impact without bespoke data exports or manual blends.
Security, compliance, and governance in the Microsoft ecosystem are central to the integration design.
Administrators and users can authenticate to InEvent using Microsoft 365 credentials via Azure AD SSO.
Key characteristics:
OpenID Connect or OAuth 2.0 based SSO.
Federation to Azure AD tenant.
Support for MFA and Conditional Access policies defined on the Microsoft side.
Benefits:
Centralized user lifecycle management.
Fast onboarding and offboarding.
Alignment with corporate password and MFA policies.
The connector uses a service principal or dedicated application user. Permissions are configured at two levels:
Azure AD
The app registration is granted appropriate API permissions for Dataverse/Dynamics CRM.
Admin consent is performed once by a Global Admin or Privileged Role Admin.
Dynamics 365 Security Roles
The service principal is mapped to an Application User in Dynamics.
This Application User is assigned security roles that control:
Which tables (entities) it can read and write.
Whether it can create Contacts, Leads, Activities, and Marketing List members.
Policy alignment:
If a security role does not allow access to certain VIP Contacts, the integration respects that. It does not read or modify records outside its permission set.
This ensures that the connector does not circumvent line of business security controls.
Because the integration writes directly to Dataverse:
Event data is stored in the same region and tenant as the rest of your Dynamics 365 data.
Your existing backup, retention, and audit policies apply automatically.
Auditing can be enabled on:
Contact and Lead changes created by the InEvent application user.
Event Attendance activity records.
Marketing List membership changes.
This gives compliance and audit teams a single locus for review.
This section outlines an end to end implementation at a practical level. Many customers complete initial setup in a single working session, with later refinements to field mapping and flows.
Log into the Azure portal using an admin account.
Navigate to Azure Active Directory → App registrations.
Select New registration.
Provide an application name, such as “InEvent – Dynamics 365 Connector.”
Set Supported account types according to your policy (typically “Accounts in this organizational directory only”).
For redirect URI, if required for admin portal login, use the URI provided by InEvent.
After registration, note the:
Application (client) ID
Directory (tenant) ID
Under Certificates & secrets, create a client secret:
Note the value securely. This will be used in InEvent.
In the app registration, navigate to API permissions.
Add required permissions for:
Dynamics CRM or Dataverse (depending on your environment and guidance from InEvent).
Typically, application permissions such as user_impersonation or other Dataverse specific permissions.
Click Grant admin consent for your tenant.
In Power Platform Admin Center or Dynamics 365 admin center:
Navigate to Environments → [Your environment] → Settings → Users + permissions → Application users.
Create a new Application user.
Use the Client ID from the app registration.
Assign appropriate security roles:
A custom role such as “InEvent Integration Role” containing:
Create, Read, Write on Contact, Lead, Activity, Marketing List, List Member, and any custom tables used.
Read on Account and related configuration tables as needed.
Within the InEvent admin portal:
Navigate to the Integrations or CRM configuration area.
Choose Microsoft Dynamics 365 integration.
Enter:
Tenant ID (Directory ID).
Client ID (Application ID).
Client secret.
URL of the Dynamics organization / Dataverse endpoint, such as https://org.crm.dynamics.com.
Test the connection:
The connector will perform an OAuth 2.0 client credentials flow using the provided values.
If the test succeeds, the connector is authorized to call Dataverse.
In InEvent:
Go to the Mapping or Field Mapping configuration for Dynamics.
Map core identity fields:
InEvent “First Name” → Dynamics firstname
InEvent “Last Name” → Dynamics lastname
InEvent “Email” → Dynamics emailaddress1
InEvent “Company” → Dynamics companyname (Lead)
Map custom fields:
InEvent custom question “Budget” → Dynamics new_budget
Any other custom questions, URLs, or codes to custom columns.
Configure entity behavior:
Contact resolution priority: Contact first, then Lead, then new Lead creation.
Target entity for new records: Lead by default.
Activity entity: choose or confirm new_eventattendance as the table for event activities.
Save and sync:
Trigger a test registration in InEvent.
Verify that:
The Contact or Lead is updated or created in Dynamics.
An Event Attendance activity record is created and visible on the Timeline.
Optionally, build initial Power Automate flows using the patterns described in section 3.0.
This section addresses common technical validation questions from Dynamics 365 Admins, CRM Architects, and IT Directors.
Answer: No. The integration is designed and optimized for Dynamics 365 Online and Dataverse.
Explanation:
Authentication relies on Azure Active Directory and OAuth 2.0.
API access is through the Dataverse or Dynamics 365 Online endpoints.
On premise deployments using IFD or legacy authentication patterns are not supported by this connector.
If you have a hybrid scenario, standard practice is to consolidate CRM to Dynamics 365 Online before enabling this integration.
Answer: Yes. The mapping engine is flexible.
Details:
Any Dataverse table that is visible to the Application User and has permissions can be used as a target.
You can:
Map InEvent fields to custom columns on Contact, Lead, Account, or custom tables.
Create custom activity tables for different engagement types, for example:
new_webinarattendance
new_inpersonattendance
The configuration UI exposes a list of entities and columns retrieved from the Dataverse metadata.
You remain responsible for:
Ensuring that custom entities participate correctly in your CRM processes.
Defining relationships to Contacts, Leads, and Accounts where needed.
Answer: Contacts and Leads are typically synced in near real time. Large volumes of engagement activities can be sent in batches.
Clarification:
For low to moderate event volume, the default mode is near real time:
Registrations and updates are pushed to Dataverse as they occur.
This means Power Automate flows can react within seconds.
For high volume events or heavy engagement traffic, such as thousands of check ins in a short period:
The connector can operate in a batched mode for activity records.
Batches run at a short interval, such as every few minutes.
This reduces API overhead while still keeping data current.
IT teams can tune:
Concurrency and throttling within the integration configuration.
The balance between intantaneous updates and API consumption.
Answer: Yes, within standard Microsoft patterns.
You can configure the connector against:
A sandbox environment for testing.
A production environment for live data.
Each environment uses its own:
Dataverse endpoint URL.
Application user and security roles.
Recommendations:
Use a separate Azure AD app registration per environment or environment specific configuration in the same app.
Test mappings and flows in sandbox before switching production events to Dynamics.
Answer: The integration respects Dynamics 365 duplicate detection strategies and your Contact/Lead identity strategy.
Primary key for matching is email address.
Dynamics 365 duplicate detection rules can still be active:
If a create operation would violate a rule, standard CRM behavior applies.
If you use more advanced deduplication logic or third party tools, the connector can be tuned by:
Sending minimal identifying information and letting CRM or external processes merge or normalize records after creation.
Answer: Yes.
InEvent allows you to configure the integration at:
Global level, or
Per event level.
For each event, you can choose:
“Sync to Dynamics: On/Off”
Whether to send:
Registrations only.
Registrations and attendance.
Session level engagement.
This is useful when:
You run internal events that you do not want in CRM.
You only want customer facing engagement data to appear in the customer record.
Answer: The connector focuses on additive and update operations.
Deleting a registration or attendance in InEvent does not automatically delete related records in Dynamics by default.
The recommended governance pattern:
Treat Dataverse as the long term audit trail.
Use status fields (e.g., new_registrationstatus set to “Cancelled”) rather than physical deletes.
If your organization has specific deletion requirements, you can handle them via:
Power Automate flows that react to status changes and perform cleanup.
Custom policies implemented in Dataverse.
Answer: The connector implements a retry and queueing strategy.
If Dataverse or the Dynamics API is unavailable due to maintenance or transient network issues:
New or updated event records are queued in InEvent.
The connector retries based on a backoff schedule.
Once the CRM endpoint is available:
Queued records are replayed in order.
The integration guarantees eventual consistency.
Operational teams can monitor:
Error logs in the InEvent admin console.
Standard telemetry and health metrics available on the Dynamics and Power Platform side.
Answer:
User SSO into InEvent respects Conditional Access and MFA policies.
The backend application-to-application calls use the app registration and client credentials:
Conditional Access and MFA rules targeted at human users do not block machine to machine authentication.
You can, however, define Conditional Access policies for service principals if needed.
This integration is structured to align with Microsoft cloud patterns:
Dataverse as the canonical data store.
Azure AD as the identity and authorization layer.
Power Automate and Power BI as the orchestration and analytics engines.
The result is that InEvent moves from being a disconnected event utility to an integrated signal source inside your Microsoft Dynamics 365 architecture.