Running an HVAC business with Odoo

How do I set up a no-code reminder rule in Odoo?

Workflow overview: How do I set up a no-code reminder rule in Odoo?
Workflow overview. Instructional screenshots show the actual demo interface.

Create an Odoo internal follow-up activity from a stock stage trigger, then verify saved conditions, repeat behavior and manual closure.

When a new HVAC enquiry becomes qualified, Alex wants a reminder to review its site details and agree the next step. The official Automation Rules module can create that internal activity using existing fields and a predefined action. This example creates one To-Do on a separate training enquiry, checks a repeated stage transition and closes the reminder after the enquiry becomes Won.

Alex Rivera and Demo Air HVAC are fictional training examples. Prices, dates, quantities and business situations in this guide are illustrative.

Before you begin

Tested in stock Odoo 20.0-20260926 Community as the demo owner administrator, with official modules and standard configuration. Use the CRM stages from How do I set up a sales pipeline for my HVAC business in Odoo? and the activity procedure from How do I schedule and complete follow-up activities in Odoo?. Work as an administrator in a training database. The official Automation Rules, technical name base_automation, is required; it was initially absent in this installation. Prepare one separate opportunity named Demo Internal Reminder Enquiry H70, customer Demo Property H08, owner Demo Air Owner, initially in New. The name is an exact training filter, not a unique-record guarantee. All stages and outcomes in this fixture are synthetic; they establish no actual new sale or HVAC work.

Step-by-step workflow

Step 1. Activate the official Automation Rules module

Open Apps, remove the default Apps search filter if it hides technical modules, and search base_automation. On the Automation Rules card, click Activate once and wait for installation. Verify the official Odoo S.A. module. The nearby Test - Base Automation card is a different module and is not needed. This test installed only the official Automation Rules module, without a custom add-on.

Action 1: Remove the Apps filter to find technical modules. The actual target is highlighted in gold.
Remove the Apps filter to find technical modules.
Action 2: Search for the official base_automation module. The actual target is highlighted in gold.
Search for the official base_automation module.
Action 3: Activate official Automation Rules once; leave the Test module alone. The actual target is highlighted in gold.
Activate official Automation Rules once; leave the Test module alone.

Step 2. Open a rule and choose the existing CRM model

Open Settings. If Technical is not visible, find Developer Tools at the bottom of General Settings and click Activate the developer mode. Then open Technical → Automation Rules. Click New, enter H70 Demo enquiry - one internal follow-up and select Lead in Model. Despite that model label, this test uses an ordinary CRM opportunity. Choose the actual model option from the dropdown rather than leaving unconfirmed search text. Other user roles and menu access were not tested.

Action 4: Open Settings for the native Technical tools. The actual target is highlighted in gold.
Open Settings for the native Technical tools.
Action 5: Developer Tools: activate the developer mode. The actual target is highlighted in gold.
Developer Tools: activate the developer mode.
Action 6: Open the now-visible Technical menu. The actual target is highlighted in gold.
Open the now-visible Technical menu.
Action 7: Choose Automation Rules from the native menu. The actual target is highlighted in gold.
Choose Automation Rules from the native menu.
Action 8: Create the training automation rule. The actual target is highlighted in gold.
Create the training automation rule.
Action 9: Name this training rule. The actual target is highlighted in gold.
Name this training rule.
Action 10: Choose the actual Lead model option. The actual target is highlighted in gold.
Choose the actual Lead model option.

Step 3. Set the event that creates the reminder

In Trigger, choose Stage is set to and select Qualified. Odoo adds Stage = Qualified to Apply on. Keep Before Update Domain at its default all-records setting for this specific test. The rule will evaluate the saved stage event. It does not wait a day to create the activity; the separate Due In setting will determine the activity deadline.

Action 11: Choose the Stage is set to trigger. The actual target is highlighted in gold.
Choose the Stage is set to trigger.
Action 12: Select Qualified as the triggering stage. The actual target is highlighted in gold.
Select Qualified as the triggering stage.

