I have created an application with a webhook for Contact creation. And I have integrated it into my test app and it calls out to my url correctly. However I was expecting more in the JSON payload than I am getting. Is this because if you use a webhook in workflow you get the full Contact data but if you use it via app integration you just get high level info and then have to call the Contacts API to get the rest?
I added my webhook to a workflow associated with filling in a form and that sent a lot more info but the workflow is more limiting than I want.
The Webhooks API and the workflow webhook actions are distinct systems, and are often used for different purposes. The webhook notifications sent via the Webhooks API is intentionally small, since large apps installed across many portals can generate extremely high webhook volumes. Conversely, the notifications sent via the workflow webhook action is comparatively large since implementations that use it are generally simpler and smaller in volume.
Your best bet is to use the contactId included in the webhook notification to pull the full contact record. If you're expecting high volumes of notifications, you can also batch the notifications and request many contacts at once using the batch API.