Cloud Elements 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
Cloud Elements supports polling events for Microsoft Dynamics CRM. After receiving an event, Cloud Elements standardizes the payload and sends an event to the configured callback URL of your authenticated element 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 an element instance, and then turn on events. Select the resources to poll, and then click Create Instance. For more information, see Authenticate an Element Instance with Events (UI) or the element-specific authentication topic.
Configure Polling Through API
Use the /instances
endpoint to authenticate with Microsoft Dynamics CRM and create an element 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.