Step 4. Narrow Apply on using the graphical domain builder

Click the Edit Domain button beside Apply on, rather than the separate Before Update Domain button. Keep Match all. Retain Stage = Qualified. Use New Rule, select the existing Opportunity field and choose is equal to. Add another rule for Activities, operator is not set. After the fields and operators settle, enter Demo Internal Reminder Enquiry H70 in the Opportunity value. Commit that text field and check all three conditions and the full name before clicking Confirm. Check them again on the rule form before saving. Before the training enquiry exists, the matching count is zero. No domain code needs to be typed.

Action 13: Edit Apply on, keeping Before Update Domain unchanged. The actual target is highlighted in gold.
Edit Apply on, keeping Before Update Domain unchanged.
Action 14: Add the exact Opportunity-name condition. The actual target is highlighted in gold.
Add the exact Opportunity-name condition.
Action 15: Choose the existing Opportunity field. The actual target is highlighted in gold.
Choose the existing Opportunity field.
Action 16: Use is equal to for the Opportunity name. The actual target is highlighted in gold.
Use is equal to for the Opportunity name.
Action 17: Add the open-activity guard. The actual target is highlighted in gold.
Add the open-activity guard.
Action 18: Choose Activities for the guard. The actual target is highlighted in gold.
Choose Activities for the guard.
Action 19: Activities is not set blocks repeats while any activity is open. The actual target is highlighted in gold.
Activities is not set blocks repeats while any activity is open.
Action 20: Verify the exact enquiry name after the conditions settle. The actual target is highlighted in gold.
Verify the exact enquiry name after the conditions settle.
Action 21: Check Match all and all three graphical conditions. The actual target is highlighted in gold.
Check Match all and all three graphical conditions.
Action 22: Verify the exact name, then Confirm the three conditions. The actual target is highlighted in gold.
Verify the exact name, then Confirm the three conditions.
Action 23: Check the full name, Qualified and Activities is not set. The actual target is highlighted in gold.
Check the full name, Qualified and Activities is not set.

Step 5. Choose the predefined Create Activity action

Under Actions To Do, click Add an action. Choose the Create Activity Type and retain To-Do as Activity Type. Set Summary to H70 Review qualified HVAC enquiry, Due In to 1 Days, Assign to? to Specific User, and select Demo Air Owner in the user picker. Enter a short internal note asking the owner to review site details and agree the next step.

After those settings settle, name the action H70 Create internal qualified-enquiry follow-up. Odoo fills the action name when the activity type changes, so enter your name last and check it before clicking Save & Close. Back on the rule, check that all three Apply on conditions and the full opportunity name remain visible, then click Save manually. Wait for pending changes to clear. The saved action is the predefined activity action; no Python, webhook or custom scheduled job is entered.

Action 24: Add the predefined activity action. The actual target is highlighted in gold.
Add the predefined activity action.
Action 25: Use Create Activity, without authored code. The actual target is highlighted in gold.
Use Create Activity, without authored code.
Action 26: Set the internal reminder summary. The actual target is highlighted in gold.
Set the internal reminder summary.
Action 27: Due In 1 Day sets the deadline, not a delayed trigger. The actual target is highlighted in gold.
Due In 1 Day sets the deadline, not a delayed trigger.
Action 28: Assign this internal To-Do to Demo Air Owner. The actual target is highlighted in gold.
Assign this internal To-Do to Demo Air Owner.
Action 29: Add the training-only internal instruction. The actual target is highlighted in gold.
Add the training-only internal instruction.
Action 30: Name the action last after its activity settings settle. The actual target is highlighted in gold.
Name the action last after its activity settings settle.
Action 31: Save this one predefined activity action. The actual target is highlighted in gold.
Save this one predefined activity action.
Action 32: Save the narrow rule and wait for pending changes to clear. The actual target is highlighted in gold.
Save the narrow rule and wait for pending changes to clear.

