There is a hidden tax on every consulting engagement that nobody puts in a proposal. It is the time you spend before the meeting, not in it. Digging through CRM notes, re-reading old emails, checking where a project stands, reminding yourself what was agreed last time. For a busy consultant, that pre-meeting research can easily consume 30 to 45 minutes per session, and it compounds across a full week into hours of time that could be spent doing actual work.
As someone who provides Odoo ERP Consultation to businesses across Australia, I was spending a significant chunk of my week on exactly this. Not on delivering value, but on remembering context. I built an automated workflow using n8n and Claude that now handles that entire preparation process and delivers a structured client briefing to my inbox before every meeting. What used to take 45 minutes now takes under 5, and the quality of the briefings is better than what I was producing manually.
Here is exactly how it works.
The 45-Minute Problem Nobody Talks About
Most consultants I know have some version of this routine. A meeting lands on the calendar. A day or two out, you open the CRM, find the client record, piece together what was discussed in the last session, check if any tasks or follow-up items are outstanding, scan through the email thread, and try to form a coherent picture of where things stand and what matters most for the upcoming conversation.
If the data is clean and centralised, this takes 20 to 30 minutes. If it is scattered across a few different systems, it takes longer. Multiply that across 5 to 10 client meetings a week and you are looking at a meaningful chunk of unbillable time that drains energy before the meeting even starts.
The deeper problem is consistency. On a good day, with enough time, your prep is thorough. On a busy day, you walk in with partial context and hope it is enough. The meeting quality swings based on how much time you had, not how much you know about the client. That is the problem worth solving. Good AI productivity tools, connected to the right data sources, can solve it completely.
What the Workflow Actually Does (The Big Picture)
Before getting into the steps, here is the summary. n8n is the automation layer. It watches my calendar, knows when a client meeting is coming up, fetches the relevant client data from Odoo, and routes everything to Claude. Claude is the intelligence layer. It reads all of that data and writes a structured briefing document covering what I need to know before I walk into the call. The briefing lands in my inbox or Slack channel automatically, at a scheduled time before each meeting.
n8n handles the doing. Claude handles the thinking. Neither one alone would work as well. The workflow automation piece ensures the right data gets pulled at the right time. The AI synthesis piece ensures that data becomes something genuinely useful, not just a raw data dump.
Step 1: The Trigger — Google Calendar Detects the Meeting
How the Schedule Node Works
The workflow starts with a Schedule Trigger node in n8n, which runs every morning at 7 AM. When it fires, a Google Calendar node fetches all events scheduled for that day and filters them to identify external client meetings, based on naming conventions I use in my calendar (any event with a client company name in the title gets picked up).
From the calendar event, the workflow extracts the client name, the meeting time, and any notes I have added to the event description. This becomes the seed data that drives everything downstream. The Google Calendar integration in n8n is native and straightforward to configure. Once connected via OAuth, the node handles authentication and the event data comes through cleanly structured as JSON, ready to pass to the next step.
If you are running multiple client meetings in a day, the workflow loops through each one and produces a separate briefing for each. Nothing gets merged or confused.
Step 2: Pulling Client Data from Odoo
What Data Gets Fetched
Once the workflow has identified an upcoming client meeting, it queries Odoo via the HTTP Request node using Odoo’s JSON-RPC API. The call pulls the relevant customer record and associated data, including the contact history, any open tasks or activities, the current project or implementation stage, recent sale order or invoice status, and any notes logged against the account.
This is the foundation of the briefing. The data coming out of Odoo represents the full operating picture of the client relationship, not just a name and a phone number. That context is what makes the Claude-generated briefing genuinely useful rather than generic.
Why Odoo Is the Right Source
A lot of consultants keep client notes scattered across email, a project management tool, and a CRM that nobody updates consistently. One of the real benefits of working within Odoo as your central system is that the data is structured, relational, and accessible via API. When I fetch a client record, I am not getting a flat document, I am getting a connected view: who the contacts are, what has been invoiced, what tasks are open, what the last logged activity was, and when it happened.
This is the CRM data enrichment step that most AI meeting prep workflows get wrong. They pull surface-level information. Because Odoo holds the operational reality of each client relationship, the data fed into Claude is rich enough to produce briefings that are actually decision-useful.
Step 3: Claude Synthesises It into a Briefing
The Prompt That Makes It Work
The Odoo data gets passed into an HTTP Request node that calls the Claude API. The prompt is structured and specific. Rather than asking Claude to “summarise the client,” the prompt instructs it to produce a briefing in a defined format, covering five areas: a one-paragraph account summary, the current project status and any open actions, three things worth raising in this meeting based on outstanding items, any risks or sensitivities to be aware of, and two or three suggested questions to drive the conversation forward.
Prompt engineering matters more than most people realise at this stage. A vague prompt produces a vague briefing. A structured prompt with clear output requirements produces something you can actually use. I have refined mine over several months and it now reliably produces briefings that feel like something a well-prepared human researcher wrote, because the instructions are specific enough to constrain Claude to what is genuinely useful.
If you want to see the kind of AI-powered client workflow thinking that goes into building tools like this, my article on how I built an AI agent that writes Odoo functional specs from client calls covers a similar approach applied to a different part of the consulting workflow.
What the Briefing Looks Like
The output is a clean, structured document. Not a wall of text, not a bullet-pointed data dump. A consultant-ready brief that I can read in three minutes and walk away from knowing exactly what matters for the meeting. Here is roughly what each briefing contains:
Account Summary: A short paragraph on who the client is, what stage of engagement we are in, and the overall relationship context.
Project Status: Where the current implementation or advisory engagement sits, what milestones have been hit, and what is still open.
Things to Cover: Three specific agenda items drawn from open tasks, unresolved questions, or recent activity logs in Odoo.
Watch Points: Any sensitivities, delays, or unresolved issues that could come up and are worth being prepared for.
Suggested Questions: Two or three questions Claude has identified as likely to move the engagement forward based on the current state of the account.
That is what lands in my inbox every morning before client meetings. It takes me about three minutes to read. The knowledge management benefit compounds over time as the Odoo data gets richer with each engagement.
Step 4: Delivery to Your Inbox or Slack
The final node in the workflow handles delivery. I use a Gmail node that sends the briefing as a formatted email to myself, timed to arrive 60 minutes before the meeting. If you prefer Slack, an n8n Slack node works just as well and the setup is nearly identical. The delivery channel matters less than the timing. Getting the briefing too early means you may not remember it. Too close to the meeting and you do not have time to absorb it. Sixty minutes has proven to be the right window for me.
The email subject line is auto-generated by n8n using the meeting title and time, so it is immediately clear which briefing is for which client. When I open my email in the morning and see three briefing documents waiting, the day feels structured rather than reactive.
What This Changes in Practice
Better Questions, Better Meetings
The most obvious change is the quality of questions I bring into meetings. When your briefing includes suggested questions derived from open actions and account history, you stop asking generic check-in questions and start asking specific, relevant ones. Clients notice this. It signals that you are across their situation without them having to re-brief you every session, which is one of the things that distinguishes a good consultant from an average one.
Consultant productivity is not just about doing more in less time. It is about showing up to each engagement with the right level of context and focus. This workflow does not replace good consulting judgment. It removes the administrative drag that gets in the way of it.
The Compounding Effect on Client Relationships
Over time, this workflow compounds in a way that manual prep never could. As more activity gets logged in Odoo, as more meetings happen and tasks are resolved, the briefings get richer. The Claude prompt is working with increasingly complete data, which means the briefings get more precise and more useful the longer a client relationship runs. By the time you are 12 months into an engagement, the pre-meeting brief is drawing on a full year of structured interaction history. That is a depth of client context that would be genuinely difficult to maintain manually. The API integration between n8n, Odoo, and Claude makes it effortless.
Need help applying this to your business?
How to Build This Yourself
If you want to replicate this workflow, here is the high-level build path. The core nodes you need in n8n are a Schedule Trigger, a Google Calendar node, an HTTP Request node for Odoo (querying via JSON-RPC), a second HTTP Request node for the Claude API, and either a Gmail or Slack node for delivery. Each one connects to the next, with the client name used as the lookup key across all data sources.
A few configuration notes worth knowing upfront. The Odoo HTTP Request node requires your Odoo instance URL, database name, and a valid API key. The Claude API call needs your Anthropic API key passed as a bearer token in the header. The prompt should be passed as the user message in the messages array, with the Odoo data formatted as structured text within it. The Schedule Trigger timing should account for how many clients you typically see in a day, giving enough lead time for the workflow to run and deliver before your first meeting.
This is not a difficult build. Most of the n8n nodes involved have clear documentation and the Claude API is straightforward to call via HTTP Request. The most time you will spend is refining the prompt to match your own consulting context and the specific fields your Odoo setup captures. That iteration is worth doing carefully. The prompt is what turns raw CRM data into a briefing you actually want to read.
If you are looking to implement this kind of automated intelligence into your own consulting or business operations and want a hand connecting it to an Odoo environment, Book a Consultation and we can map out a workflow that fits your exact setup and data structure.
Conclusion
The 45-minute pre-meeting research problem is a solvable problem. A well-built n8n workflow connected to Odoo and Claude can reduce that time to under 5 minutes while actually improving the quality of the output. The key is treating it as a proper automation and AI synthesis problem, not just a shortcut. Clean data in Odoo, a structured prompt for Claude, and a reliable delivery mechanism in n8n are the three ingredients. Get those right and you walk into every client meeting with the context of someone who spent an hour preparing, in the time it takes to make a coffee.
You’re here because something matters.
If this decision impacts your operations, your team, or your growth
Let’s talk before it becomes harder to undo.
Frequently Asked Questions
1. Do I need to know how to code to build this n8n and Claude workflow?
No coding is required. n8n is a visual workflow builder and all the nodes involved, including the HTTP Request nodes for Odoo and Claude, are configured through a point-and-click interface. You need to understand basic API concepts such as endpoints, headers, and JSON payloads, but you do not need to write code. The Anthropic and Odoo API documentation is clear enough that most consultants with moderate technical confidence can set this up in a few hours.
2. Can this workflow work with a CRM other than Odoo?
Yes. The core logic works with any CRM that has an accessible API. HubSpot, Salesforce, and Zoho all have n8n integrations that can replace the Odoo data-fetch step. That said, Odoo is particularly well suited to this use case because it holds not just contact data but operational context including tasks, projects, invoices, and activity logs in one connected system. The richer the data source, the better the Claude briefing.
3. How do I make sure Claude produces a useful briefing rather than a generic summary?
Prompt engineering is the answer. The more specific your prompt instructions, the more structured and useful the output. Define the exact sections you want in the briefing, give Claude the data in a structured format, and tell it explicitly what to focus on and what to leave out. A prompt that says “write a briefing for this client” will produce something generic. A prompt that specifies five named sections with clear descriptions of what each should contain will produce something you can act on.
4. What if a client's Odoo record is incomplete or out of date?
The briefing quality reflects the quality of the underlying data, which is why keeping Odoo records updated matters more once you have a workflow like this in place. If records are sparse, the briefing will be sparse. The workflow effectively creates a business process automation incentive to keep your CRM data current, because you start seeing the direct output quality difference when you do not. Most consultants find their data hygiene improves once the briefings become part of their daily routine.
5. How long does the full workflow take to run once triggered?
For a single client briefing, the workflow typically runs in 20 to 40 seconds from trigger to delivery. The Odoo API call and the Claude API call are the two main processing steps and both are fast. If you have five client meetings in a day and the workflow loops through all five in the morning run, the total runtime is usually under three minutes. The briefings arrive in your inbox well before you need them.
Real Stories. Real Results.
See what our clients have to say — in their own words. These video testimonials share genuine experiences from business owners and teams who’ve transformed their operations with Odoo. From smoother workflows to faster decision-making, their stories reflect the real impact of getting the right system and guidance.