Webhook endpoint in IDMC Cloud Application Integration
Webhook endpoint in IDMC Cloud Application Integration
Webhooks are a great way to receive notifications for changes to person data without having to consume an entire batch of data to find the changes yourself. This is a feature of the Person API, and you can find the knowledge base article for webhooks here.
We have created a full tutorial on subscribing to Person API webhooks and consuming them with Informatica Data Management Cloud (IDMC). You can find this tutorial in Canvas in Section 8 of the full UW Integrator Training.
Guidelines to follow
Important: Webhook-triggered processes in IDMC Application Integration, part of IDMC share the same Process Server threads with all other processes. Inefficient designs can lead to thread exhaustion and service disruption. To prevent this:
- Keep webhook handlers lightweight — use them only to capture the request. Trigger a separate process for data transformation or heavy work to run either manually or on a schedule.
- Run in the cloud if no connections to any on-premise data are required.
- Make sure your process finishes within 5 seconds — longer-running work should not be attached directly to a webhook.
- Please make sure your connection configurations are set (please see the "Setting up connection configurations" section below). Setting these configurations will prevent numerous obsolete connections to keep running and potentially jamming the entire Process Server.
- Plan for downtime — if the Process Server is down, no webhook processes will run.
- Follow these rules in all environments — both test and production.
Setting up connection configurations
Please make sure the connection configurations are set. Follow these steps:
- Open the App Connector (the related connection in CAI for your process).
- On the main screen, scroll down to see the "Connection Properties" and
- Make sure they are set properly. If you are not sure how to set them, open the related Service Connector and look for the default values (these values are set in Service Connector and you can safely use them in the App Connector):
- Initial Connection Pool Size: you don't need to set this up unless you need a connection available all the time. In that case, copy from Service Connector
- Max Active Connections: copy from Service Connector
- Min Idle Connections: copy from Service Connector
- Max Idle Connections: copy from Service Connector
- Max Wait (ms): this one is optional, but recommended. It depends on how long your app runs on each trigger.
- Test on Borrow: turn this one (set to "Yes")
- Test on Return: turn this one (set to "Yes")
- Test while Idle: turn this one (set to "Yes")
- SQL Validation Query: this one is optional, but recommended. A simple query to ensure connection can be established. For example, in MySQL, you can set:
SELECT 1and in Oracle connections, you can set it toSELECT 1 FROM DUAL.
References
- IDMC documentation for Application Integration
- API Team's webhook documentation for a full overview on how to subscribe to webhooks and receive a validation token for the Person API.