Webhooks are an easy and efficient way for specific software to alert other software.
When using webhooks, you'll be automatically notified when an event (such as a new card) happens. Instead of continuously requesting the other software for that information.
What is a webhook?
A webhook is how an API can alert another API or software. It works as a trigger between two applications that notifies users when a certain event (not due to a direct action from the app) happens.
For example, let's say you want to know every time a new card is created on Pipefy. So you can get the information on that card for your software.
If you were simply using the API, you'd have to constantly ask Pipefy if a new card had been created. If you didn't ask for the information, you'd never know. That's not a good way to integrate, seeing that you would have to send requests to Pipefy every second (and the answer would frequently be "no").
Using a Webhook, on the other hand, would make this interaction more efficient, notifying you every time there's a new card on Pipefy by sending you an alert telling you that. This alert would then be used to make your software request the card information from Pipefy (and its answer would always be "yes").
An API, therefore, is used to asking direct questions/send requests while a Webhook is used as a trigger to alert your software of an event. Instead of repeatedly asking if something's changed, you can sit back and wait to be notified when the event happens.