How to Set Up Contact Forms on Your Odoo Website

How to Set Up Contact Forms on Your Odoo Website

Yannis, Odoo Expert
5 min read

Table of Contents

Why Contact Forms Matter

A well-designed contact form is the bridge between your website visitors and your business. In Odoo, contact forms go beyond simple email collection — they can generate CRM leads, create helpdesk tickets, assign project tasks, and more.

This guide walks you through setting up, customizing, and optimizing contact forms on your Odoo website.

Choosing a Form Action

Every Odoo form is linked to a specific action that triggers when a visitor submits it. The available actions depend on which Odoo apps you have installed:

Odoo form action selection dropdown showing available actions

  • Send an email — Delivers the submission to a specified email address
  • Create an opportunity — Adds a lead in CRM with an assigned sales team and salesperson
  • Create a task — Generates a task in the Project app
  • Create a ticket — Opens a support ticket in Helpdesk

Each form supports only one action. Set the action before customizing fields, since the available field options change depending on the action you choose.

Setting the recipient email address for the form

Using Tabs for Multiple Forms

If you need multiple forms with different actions on a single page, use the Tabs building block to keep things organized:

  1. Open the website editor and search for Tabs in the building blocks

Searching for the Tabs building block in the editor

  1. Drag the Tabs block onto your page
  2. Rename each tab (e.g., "Plan Your Trip" and "Customer Support")

Tabs renamed to Plan Your Trip and Customer Support

  1. Remove any extra tabs you don't need
  2. Drag a Form block into each tab
  3. Set a different action for each form

Form inside a tab with Create a Ticket action selected

This approach keeps your page clean while offering visitors multiple ways to reach you.

Customizing Form Fields

Adding and Removing Fields

  • Remove a field: Select the field and click the trash icon

Removing a form field using the trash icon

  • Add a field: Click the + Field button to insert a new field

Adding a new field with the plus field button

  • Reorder fields: Drag and drop, or use the arrow buttons to move fields up and down

Reordering fields using drag and drop or arrow buttons

Field Types

Odoo offers several field types to match your data collection needs:

Field TypeUse Case
TextShort answers like name or company
SelectionDropdown with predefined options
ListMultiple choice from a list
CheckboxesMultiple selections at once
File UploadAttachments with configurable max file count and size

Field type options showing selection, list, checkboxes, and file upload

Field Settings

For each field, you can configure:

  • Label — The field name displayed to the visitor
  • Label position — Placement relative to the input
  • Description — Helper text below the field
  • Required — Whether the field must be filled before submitting
  • Default value — Pre-filled text (useful for guiding visitor input)

Field settings panel showing label, description, required toggle, and default value

Marking Required vs Optional Fields

Odoo lets you control how required and optional fields are indicated with a star marker:

  • Required — Star appears on mandatory fields
  • Optional — Star appears on optional fields
  • None — No star markers shown

Star marker options for required, optional, and none

Adjust the label width to improve layout and readability.

Setting the Submit Action

After a visitor submits the form, you can choose what happens next:

  • Redirect — Send the visitor to a thank-you page (the default)
  • Show message — Display the submitted content back to the visitor
  • Nothing — No visible response

Post-submission action options: redirect, show message, nothing

Conditional Visibility

Conditional visibility lets you show or hide fields based on what the visitor enters in other fields. This keeps forms short by default while collecting extra information when relevant.

Conditional visibility settings for a file upload field

To set it up:

  1. Select a field and open its Visibility settings
  2. Choose from:
    • Always visible — Field is always shown
    • Always hidden — Field is never shown
    • Visible only if — Field appears based on a condition
  3. Define the condition by selecting a reference field and an operator:
    • Is equal to / Is not equal to
    • Contains / Doesn't contain
    • Is set / Is not set

Visibility condition operators: is equal to, contains, is set, etc.

Example: Show a file upload field only when the "Your Company" field has a value — so only business inquiries include attachment options.

Quick Setup Checklist

  1. Decide the form's purpose and select the corresponding action
  2. Set the recipient email or target app (CRM, Helpdesk, Project)
  3. Add and configure fields to collect the information you need
  4. Set required fields and default values where appropriate
  5. Add conditional visibility for a cleaner user experience
  6. Choose the post-submission behavior (redirect, message, or nothing)
  7. Use Tabs if you need multiple forms on one page
  8. Save, preview, and test the form before publishing

References

Tags

OdooWebsiteContact FormCRMHelpdesk
Professional businesswoman working with data and analytics in modern office environment

Need Help with Odoo Implementation in Hong Kong?

Zoo AI is a certified Odoo partner in Hong Kong, delivering expert ERP implementation and AI automation for SMEs. Get in touch to learn more.