Webhook Outgoing & Incoming
Empower your Odoo 19 instance with real-time communication. Create incoming webhook endpoints to receive data from external services, and configure outgoing webhook triggers to push data on record Create, Update, or Delete events â with full logging and resend support.
How it Works
Incoming Webhook Endpoints
Create named incoming webhook endpoints to receive real-time data from any external service. Each endpoint generates a unique URL (HTTP or JSON type) that third-party services can POST or GET to. All incoming data is captured and stored automatically.
Manage Your Webhooks
View all your incoming webhook endpoints in an organised kanban or list view. Easily explore, update, and manage existing webhook configurations from one place.
Webhook Response Data
Every request received by an incoming endpoint is captured and stored â including the full request headers and payload. View the response reference, received headers, and body content directly inside Odoo.
Outgoing Webhook Trigger
Configure outgoing webhook triggers on any Odoo model. Automatically push data to an external endpoint when records are created, updated, or deleted. Supports POST and GET methods with custom headers and field selection.
Webhook Trigger Fields & Features
Each webhook trigger supports a rich set of configuration options to precisely control when, how, and what data is sent.
Fields & Features
- Title: Assign a unique name to each webhook trigger for easy identification.
- Model: Choose the Odoo model the webhook listens to.
- Trigger Fields: Specify which fields must change to fire the webhook (Update trigger only). Leave empty to watch all fields.
-
Trigger: Define when the webhook fires:
- On Create: Fires when a new record is created.
- On Update: Fires when an existing record is updated.
- On Delete: Fires when a record is deleted.
- Request Method: Choose POST (recommended) or GET.
- Endpoint URL: The destination URL to receive the webhook payload.
- Active: Enable or disable the trigger at any time.
- Enable Logs: When enabled, all requests and responses are recorded in the Webhook Trigger Logs for monitoring and debugging.
- Filter Domain: Apply Odoo domain filters so the webhook only fires for records matching specific conditions.
- Date Filter Field & Date Filter Selection: Narrow down records by a date or datetime field using predefined ranges (Today, Last 7 Days, Last Month, etc.). Available on Update triggers.
- Header Data: Add custom HTTP headers (e.g. Authorization tokens) to every outgoing request.
- Fields to Send: Select specific record fields to include in the payload. If none are selected, all fields are sent.
Get Started with Webhooks
- Navigate to Webhooks â Outgoing Webhooks â Webhook Triggers and create a new trigger.
- Select the Model and set the Trigger (On Create / On Update / On Delete).
- Enter the Endpoint URL and choose the Request Method (POST or GET).
- Optionally add Header Data (e.g. Authorization token) and Fields to Send.
- Enable Enable Logs if you want to record all requests and responses.
- Toggle Active to enable the trigger. Your webhook is now live.
Trigger Fields â Watch Specific Fields
On Update triggers, you can restrict which field changes activate the webhook. Only changes to the selected trigger fields will fire the webhook â all other field updates are ignored.
Date Range Filter
Filter records by a date or datetime field using built-in ranges such as Today, This Week, Last 7 Days, Last 30 Days, Last Month, Last Year, and more. Combine with a domain filter for precise control over which records trigger the webhook.
Webhook Trigger Logs
When Enable Logs is turned on, every webhook request is recorded â including the endpoint URL, request method, payload, response status code, and response body. Use logs to monitor delivery status and diagnose failures.
Resend Failed Webhooks
If a webhook request fails or needs to be re-delivered, open the log record and click the Resend button. The original payload and headers are re-sent to the endpoint and the response is updated in the log. This is a manual process.
Send Only Selected Fields
Use the Fields to Send tab to pick exactly which record fields are included in the webhook payload. This keeps requests lightweight and avoids sending sensitive or unnecessary data. If no fields are selected, all fields are included.
Webhook Timezone Setting
Go to Settings â Webhook Settings and select a timezone. All datetime field values in outgoing webhook payloads will be automatically converted to the selected timezone before being sent.
Example Payload
{
"user_name": "Mitchell Admin",
"uid": 2,
"method": "create",
"model_name": "res.partner",
"items": [
{
"id": "42",
"name": "John Doe",
"email": "john@example.com",
"phone": "+1 555 000 111",
"create_uid": "(2, 'Mitchell Admin')",
"create_date": "2024-02-17 11:26:58",
"write_uid": "(2, 'Mitchell Admin')",
"write_date": "2024-02-17 11:26:58"
}
]
}
Free Module Customization
Get up to 10 hours of free customization for this module!
Take advantage of our offer to tailor this module to your specific requirements â whether enhancing existing features or adding new ones, our team is here to help.
Need Help or Customization?
Contact our support team at webdeveloper.inf@gmail.com
Please log in to comment on this module