LogoLogo
WebsiteBlog
  • Introduction
  • CDP Overview
  • Identity Resolution
  • CDP Guidelines for Data Sanity and Campaign Governance
  • Login and User Management
    • Login to the platform
    • Change Password / Retrieve your Account
    • Role Based Access Control
      • User Management
      • Roles
    • Single Sign-On (SSO)
  • Events
    • Events Overview
    • App Events
    • Track
    • Identify
    • Page
    • Screen
    • Event Dictionary
  • Sources
    • Sources Overview
    • Android SDK
    • iOS SDK
    • JavaScript SDK
    • React Native SDK
    • Flutter SDK
    • REST API
    • Adobe Analytics Exports
    • SFTP
    • Kafka
    • Offline File Ingestion
  • Destinations
    • Destinations Overview
    • Quora Pixel
    • Hotjar
    • Clevertap
    • Google Analytics 4 (GA4)
    • Meta Pixel
    • Meta Conversion API
    • LinkedIn Insight Tag
    • Adobe Target
    • AppsFlyer
    • AWS S3
    • Criteo
    • Kafka
  • Integrations
    • Rudderstack
    • Azure Blob
    • Adobe Launch Private Extension
    • Adobe Launch Extension
    • Salesforce CRM
    • Microsoft Dynamics 365
  • Customer One View
    • Introduction
    • Basic details, Attributes and Devices
    • Segment and Engagement
    • Activity
  • Segments
    • Getting Started
    • Create a Segment
  • Channels
    • Getting Started
    • A/B Testing
    • SMS
      • Set up an SSP
        • Netcore
        • Twilio
        • Adobe Campaign Classic
        • Gupshup
        • Unifonic
        • Infobip
        • Tubelight
      • Add an SSP
      • Create SMS campaign
      • FAQs
    • Email
      • Set up an ESP
        • SendGrid
        • SendInBlue
        • SparkPost
        • Taximail
        • Netcore
        • Adobe Campaign Classic
        • Mailchimp
        • Oracle Email Delivery
        • Infobip
        • Vision6
      • 🆕Add an ESP
      • Create Email campaign
      • Common use cases with Email Editor
      • Why Email Notification may not get delivered?
      • FAQs
    • App Push Notification
      • Create App Push Notification - Android
      • Create App Push Notification - iOS
      • Why App Push Notification may not get delivered?
      • FAQs
    • WhatsApp
      • Configure a WSP
        • Yellow Messenger
        • Infobip
        • Gupshup
        • BIK.ai
        • Vonage
        • Sinch
        • Tubelight
      • Create WhatsApp campaign
      • FAQs
    • RCS
      • Add an RCS API
      • Example: Netcore RCS API
      • Create an RCS campaign
      • FAQs
    • Web Push Notification
      • Create a Web Push Notification
      • Create a Default Web Push Notification
      • FAQs
    • On-site Notification
      • Create On-site Notifications.
      • Common use cases with On-site Notification.
      • Notification Templates
    • Banner Personalization
      • Create a Personalized Banner
      • Create a Default Banner
    • External API
      • Create Engagement
      • Test your API configuration
      • Example Use Cases of External APIs
        • Use case 1: HubSpot - Create Contacts API
        • Use case 2: Exotel's Make a call API
        • Use case 3: Mailmodo's Send Campaign Email API
  • Ramanujan AI
    • Lead scoring
    • Channel Orchestration
    • Content Generator
      • Generate Web Push Content
  • Journey Builder
    • Overview- Journey Builder
    • View all Journeys
    • Create a Journey
    • Journey Reports
    • FAQs
  • Audience Export
    • Facebook Export Channel
    • Google Ads Export Channel
  • Analytics
    • Dashboard
      • Guiding through the Dashboard
      • Unique Profile
      • Profile and Merge Trends
      • Campaign and Revenue Dashboard
    • Campaign Summary
    • Events Occurrence
    • Event Telemetry
    • App Installs and Uninstalls
    • Funnels
    • Paths
    • Traffic Analysis
    • Cohorts
    • Data sanity between Funnels, Paths and Events
    • FAQs
  • Developer APIs
    • User Profile API
    • WhatsApp Opt-in/Opt-out API
    • Subscription Management
  • Settings
    • Product Label
    • Frequency Caps
    • Contacts
