Testing Your Webhook
Ingrow provides a “Test” button on the Integrations page that allows you to send a test payload to your configured endpoint. This is a crucial step to ensure that your endpoint is correctly set up to receive and process data from InGrow. The test payload has a simple structure:- Endpoint Connectivity: Ensure that your endpoint receives the POST request.
- Payload Structure: Check that your application can correctly parse the JSON payload.
- Authentication Headers: If you have configured a secret header, verify that it is being received and validated correctly.
- Response Handling: Confirm that your endpoint returns a successful (200-299) HTTP status code.
Best Practices
To ensure a robust and reliable webhook integration, we recommend the following best practices:- Use HTTPS: For security reasons, InGrow only supports HTTPS endpoints.
- Implement Idempotency: Use the
id
of each signal to prevent processing the same signal multiple times. It is possible for webhooks to be delivered more than once, so your application should be designed to handle duplicates gracefully. - Handle Errors Gracefully: Your application should return appropriate HTTP status codes. A
2xx
code indicates success. A4xx
code indicates a client-side error (e.g., a problem with your endpoint), and InGrow will not retry the request. A5xx
code indicates a server-side error, and InGrow will attempt to retry the request. - Respond Quickly: Your endpoint should respond to webhook requests within 30 seconds to avoid timeouts. If you need to perform long-running tasks, consider using a queue to process the data asynchronously.
- Validate the Signature: If you are using a secret header, always verify the signature to ensure that the request is from InGrow and has not been tampered with.
Disconnecting a Webhook
If you no longer wish to receive webhook notifications, you can disconnect your webhook at any time.- Navigate to the Integrations page.
- In the Signals Webhook section, click “Disconnect”.
- Confirm the disconnection.