On this page
SAP Open Connectors supports events via polling or webhooks depending on the API provider. For more information about our Events framework, see Events Overview.
Supported Events and Resources
SAP Open Connectors supports polling events for Microsoft Dynamics CRM. After receiving an event, SAP Open Connectors standardizes the payload and sends an event to the configured callback URL of your authenticated connector instance.
You can set up polling for the events
resource. You can also copy the events
configuration to poll other resources. See Configure Polling Through API for more information.
Configure Polling Through the UI
To configure polling through the UI, follow the same steps to authenticate a connector instance, and then turn on events. Select the resources to poll, and then click Create Instance. For more information, see Authenticate an Connector Instance with Events (UI) or the connector-specific authentication topic.
Configure Polling Through API
Use the /instances
endpoint to authenticate with Microsoft Dynamics CRM and create a connector instance with polling enabled.
{
"event.notification.enabled": "true",
"event.notification.callback.url": "<INSERT_YOUR_APPS_CALLBACK_URL>",
"event.poller.configuration": "<SEE_BELOW>"
}
objects
in the event.poller.configuration
are the default configurations we support. Feel free to remove any objects that do not fit your needs.Here is an example instance JSON with polling events enabled for Microsoft Dynamics 2016 and later:
Example
{
"element": {
"key": "dynamicscrmadfs"
},
"configuration": {
"user.username": "<INSERT_DYNMAICS_CRM_USERNAME>",
"user.password": "<INSERT_DYNMAICS_CRM_PASSWORD>",
"dynamics.tenant": "yourcompanyname.crm.dynamics.com",
"event.notification.enabled": "true",
"event.notification.callback.url": "<INSERT_YOUR_APPS_CALLBACK_URL>",
"event.poller.configuration": {
"accounts": {
"url": "/hubs/crm/accounts?where=fetchChanges='true'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"contacts": {
"url": "/hubs/crm/contacts?where=fetchChanges='true'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"opportunities": {
"url": "/hubs/crm/opportunities?where=fetchChanges='true'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"leads": {
"url": "/hubs/crm/leads?where=fetchChanges='true'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"tasks": {
"url": "/hubs/crm/tasks?where=fetchChanges='true'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"notes": {
"url": "/hubs/crm/notes?where=fetchChanges='true'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"activities": {
"url": "/hubs/crm/activities?where=fetchChanges='true'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
}
}
},
"tags": [
"<INSERT_TAGS>"
],
"name": "<INSERT_INSTANCE_NAME>"
}
Here is an example instance JSON with polling events enabled for earlier versions of Microsoft Dynamics:
{
"element": {
"key": "dynamicscrmadfs"
},
"configuration": {
"user.username": "<INSERT_DYNMAICS_CRM_USERNAME>",
"user.password": "<INSERT_DYNMAICS_CRM_PASSWORD>",
"dynamics.tenant": "yourcompanyname.crm.dynamics.com",
"event.notification.enabled": "true",
"event.notification.callback.url": "<INSERT_YOUR_APPS_CALLBACK_URL>",
"event.poller.configuration": {
"accounts": {
"url": "/hubs/crm/accounts?where=modifiedon >'${gmtDate:yyyy-MM-dd'T'HH:mm:ss'Z'}'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"contacts": {
"url": "/hubs/crm/contacts?where=modifiedon >'${gmtDate:yyyy-MM-dd'T'HH:mm:ss'Z'}'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"opportunities": {
"url": "/hubs/crm/opportunities?where=modifiedon >'${gmtDate:yyyy-MM-dd'T'HH:mm:ss'Z'}'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"leads": {
"url": "/hubs/crm/leads?where=modifiedon >'${gmtDate:yyyy-MM-dd'T'HH:mm:ss'Z'}'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"tasks": {
"url": "/hubs/crm/tasks?where=modifiedon >'${gmtDate:yyyy-MM-dd'T'HH:mm:ss'Z'}'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"notes": {
"url": "/hubs/crm/notes?where=modifiedon >'${gmtDate:yyyy-MM-dd'T'HH:mm:ss'Z'}'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
},
"activities": {
"url": "/hubs/crm/activities?where=modifiedon >'${gmtDate:yyyy-MM-dd'T'HH:mm:ss'Z'}'",
"idField": "id",
"datesConfiguration": {
"updatedDateField": "attributes.modifiedon",
"updatedDateFormat": "milliseconds",
"createdDateField": "attributes.createdon",
"createdDateFormat": "milliseconds"
}
}
}
},
"tags": [
"<INSERT_TAGS>"
],
"name": "<INSERT_INSTANCE_NAME>"
}
Please note that when creating an instance via the APIs with Polling configuration, the double quotes will need to be escaped and it should not contain any new line characters. The above examples have omitted this formatting for readability.