Powered by GitBook
On this page
  • MSD Technical Architecture
  • Enable API configuration
  • Steps to Enable API Configuration
  • Steps to enable queue and activities for core entities
  • Steps to add custom entity and select columns for schedule configuration
  • Steps to enable schedule configurations for core entities
  • Steps to reprocess the failed records
  • Steps to configure recurring delete job
  • Steps to modify recurring bulk delete job
  • Security Role Assignment Criteria
  • Column security Profile Definition
  • FAQs
  • 1. How much time and button click actions will it take to reprocess 10,000 logs?
  • 2. Why can’t organizational records (Ownership Type: Organization) be synced?
  • 3. What is the minimum time interval for setting up a batch operation?
  • 4. If a record fails to sync twice, and then is successfully synced on the third attempt following an update to one of its fields, will the previous failed logs require manual reprocessing?
  • 5. Where can I view the record sync history?
  • 6. What is Max Fetch Limit and Min Fetch Limit?
  • 7. Does the product consume Microsoft API?
  • 8. Why does the status of batch operation remain Open?
  • 9. What are the privileges needed?
  1. Integrations

Microsoft Dynamics 365

PreviousSalesforce CRMNextIntroduction

Last updated 4 months ago

Lemnisk is a registered app on the MSD365 App Marketplace. By using the app, you will be able to send data to Lemnisk if any of the entity values are created or updated. For example, if a contact or lead gets created/updated/deleted at MSD365, it will trigger an API call in Lemnisk in real-time or batch (as per your configuration) and the corresponding value will be updated at Lemnisk.

MSD Technical Architecture

The MSD architecture for the Lemnisk App allows a particular entity to be synced in either real-time or batch. The real-time process will be triggered for a particular create/update/delete request for a record. The real-time workflow will trigger an API call to Lemnisk for a single record in real time. It will also create a log and if the API fails, it will show in failure logs. The batch process will be similar except it will sync the updates for an entity at a particular frequency decided by the user (min 1 hour) in batch. If the updates fail, it will be logged in failure logs. All the failure logs from real-time and batch processes can be reprocessed with a manual click. A maximum of 4000 records per entity can be reprocessed at once.

Enable API configuration

Lemnisk is a registered app on the MSD365 App Marketplace. By using the app, you will be able to send data to Lemnisk if any of the entity values are created or updated. For example, if a contact or lead gets created/updated/deleted at MSD365, it will trigger an API call in Lemnisk in real-time or batch (as per your configuration) and the corresponding value will be updated at Lemnisk.

Steps to Enable API Configuration

  1. Path: Config Tables > Lemnisk API Configuration

  1. Select ‘+New’ call to action in the active Lemnisk API configuration view.

  1. Provide value for the below-mentioned business required fields in the New Lemnisk API Configuration main form.

  • Name

  • API URL

  • Delete API URL

  • X-API-Key

  • X-API-Passkey

  • Lemnisk user

  • Minimum fetch limit

  • Maximum fetch limit

  1. Click ‘ACTIVATE’ to create the new Lemnisk API configuration.

Note

  • The following field value can be read and updated only by the User who holds Lemnisk Configurator security role

  • x-API-key

  • x-API-passkey

  • Minimum fetch limit

  • Maximum fetch limit

Steps to enable queue and activities for core entities

  1. Path: Solution > Default Solution

  1. Path: Objects > Tables

  1. Select the entity for which queue must be enabled; select table “properties” call to action.

  1. Path: Properties > advanced options

  1. Enable the check boxes ‘can be added to a queue and when rows are created or assigned, move them to the owner’s default queue’ and click ‘SAVE’. This action must be performed for Lemnisk core entities.

  1. Enable the checkbox Creating a new activity and click ‘SAVE’. This action must be performed for all standard entities.

Note:

  • AutoRouteToOwnerQueue can be set only if ownership type is UserOwned or TeamOwned, or if entity is queueable.

  • AutoRouteToOwnerQueue will be applicable for tables where record ownership = user or team.

  • The `AutoRouteToOwnerQueue` feature is designed to automatically route records to the appropriate queue based on ownership.

  • It is applicable to tables where the record ownership is set to a user or a team.

  • This ensures that records are managed by the correct entity, improving efficiency and accountability in record handling

Steps to add custom entity and select columns for schedule configuration

New update:

  1. We have improved the field selection process by introducing two distinct categories:

    1. Trigger Fields: These fields initiate API synchronization whenever a record is upserted. Trigger Fields are used solely to trigger the synchronization process and are never included in the synced data.

    2. Sync Fields: These fields specify the data values sent to Lemnisk during the sync process.

  2. Activity entity support has been added, enabling more effective management and synchronization of activity-related data.

  1. Path: Lemnisk entities > New

  1. Select the entity from “Add Entity” List page and Click Ok.

  1. Select the columns from “Add fields” list page and click Ok

