Events: Why Would A Poller Make Multiple GET Calls For One Resource?

The Polling functionality makes GET requests against resources that are defined in the poller configuration url, and when multiple pages of records are returned by the GET, the results must be paginated through. The default page size when using polling is 20 records per page. Therefore, if  the poller runs and returns more than 20 records, the platform must paginate through to retrieve all events.

For example, if you use the default poller pageSize of 20 for a Salesforce instance on the accounts resource and 100 records meet the conditions of the poller url, then the polling framework executes a total of 5 GET requests to paginate through all new accounts before any provider-events are notified.

The default pageSize is set for performance reasons, but it can be overridden in the element instance poller configuration. 

For example:

{
"accounts": {
"url": "/hubs/crm/accounts?where=LastModifiedDate>'${gmtDate:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}'",
"idField": "Id",
"datesConfiguration": {
"updatedDateField": "LastModifiedDate",
"updatedDateFormat": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"createdDateField": "CreatedDate",
"createdDateFormat": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
"updatedDateTimezone": "GMT",
"createdDateTimezone": "GMT"
},
"pageSize": 100
}
}

 

For documentation on the other parameters that can be set in the poller configuration, refer to this article