Step 6. Create the separate enquiry and exercise the first saved transition

In CRM → Pipeline, click New, enter the exact training opportunity name and choose the existing Demo Property H08 contact. Click Add once and open its card. Verify New, the intended customer/owner and no planned activity. Click the Qualified stage, then Save manually. Choosing the stage initially leaves an unsaved form; in this test the first read still showed New until Save. After the saved transition, the chatter shows one planned H70 Review qualified HVAC enquiry, assigned to the owner, with the instruction note and Tomorrow deadline. On the local October 14 test, that deadline was October 15.

Action 33: Create one separate training enquiry in Pipeline. The actual target is highlighted in gold.
Create one separate training enquiry in Pipeline.
Action 34: Use the exact name required by the narrow rule. The actual target is highlighted in gold.
Use the exact name required by the narrow rule.
Action 35: Select the existing Demo Property H08 customer. The actual target is highlighted in gold.
Select the existing Demo Property H08 customer.
Action 36: Add this one enquiry once; no reminder exists in New. The actual target is highlighted in gold.
Add this one enquiry once; no reminder exists in New.
Action 37: Open the saved enquiry card. The actual target is highlighted in gold.
Open the saved enquiry card.
Action 38: Review the New enquiry before its saved trigger. The actual target is highlighted in gold.
Review the New enquiry before its saved trigger.
Action 39: Choose Qualified; the stage change still needs Save. The actual target is highlighted in gold.
Choose Qualified; the stage change still needs Save.
Action 40: Save Qualified once to create the internal reminder. The actual target is highlighted in gold.
Save Qualified once to create the internal reminder.
Action 41: One owner reminder now shows its deadline and instruction. The actual target is highlighted in gold.
One owner reminder now shows its deadline and instruction.

Step 7. Check repetition while the activity remains open

Leave that To-Do open. Add a clearly labelled training note under Notes and save; the same one activity remains. Move the same enquiry back to New, save, then move it to Qualified and save again. This repeated qualifying event still leaves the original one activity, with no second reminder. The Activities-is-not-set condition blocks the action while any open activity exists on this enquiry. It is broader than a check for this reminder summary: another open activity would also make the record ineligible.

Action 42: Edit unrelated training Notes while the reminder stays open. The actual target is highlighted in gold.
Edit unrelated training Notes while the reminder stays open.
Action 43: Save Notes if pending; retain the same open reminder. The actual target is highlighted in gold.
Save Notes if pending; retain the same open reminder.
Action 44: Move the same enquiry back to New. The actual target is highlighted in gold.
Move the same enquiry back to New.
Action 45: Save New while retaining the original reminder. The actual target is highlighted in gold.
Save New while retaining the original reminder.
Action 46: Choose Qualified again for the repeat test. The actual target is highlighted in gold.
Choose Qualified again for the repeat test.
Action 47: Save the repeat; the open-activity guard prevents a second reminder. The actual target is highlighted in gold.
Save the repeat; the open-activity guard prevents a second reminder.

Step 8. Review the reminder when the enquiry becomes Won

Use the enquiry’s Won button for this synthetic stop-condition test. The stage becomes Won and the existing activity remains planned. A stage filter does not automatically complete an already created activity. After the internal task has actually been reviewed, click its Done control, enter meaningful Write Feedback, and choose Done. The separate Done and Schedule Next control would request another activity; it is not used here. The completed reminder and feedback stay in the chatter.

Action 48: Mark this fictional enquiry Won for the stop test. The actual target is highlighted in gold.
Mark this fictional enquiry Won for the stop test.
Action 49: Use Done on the existing reminder after reviewing it. The actual target is highlighted in gold.
Use Done on the existing reminder after reviewing it.
Action 50: Record meaningful fictional review feedback. The actual target is highlighted in gold.
Record meaningful fictional review feedback.
Action 51: Choose Done without scheduling another activity. The actual target is highlighted in gold.
Choose Done without scheduling another activity.