Note:

- Custom entities registration requires specific security roles.

- The Lemnisk Configurator role is typically assigned to users who need to register custom entities.

- Permissions for custom entities are managed within the system's security role settings.

- It's important to ensure that only authorized users with the Lemnisk Configurator security role can register custom entities to maintain system integrity.

Steps to enable schedule configurations for core entities

Schedule type: Real Time

  1. Path: Config tables > Schedule configurations

  1. Select ‘+New’ call to action in the Active schedule configuration’s view.

  1. To provide value for the lookup field Lemnisk Entity, you can either:

  • Type the entity name in the text box and select the matching result from the list.

  • Click on the advanced lookup icon and choose the entity from the pop-up window.

  1. Select the schedule type as real-time from the option set value and ‘SAVE’ the record.

Schedule type: Batch

  1. Go to the option set value field schedule type.

  2. Choose Batch as the schedule type.

  3. Choose Schedule Mode as Hours or Days

  4. Provide value for the Schedule frequency and ‘SAVE’ the record.

Steps to reprocess the failed records

New update:

The new Batch Reprocess functionality allows reprocessing of up to 4,000 logs for a single entity in one batch. This enhancement simplifies large-scale data handling and improves reprocessing performance.

  1. Path: Config Tables > Lemnisk Logs

  1. Choose the records that failed and need to be reprocessed from the failure log’s view.

  2. Click on the Reprocess button.

  1. Click OK in the Confirmation dialog box.

Note

  • The system can only handle reprocessing up to 10 records at a time

  • Divide records into batches of 10 or fewer for reprocessing.

  • Ensure each batch is processed completely before initiating the next one.

  • Monitor the system's response to avoid overloading and maintain efficiency.

  • Verify the quality of reprocessed records to confirm successful handling.

Steps to configure recurring delete job

1. Path: Power Apps > Admin center

  1. https://admin.powerplatform.microsoft.com/home page will be displayed

  • Path: Environments > Marketing or Sales

  1. Click ‘Settings’ call to action in the listed environment.

  1. Path: Data Management > Bulk Deletion

  1. Click ‘New’ call to action in All Bulk Deletion System Jobs view, bulk deletion wizard will be displayed.

  • Click ‘Next’

  1. To delete lemnisk logs that are more than two months old, you need to specify the search criteria for the records. You can do this by setting the field values as follows:

  • Look for: Lemnisk Logs

  • Use saved View: All Lemnisk Logs

Filter condition

  • Activity status contains data.

  • Date Created older than 2 months.

To see the records that match your criteria, you can use the preview records option. This will show you a sample of the filtered data without applying the changes to the entire dataset.

  1. Click ‘Next’ to specify the name of the bulk deletion system job, and scheduling and notification options.

  2. Select the checkbox: Run this job after every 60 days.

  1. Select the checkbox: Send an email to me when this job is finished. You may also inform other relevant users by choosing them from the user lookup view.

  1. Click ‘Next’ to Review and Submit Recurrence bulk deletion details.

11. Click on the ‘Submit’ button to start the recurring bulk deletion system job.

Steps to modify recurring bulk delete job

  1. System View: Recurring Bulk Deletion System Jobs

  1. Select the respective bulk delete job from the picklist and click ‘More Action.’

  1. Choose ‘Modify Recurrence’ action from the dropdown.

  1. You can modify the schedule for selected bulk deletion jobs by choosing the option Schedule recurrence.

Security Role Assignment Criteria

  • The System Administrator and System Customizer roles in Dynamics 365 offer the highest level of privileges.

  • Users with these roles have the authority to configure the Lemnisk Application directly.

    To assign the Lemnisk Configurator security role, a user must already possess this role or be a System Administrator.

  • It is important to follow the correct procedures when assigning security roles to ensure proper access and system functionality.

  • The link below illustrates security role assignment guide.https://scribehow.com/shared/Manage_User_Roles_in_Microsoft_Power_Platform_Admin_Center__DYjcFE42TXu7z4z3YiINYg

Column security Profile Definition

  • Users enrolled in the Lemnisk configurator column security profile have specific privileges.

  • They can perform Read, Update, and Create operations on the following columns:

    • X-API-Key

    • X-API-Passkey

    • Min. Fetch Limit

    • Max. Fetch Limit

