| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 848 |
| Technical Name |
gb_reminder_follow_up_engine |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 848 |
| Technical Name |
gb_reminder_follow_up_engine |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Reminder & Follow-up Engi
Snooze, follow-up and escalate any record so nothing slips through the cracks
Important follow-ups slip through the cracks because native Odoo activities are tied to specific models, can't be snoozed, have no personal worklist and never escalate when ignored. This lightweight engine lets anyone attach a reminder to ANY record, snooze it by preset or custom time, and run recurring follow-ups that auto re-arm. A scheduled job fires due reminders and escalates the ones that get repeatedly missed to a manager, while a daily digest emails each user their open, overdue and urgent worklist. Sales, support, finance and operations all follow up the same reliable way — so nothing is forgotten.
Key Features
Attach a reminder to any record
gb.reminder.followup uses a generic res_model / res_id (Many2oneReference) link, so a follow-up attaches to a partner, lead, invoice or task alike. The gb.reminder.mixin adds a reminder_count smart button and action_view_reminders to any model you inherit it onto; res.partner ships wired in out of the box.
Flexible snooze with preset or custom time
The gb.reminder.snooze.wizard offers presets from 15 minutes to 1 week, or a custom date/time. action_apply calls snooze(), which pushes due_date forward, sets state to snoozed and increments miss_count — every snooze is one step closer to escalation, logged in chatter.
Miss-based escalation policy
gb.reminder.policy defines escalate_after_misses and an escalate_action of notify, reassign or both. When miss_count crosses the threshold, _maybe_escalate resolves the manager (via resolve_manager, using the owner's HR manager, then the policy manager_id), reassigns and notifies — optionally CC'ing the owner.
Scheduled engine that fires and escalates
The _cron_process_reminders job flips scheduled/snoozed reminders to due when due_date passes, then escalates overdue ones still left unactioned past the policy's default_lead_minutes grace window. Reminders progress and escalate even when nobody is logged in.
Recurring reminders that auto re-arm
Set recurrence to daily, weekly or monthly with an optional recurrence_end. On action_mark_done, _spawn_next_occurrence copies the reminder forward to its next due date with miss_count and escalation reset — so routine follow-ups never need re-creating.
Lifecycle states and overdue search
Reminders flow through scheduled, due, snoozed, escalated, done and cancelled via action_mark_done, action_cancel and action_reset. The searchable is_overdue flag and minutes_to_due field let you filter and sort your worklist by urgency, with priority levels Normal/Important/Urgent.
Daily personal worklist digest
gb.reminder.digest builds a per-user snapshot counting open, overdue, due-today, escalated and urgent reminders, rendering an HTML summary. The _cron_send_digests job groups open reminders by user_id and message_notify-s each owner their morning worklist so nothing is forgotten.
One-click open and programmatic create
action_open_record jumps straight from a reminder to its linked record, while the mixin's create_reminder(name, due_in_hours, note) helper lets other modules attach follow-ups in code. open_reminder_count surfaces only the still-open items on each record's smart button.
Use Cases
Screenshots
Digests
Reminders
Policies
Why Choose This Module
Things slip through the cracks. Native Odoo activities are limited to specific models and offer no snooze, no personal worklist and no escalation chain. This lightweight engine lets you attach a personal reminder or follow-up to any record, snooze it, and let a scheduled job fire due reminders and escalate the ones that get ignored.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: LGPL-3
- Languages: 35+
- Author: Baris Genc
- Dependencies: mail
- Support: odoo@gencbaris.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module