How to Log Every Email to Your CRM With an AI Agent

The activity log is the part of a CRM nobody fills in, and it is the part that makes the rest trustworthy. An agent matches every send and receive to the right contact, company or deal, and writes it there without being asked.

01The Problem

The gap where the history should be

Everyone knows the activity log is incomplete. What makes it expensive is not the incompleteness — it is that a stale CRM and a real email history look identical, so nobody can tell which record to believe when a deal comes up.

Logging is a separate job nobody schedules

Writing an email to an activity log takes four clicks and roughly six seconds, which is exactly long enough to skip and short enough to feel like it will not matter. It matters because the log is the only place the history of a relationship lives. The email is a document you sent; the activity is the record that you sent it to this deal.

The record it belongs to is genuinely ambiguous

One person, three places: a contact, a company, and a deal. Which one an email belongs to depends on what it was about, and for a good fraction of threads it was about two of them. Any system that guesses produces a log that looks complete and quietly attaches the wrong conversation to a deal — which is worse than an obvious gap, because nobody checks the ones that look filled in.

Automation cannot invent the fields it does not have

A CRM has required fields an email simply does not contain: the deal name, the pipeline stage, the owner. An agent can read a thread and tell you a customer asked to pause their rollout, but it cannot tell you which of four open deals that refers to without guessing. The failure mode is a confidently wrong association, and the fix is a rule about what happens when the match is uncertain rather than a better model.

02The How-To

The email logging prompt, step by step

Copy it once, paste it into Zaira, and it reads both directions of the mailbox, works out which record each thread belongs to, writes the activity, and — the part that matters — tells you when it could not find a home for something instead of inventing one.

Log email to CRM

Step 0: Set up and check tools

Access to the @Gmail MCP server and to HubSpot. Act as my CRM logging agent. I want every meaningful email written to the right record so I can stop relying on memory and my team can stop relying on mine. Which pipeline and object types I use: [e.g. contacts, companies, deals in the Sales pipeline]. How I want ambiguous matches resolved: [e.g. prefer the open deal; if two are plausible, log to the contact and flag]. Email types that are never worth logging: [e.g. receipts, notifications, anything from a no-reply address]. What counts as a meaningful thread for me: [e.g. anything with a person attached]. List the tools you have for searching mail, reading threads, looking up CRM records, and creating activities. Report only what they return. Never invent a contact, a company, a deal, a date, or an email address.

Step 1: Pull the threads

Search both sent and received mail over the window I give you — [e.g. the last 14 days] — and deduplicate so no thread is judged twice. Received-only is the mistake here: half of the useful history is what you said, and an activity log with no outbound half cannot reconstruct a negotiation. Report the thread count before you write anything.

Step 2: Match each thread to a record

For each thread, identify the people and the organisation, then search the CRM for an existing contact and company and for open deals on that company. Decide one destination using the rule I gave you. Report your confidence for each. If nothing matches well enough, do not create a record to force it — put the thread in an unmatched list. A guessed association is the one outcome worth preventing, because it will not be caught later.

Step 3: Write the activity

For each matched thread, write an activity containing: the date, the participants, a factual summary of what was discussed, any commitment made by either side with its owner, and the next step if one was stated. Summarise what the thread says. Do not add a sentiment, a deal stage change, or an opinion about how it went — those are judgements and they are mine to make. Use my existing deal stage names rather than inventing new ones.

Step 4: Handle the unmatched and the ambiguous

Compile two lists: threads you could not match to a record, with the reason, and threads you matched with low confidence, with the candidate records. Give me both lists explicitly. This is the part I most want to see, because it is where the automation tells me what it could not do rather than what it did.

Step 5: Report

Give me: threads processed, activities written, broken down by record type, threads unmatched, threads matched with low confidence, and any thread where both sides made a commitment so I can see the ones I owe. Then tell me exactly which fields you wrote and which you deliberately left alone. Stop.
03Why People're Using

What this does once it's running

Three things change. Handover stops being archaeology, because the new rep can read what actually happened. Follow-ups stop depending on one person's memory. And the pipeline report stops under-reporting, because the deals with real activity are finally visible.

The history stops depending on one person

When someone leaves or changes role, the record of what was agreed is in the CRM rather than in their inbox. That is the difference between a handover that takes an afternoon and one that takes a fortnight of asking other people what happened.

Uncertain matches get surfaced, not buried

Threads it cannot place come back as a list rather than being guessed into the nearest record. A log with visible gaps is something you can fix; a log that is quietly wrong is something you find out about in a quarterly review.

Pipeline reports stop under-reporting

Deals with real activity become visible because the activity is there. If a report has been under-counting your best opportunities, incomplete logging is often the reason, and no amount of dashboard work fixes it.

04FAQ

Frequently asked questions

The questions people ask before letting an agent write to their CRM.

Because the extension logs what you do while you are looking, which means it logs what you remember to do and nothing older than your browser session. The gap it leaves is exactly the expensive one: the threads you handled from your phone, or at eleven at night, or that came in while you were on a call. An agent works from the mailbox rather than from your attention, so it catches the ones you did not log and keeps the log current without a habit change.

You write the rule and it follows it, which is the right division of labour: the rule encodes a judgement about how your business sells, and the agent handles the volume. Most people start with prefer the open deal, and log to the contact when there is no obvious one. What matters more than the choice is that you can see which rule fired, so you can correct it in a sentence rather than guess.

By default no — an unmatched thread comes back as a list rather than being forced into a new record, because creating records is how automation fills a CRM with duplicates. If you would rather it created them, say so explicitly in the prompt and give it the naming rule to use. Just be aware that the failure mode reverses: instead of missing records you get too many, and cleaning those up is slower than logging was.

The date, the participants, a factual summary of the exchange, any commitment made by either side with who owns it, and the next step if one was stated. Deliberately absent: sentiment, deal stage changes, and any assessment of how the conversation went. Those are judgements, and a judgement written into a CRM by an agent gets quoted back to you in a pipeline review as though a person had made it.

Give it an exclusion list in Step 0 — no-reply addresses, known senders, anything automated — and it filters before matching. This is worth setting up rather than skipping, because the noise is not merely a distraction: a log with four hundred meaningless entries a month makes the meaningful ones impossible to spot, which defeats the purpose of having a log at all.

No. It runs against the mailbox on its own schedule and only reads from the CRM and writes activities — it never touches outbound mail, never changes a deal stage, and never edits a contact record. If you want it to do more than log, that is a separate decision to make deliberately, because logging is reversible and stage changes are not.