Sorry, you need to enable JavaScript to visit this website.
Skip to main content

Insights Event Notification

What is the Insight Event?

Insights webhook help Envestnet | Yodlee customers retrieve their consumers' data efficiently and securely. The Insights webhook provides the insights generated for each user for a defined duration.

Implementation Method

There are two ways to implement INSIGHTS webhooks:

  • INSIGHTS Event Notification (recommended)
  • INSIGHTS Event Polling

INSIGHTS Event Notification

Follow the steps to implement INSIGHTS event notification:

  1. Authenticate -
    Generate the access token using the client credential authentication mechanism as described in Getting Started with Client Credentials.
  2. Subscribe -
    Subscribe to the INSIGHTS event using the Subscribe Event service and provide the callback URL where you need to post notifications. This is a one-time activity unless and until there is a change to the URL.
  3. Listen -
    The notifications will be posted to the callback URL provided during the event subscription. The default notification interval is 1 hour. See for payload details. The INSIGHTS notification will be sent only if insights are available for at least one user in the defined duration.
  4. Retrieve -
    After receiving notifications, invoke the Feeds Extract service to retrieve the updated information. The notification payload will provide the input needed to invoke the Feeds Extract service.

Event Payload Information

The following JSON payload will be sent to the callback URL, and the content type will be application/json:

{
   "notificationId":"63b5206c98268664f7db1c2c",
   "info":"INSIGHTS",
   "notificationTime":"2023-01-04T06:45:28Z",
   "data":{
      "userCount":6,
      "fromDate":"2023-01-04T06:40:00Z",
      "toDate":"2023-01-04T06:45:00Z",
      "userData":[
         {
            "user":{
               "loginName":"User1672529280409"
            },
            "links":[
               {
                  "methodType":"GET",
                  "rel":"feedURl",
                  "href":"insights/feedExtracts?loginName=User1672529280409&fromDate=2023-01-04T06:40:00Z&toDate=2023-01-04T06:45:00Z"
               }
            ]
         },
         {
            "user":{
               "loginName":"User1672528384169"
            },
            "links":[
               {
                  "methodType":"GET",
                  "rel":"feedURl",
                  "href":"insights/feedExtracts?loginName=User1672528384169&fromDate=2023-01-04T06:40:00Z&toDate=2023-01-04T06:45:00Z"
               }
            ]
         },
         {
            "user":{
               "loginName":"User1672528776660"
            },
            "links":[
               {
                  "methodType":"GET",
                  "rel":"feedURl",
                  "href":"insights/feedExtracts?loginName=User1672528776660&fromDate=2023-01-04T06:40:00Z&toDate=2023-01-04T06:45:00Z"
               }
            ]
         },
         {
            "user":{
               "loginName":"User1672528046946"
            },
            "links":[
               {
                  "methodType":"GET",
                  "rel":"feedURl",
                  "href":"insights/feedExtracts?loginName=User1672528046946&fromDate=2023-01-04T06:40:00Z&toDate=2023-01-04T06:45:00Z"
               }
            ]
         },
         {
            "user":{
               "loginName":"User1672531218810"
            },
            "links":[
               {
                  "methodType":"GET",
                  "rel":"feedURl",
                  "href":"insights/feedExtracts?loginName=User1672531218810&fromDate=2023-01-04T06:40:00Z&toDate=2023-01-04T06:45:00Z"
               }
            ]
         },
         {
            "user":{
               "loginName":"User1672531411547"
            },
            "links":[
               {
                  "methodType":"GET",
                  "rel":"feedURl",
                  "href":"insights/feedExtracts?loginName=User1672531411547&fromDate=2023-01-04T06:40:00Z&toDate=2023-01-04T06:45:00Z"
               }
            ]
         }
      ]
   }
}
Field Name Description
notificationId The unique identifier for the notification.
info The info attribute value will be INSIGHTS for the data updates event.
notificationTime The time at which the notification is sent.
data The data node is the payload the customer receives and is used by the developer to take relevant actions. The data attribute varies from event to event.
data.userCount The count of users for whom the data is sent.
data.fromDate The dateTime from when the notification is generated.
data.toDate The dateTime till when the notification is generated.
data.userData[] The userData node contains the user and the link information.
data.userData[].user The user node is an entity that contains information about the users.
data.userData[].user.loginName The loginName of the user for whom the data is changed.
data.userData[].links The links node is an entity that contains link-related information.
data.userData[].links.methodType The type of method to invoke the endpoint.
data.userData[].links.rel The relationship detail of the service to be invoked.
data.userData[].links.href The URL to be appended to the base URL to invoke the related service.

Other Configurations

Contact Envestnet | Yodlee support to configure the duration for which the webhooks notification should be sent. By default, the duration is set to 1 hour (recommended).

Retry Logic and Fallback Option

Retry logic and fallback options to handle planned and unplanned downtime is as follows:

  • Unplanned downtime – In situations when your callback URL is not reachable because of a network glitch or unplanned downtime, etc., Envestnet | Yodlee will retry to send the notification in intervals of 10, 20, 40, 80, 160, 320, 640, and 1280 minutes.
    • Pros – The system will automatically switch to a retry mechanism when notifications are not delivered successfully. Envestnet | Yodlee tries to send each notification for a max of 1280 minutes before discarding it.
    • Cons – As the retry logic is spread across multiple intervals, the failed notification will not be delivered immediately after your system is up and running. For example, if the unplanned downtime lasts 21 minutes, the first failed notification will be delivered at the 40th minute as per the retry logic.
  • Planned downtime – It is recommended to unsubscribe to webhooks when you have a planned downtime, during which the callback URL is not accessible. Once the downtime activity is complete, you can again subscribe to webhooks.
    After subscribing, Envestnet | Yodlee will send relevant data update notifications that occurred in the last 1 hour during the downtime. If your downtime lasts more than 1 hour, we recommend using the feeds polling approach as a fallback option to retrieve the notification beyond the 1 hour of subscribing back to webhooks.
    • Pros – The notifications for the last 1 hour will be immediately delivered after the system is up and running.
    • Cons – You will have to explicitly unsubscribe and subscribe to notifications, and notifications older than 1 hour must be retrieved through the feeds polling approach.

Best Practices

Payload varies depending on the number of users for whom data is being modified during the notification interval. Increasing the notification interval increases the payload sent by Envestnet | Yodlee servers. Ensure that your servers can handle the payload.

Additional Notes

  • The notification with details of users whose insights have been generated will be sent in 1 hours intervals.
  • The notification for an interval will have a maximum of 100 users' data. For example, if 250 users' data got updated in the last 1-hour interval, three notifications will be sent with 100, 100, and 50 users' details, respectively.
  • Once the notification is received, customers are expected to invoke the Feed Extracts service using the information provided in the notification.
  • The content-type of the notification will be application/json.

Event Notification API Flow

INSIGHTS Event Polling

Follow the steps to implement INSIGHTS event notification:

  1. Authenticate -
    Generate the access token using the client credential authentication mechanism as described in Getting Started with Client Credentials.
  2. Poll -
    Invoke the Feeds Extract service to learn which user in a given period had the insights generated.
  3. Retrieve -
    Invoke the Feeds Extract to retrieve the information received during polling.

Event Polling API Flow