Skills · 30 June 2026 · 4 min read

How to automate CRM upkeep with AI routines.

Run a scheduled agent that reads new calls, logs them to Airtable, flags stale deals and digests what needs a nudge - so CRM hygiene happens on a clock. A meritt skill.
Will Koning
Will Koning
Founder, meritt
meritt illustration: sales tech & ai fluency

I use scheduled routines in Claude Code to keep the CRM alive without doing the upkeep myself. A routine is an agent that runs on a schedule, on its own. I have them pulling new calls in each morning, and the same idea keeps the pipeline honest: every day an agent reads the new calls, logs outcomes and next steps to the Airtable ATS, flags deals that have gone quiet, and sends me a short digest of what needs a nudge. I reach for this so the CRM is maintained by default - the admin that normally rots happens overnight instead of never.

How I use this, and what for

I use scheduled routines in Claude Code to keep the CRM alive without doing the upkeep myself. A routine is an agent that runs on a schedule, on its own. I have them pulling new calls in each morning, and the same idea keeps the pipeline honest: every day an agent reads the new calls, logs outcomes and next steps to the Airtable ATS, flags deals that have gone quiet, and sends me a short digest of what needs a nudge. I reach for this so the CRM is maintained by default - the admin that normally rots happens overnight instead of never.

What the AI actually does

You get upkeep without willpower. CRM hygiene fails because it is manual and boring - so it does not happen, and the pipeline drifts from reality. A routine does the boring part on a clock: read the calls, write the records, spot the stale deals, chase the follow-ups, and hand you a digest. The pipeline stays current because nobody has to remember to make it current.

This is the same scheduled-agent mechanism behind a daily Granola call-ingest or an hourly enrichment cron, pointed at CRM hygiene. The routine runs unattended, so it never has the context of a live chat - which is why the brief has to stand on its own and risky actions stay gated.

The tools and APIs you need

The right prompts

Stand up the routine

```
/schedule
Create a weekday 7am routine: "CRM keeper".
Each run: read new Granola/Fireflies calls since yesterday, log each to the
ATS Airtable base (contact, outcome, next step, stage), flag any deal with
no activity in 14 days or an overdue next step, and post a short digest to
#sales in Slack. Log to the CRM directly; leave any outbound email as a
draft for me, do not send.
```

One-off catch-up before scheduling

```
Before I schedule it, do one manual run now: process the last 5 days of
calls into the ATS base and show me the digest, so I can check it logs to
the right fields.
```

How to do it

Write the routine's job as a standalone brief

It has no memory of your chat, so spell it out: read yesterday's calls, log them to these fields, flag deals with no activity in 14 days, post a digest.

Schedule it

with the `schedule` skill - e.g. every weekday at 7am.

Have it read the new calls

from [Granola](https://www.granola.ai/) or [Fireflies](https://fireflies.ai/) since the last run.

Log to [Airtable](https://www.airtable.com/):

create or update the contact and opportunity, write the outcome and next step, move the stage (see the clean-up skill).

Flag and chase:

list deals gone quiet, next steps overdue, follow-ups owed.

Digest to you:

a short [Slack](https://slack.com/) message - what it logged, what is stale, what needs a nudge today. You act on the exceptions, not the admin.

Keep a guardrail:

let it write to the CRM, but have risky actions (sending an email, changing a close date) land as drafts or flags for you, not auto-sent.

See the difference

Weak

Doing it by hand: automate crm upkeep with ai routines the manual way - slow, and the first thing to slip when you are busy.

Strong

With AI: you describe what you want in plain English and it does the work, on-brand, in minutes.

Let AI carry the heavy lifting; you keep the judgement and the final say.

How you'll know it's working

  • The CRM reflects reality every morning without you touching it.
  • Stale deals and overdue follow-ups surface to you, instead of rotting unseen.
  • You spend your time on the exceptions in the digest, not on data entry.
  • The routine writes records on its own but never sends anything outbound without you.

Questions people ask

How do I automate CRM upkeep with AI?

You set up a scheduled agent (a routine) in [Claude Code](https://claude.com/claude-code) that runs on a cron schedule. Each run it reads new calls, logs them to [Airtable](https://www.airtable.com/), flags stale deals, and sends you a digest - so the hygiene happens on a clock instead of when you remember.

Will it send emails or change deals on its own?

Only if you let it. The pattern is to let the routine write records to the CRM directly, but have risky actions like sending an email or moving a close date land as drafts or flags for you to approve. Keep that guardrail in the brief.

How is this different from keeping the CRM clean or building it?

This skill runs the upkeep on a schedule, unattended. The clean-up skill (ai-crm-and-pipeline) does the same logging and reporting on demand when you ask. The build skill (build-crm-with-ai-airtable) creates the tables and fields in the first place. Build it, keep it clean, then automate the cleaning.

Ready to hire

Hire with Assessment.

£7-10k flat fee. The methodology, delivered.

See Hire with Assessment
More reading

The methodology.

Four behaviours, role skills. Published in full.

Read the methodology