Scale · Automation & Workflow Design
Build an Activity Logging Automation From Email/Calendar
Auto-log every sales email and meeting to the right CRM contact and deal — without reps lifting a finger.
repmanagerAdvanced⏱ 30-60 min/day per rep + dramatically cleaner activity data for forecasting
When to use
Use when reps complain CRM hygiene is killing their day, or when manager dashboards under-report activity because nothing's logged. Especially valuable for teams that hate manual data entry but need clean activity data for forecasting.
The prompt
You are a sales-ops automation engineer for digital marketing agencies — every workflow you build is paste-ready into Zapier/Make/HubSpot Workflows and uses production-grade error handling. Agency: [AGENCY_NAME] — [SERVICES] | CRM: [CRM_TOOL] | Automation tool: [AUTOMATION_TOOL] | Email source: [EMAIL_TOOL] | Calendar source: [CALENDAR_TOOL] | Call/meeting recorder: [RECORDER_TOOL] | Trigger: [TRIGGER_EVENT] | Logging rules: [LOGGING_RULES] | Stakeholders to notify: [STAKEHOLDERS] Design an automation that watches each rep's Gmail/Outlook and Google Calendar/Outlook Calendar, matches every outbound email and held meeting to the correct CRM contact and open deal, logs the activity with subject + summary + duration, and flags ambiguous matches for rep review instead of guessing. - Every step has action, tool, inputs, outputs, conditions - Match logic: prefer open Deal owned by the rep with the matching contact email; if multiple, flag for review - Skip internal-only emails/meetings (all attendees in [INTERNAL_DOMAIN]) - Logged activity includes: type, timestamp, participants, subject, AI-generated 1-line summary, link to source - Include error / fallback path if no matching contact exists → create draft contact and queue for rep review - Never auto-create a Deal — only log against existing ones - Privacy: skip emails labeled 'personal' or in [EXCLUDED_LABELS] Output as: Trigger | Step 1..N | Match Logic Decision Tree | Conditional Branches | Error Handling | Privacy Controls. Paste-ready into [AUTOMATION_TOOL].
Variables
- [AGENCY_NAME] — Your agency name
- [SERVICES] — Service lines
- [CRM_TOOL] — Your CRM
- [AUTOMATION_TOOL] — Workflow platform
- [EMAIL_TOOL] — Gmail / Outlook
- [CALENDAR_TOOL] — Google Calendar / Outlook Calendar
- [RECORDER_TOOL] — Gong, Fathom, Fireflies, Otter
- [TRIGGER_EVENT] — Email sent / meeting ended
- [LOGGING_RULES] — What counts as a loggable activity
- [STAKEHOLDERS] — Reps + manager visibility
- [INTERNAL_DOMAIN] — Your agency's email domain
- [EXCLUDED_LABELS] — Labels/categories to skip
Example input
Agency: Helio Group — performance creative + paid media | CRM: HubSpot | Automation tool: Zapier | Email: Gmail | Calendar: Google Calendar | Recorder: Fathom | Trigger: outbound Gmail send + Google Calendar event end | Logging rules: log if external recipient exists | Stakeholders: rep (logging confirmation), manager (weekly digest) | Internal domain: heliogroup.co | Excluded labels: Personal, Billing
Example output
TRIGGER A: Gmail 'message sent' webhook. TRIGGER B: Google Calendar 'event ended' webhook (filter: had external attendees). Step 1 — Filter: skip if all recipients/attendees are @heliogroup.co; skip if Gmail label in [Personal, Billing]. Step 2 — Extract external participant emails. Step 3 — HubSpot lookup contact by each email; collect matched contacts. Step 4 — Match Logic Decision Tree: - 1 contact, 1 open deal owned by sender → log to that deal (auto) - 1 contact, multiple open deals → log to contact, flag for rep deal selection - 1 contact, no open deal → log to contact only - Multiple contacts, shared deal → log to deal - No contact match → create draft contact, queue for rep approval Step 5 — For meetings: fetch Fathom summary; for emails: generate 1-line AI summary from body. Step 6 — Create HubSpot Engagement (Email or Meeting) with type, timestamp, participants, subject, summary, source link. Step 7 — Slack rep DM with 'Logged: [activity] to [deal]' (collapsible, not spammy). ERROR HANDLING: no contact match → draft contact + queue; HubSpot API fail → retry 3x, then push to 'unlogged_activity' queue for nightly reconciliation. PRIVACY CONTROLS: hard skip on Personal/Billing labels; no logging of email body content, only subject + AI summary.
Pro tips
- Privacy controls are not optional — reps will quietly disable the whole system if they think you're reading their inbox
- Use the AI summary, not the full body — managers get signal without surveillance, and the CRM stays scannable
- Send the rep a daily 'here's what we logged' Slack digest, not real-time pings — they review once instead of dismissing 30 notifications
Works with
ClaudeChatGPTGemini
Done with prompts? Time to install the system
Book a STAOS callRelated prompts