Webhook integration
Outbound webhooks send real-time data to external services whenever events happen in your workspace. When an invoice gets paid, a form gets submitted, or a task gets completed, Plutio sends a JSON payload to your specified URL. Webhooks connect Plutio with Zapier, Make (Integromat), custom APIs, or any service that accepts HTTP POST requests.
How to add a webhook
- Go to Settings > Integrations.
- Find the Webhooks section and click to add a new webhook.
- Enter the target URL. The URL is the endpoint on your external service that will receive the data (e.g., a Zapier webhook URL or your own API endpoint).
- Select which events trigger the webhook. Available events include invoice created, invoice paid, task completed, form submitted, proposal signed, contact created, project updated, contract signed, and time entry logged. Each webhook can listen to one or more specific event types.
- Add custom headers (optional). You can add authorization headers or other custom headers for authentication. A common pattern is adding a secret token so the receiving service can verify the request genuinely came from your Plutio workspace.
- Save the webhook.
Testing a webhook
- Open the webhook you want to test.
- Click the test button. Plutio sends a sample POST request to your endpoint so you can verify the connection works before relying on the webhook for real events.
Payload format
The webhook payload is a JSON object containing the full entity data for the event that triggered the request. An "invoice paid" webhook, for example, includes the invoice amount, client, status, and payment information. The payload structure matches the entity's REST API format, so the same fields available through the API are included in the webhook body.
Adding multiple webhooks
You can add as many webhooks as you need. Each webhook has its own URL and event selection, so different services can receive different event types. For example, one webhook might send invoice events to your accounting tool while another sends form submissions to a CRM.
Retry logic
When a webhook delivery fails (the receiving server returns an error or doesn't respond), Plutio retries the request up to three times with automatic spacing between attempts. Retries give the receiving service time to recover from temporary outages, so transient failures don't result in missed events.