These privileges allow for comprehensive management of API access and data retrieval parameters.

  • The link below illustrates column security profile guide https://scribehow.com/shared/Add_User_to_Lemnisk_Configurator_column_security_Profile_in_Microsoft_Power_Platform__sOBfwm_GQZGgibHcg4cJUw

FAQs

1. How much time and button click actions will it take to reprocess 10,000 logs?

Ans: The time required to reprocess failure logs depends on the types of entities involved.

If there are 10,000 logs of the same entity type, such as "Lead," the process will take approximately 5 to 10 minutes and require three clicks to complete the asynchronous reprocessing. Due to the 2-minute plugin execution time limit in Dynamics, a maximum of 4,000 records of the same entity can be processed per batch.

However, if the 10,000 logs are distributed among different entity types (e.g., 2,000 Leads, 3,000 Accounts, 3,000 Contacts, and 2,000 Emails), the reprocessing will still take about 5 to 10 minutes, but only a single button click will be needed to initiate the asynchronous reprocessing of all 10,000 logs.

Note: 7.1 is yet to be developed and is not available in the current build.

2. Why can’t organizational records (Ownership Type: Organization) be synced?

Ans: Organizational records in Dynamics do not have any user association, and therefore, they will not be included in any default queue. As a result, it becomes infeasible to track the Create, Read, Update, and Delete (CRUD) operations of these records in Dynamics, thereby preventing synchronization with Lemnisk.

3. What is the minimum time interval for setting up a batch operation?

Ans: 1 Hour

4. If a record fails to sync twice, and then is successfully synced on the third attempt following an update to one of its fields, will the previous failed logs require manual reprocessing?

Ans: No, manual reprocessing of previously failed logs is not required in this scenario. Only one log record is maintained for any entity at any given time, regardless of the number of sync attempts. The log is continuously updated with the latest status. In the scenario where a record is successfully synced on the third attempt, it will automatically be removed from the failure logs.

5. Where can I view the record sync history?

Ans: It will be available in the sync log (Under the Log History tab) against that record in the Lemnisk app.

6. What is Max Fetch Limit and Min Fetch Limit?

Ans: Max Fetch Limit and Min Fetch Limit control the number of records processed in a batch. The Max Fetch Limit specifies the total maximum number of records that can be processed in a single batch, while the Min Fetch Limit determines how these records will be split for processing.

For example:

  • If the Max Fetch Limit is set to 4000 and the Min Fetch Limit is set to 400, then 4000 records will be processed in 10 smaller batches of 400, resulting in 10 API calls to Lemnisk.

  • If the Max Fetch Limit is 4000 and the Min Fetch Limit is 500, then 4000 records will be processed in 8 smaller batches of 500, resulting in 8 API calls to Lemnisk.

Note

The Max Fetch Limit cannot exceed 4000.

It is recommended to set the Min Fetch Limit between 400 and 500. However, a lower value may be used if individual records contain many attributes. The Min Fetch Limit can be set as low as 1.

7. Does the product consume Microsoft API?

Ans: This product under no circumstances consumes Microsoft default APIs. All API(s) consumed in this product are that of Lemnisk’s directly for pushing data form Dynamics to CDP tool.

Microsoft API will only be consumed for pushing data form Lemnisk CDP to Dynamics.

8. Why does the status of batch operation remain Open?

Batch operation activity status & status reason have been built for internal purposes and this is not applicable to the end user. Batch operation is an asynchronous process that will be working irrespective of the response received from Lemnisk API (504 ) (i.e., the next activity will be created with the status as “open”)

9. What are the privileges needed?

Below is the security role table access matrix for “Lemnisk Configurator”. Organization privilege is the highest access for the organization, and it has been provided to all custom entities (Lemnisk) as stated below. No additional privileges are required.

Table Name

Create

Read

Write

Delete

Append

Append to

Assign

Share

Lemnisk API configuration

δ

δ

δ

δ

δ

δ

δ

δ

Lemnisk Entity

δ

δ

δ

×

δ

δ

×

×

Log history

δ

δ

δ

δ

δ

δ

δ

δ

Schedule Configuration

δ

δ

δ

×

δ

δ

×

×

Key

Description

×

None selected

α

User

β

Business unit

γ

Parent: child business unit

δ

Organization

Click on to add new table

Click on to select the columns of the respective entity which must be sent from D365 to CDP.

To clear the selected columns, click call to action in the main form.