Step 9. Verify the stop condition and retire the training rule

Edit and save the training Notes while the enquiry is Won. Reopen it: there are no open H70 activities, one retained completed-activity entry and zero quotations. The earlier Qualified enquiry remains untouched. Return to the same Automation Rule, open Actions menu → Archive, and confirm Archive in the dialog. Its saved Active state is now false; the rule and predefined action remain available as evidence. Archiving the rule does not erase its completed activity history.

Action 52: Edit Won Notes to check the stop condition. The actual target is highlighted in gold.
Edit Won Notes to check the stop condition.
Action 53: Save the Won edit if pending; no new reminder should appear. The actual target is highlighted in gold.
Save the Won edit if pending; no new reminder should appear.
Action 54: Reopen confirms zero Quotations and no extra sale. The actual target is highlighted in gold.
Reopen confirms zero Quotations and no extra sale.
Action 55: Open the same training rule’s Actions menu. The actual target is highlighted in gold.
Open the same training rule’s Actions menu.
Action 56: Archive this training rule once. The actual target is highlighted in gold.
Archive this training rule once.
Action 57: Confirm Archive; keep the rule and completed history. The actual target is highlighted in gold.
Confirm Archive; keep the rule and completed history.
Action 58: The archived rule remains available as training evidence. The actual target is highlighted in gold.
The archived rule remains available as training evidence.

Check the result

One new CRM enquiry saved in New without a reminder. Its first saved Qualified transition created one owner To-Do with a next-day deadline. An unrelated edit and a New → Qualified repeat retained that same open activity. Won made the record ineligible but retained the activity until the owner used Done; a later Won edit and reopen retained zero open reminders and one completed entry with feedback. The training rule is archived. The five earlier enquiries, open bank-review activity, five payments and existing invoice balances are preserved. No new outgoing mail was created.

If your screen differs

This is one immediate stage-triggered internal activity, with a deadline one day later. Unattended date-based execution and automatic customer emails were not tested, and background jobs stayed disabled. The saved filter requires the exact opportunity name, Qualified and no open activity; any open activity blocks it, while another record with the same name could also match. After completion, a future qualifying transition could become eligible again; this is not a permanent once-per-record flag or a concurrency guarantee. Won does not remove an existing reminder. The test archived the rule at the end. Wider filters, a different assignee, scheduled triggers, other roles and email-delivery behavior need their own controlled checks.

Frequently asked questions

How do I create an automatic follow-up activity in Odoo?

Use the official Automation Rules module, the intended model and a supported trigger. Add a narrow graphical Apply on filter and the predefined Create Activity action with type, summary, deadline and user. Save the rule, exercise the saved event and inspect the actual linked activity. This example used a Qualified-stage event on one training opportunity.

How do I stop duplicate automated activities in Odoo?

This test added Activities is not set to the rule’s Match all conditions. A repeated qualifying transition retained the same one open reminder. The condition blocks on any open activity, so choose it only when that broader behavior fits. Completion can make a record eligible for a later qualifying event; wider duplicate and concurrent-event cases were not tested.

Does an Odoo automated action send an email when it creates an activity?

This verified action created an internal owner To-Do and no new outgoing mail. The action picker also displayed Send Message, but automated-email delivery was not exercised. Email needs a separately checked action, template, recipient, outgoing route and repeat/stop test.

Continue building the business

Continue with How do I export Odoo business records to a spreadsheet? (guide coming later). For money still owed, the Can Odoo send reminders for overdue invoices? has its own eligibility, review and delivery checks; this CRM activity test does not establish automated invoice dunning.

Talk to an Odoo partner

Bring your current process and the result you need to Onward to plan your Odoo workflow. Talk to an Odoo partner.