02.09
Run the daily prioritized contact list every morning
A repeatable 20-minute morning routine: fresh data in, a list of 10 with reasons and openers out, results logged back in the CRM.
Video walkthrough
- Fresh data first: the stale-export stop
- Reading the list: why today, permitted channel, opener
- Making the calls and sending your own messages
- Logging results so tomorrow's list is smarter
- Optional: letting a Grok Bot routine prepare it before you wake up
What you're building
A morning routine that produces at most 10 contacts to reach today, each with a reason, a permitted channel and an opener you edit, and an end-of-day log that feeds tomorrow's list.
Why it matters
A list you only run when you remember is a project. A list you run every morning at the same time is a system. Ten well-chosen conversations a day add up to about 200 a month, each one picked for a reason you can see.
What you need
- Chapters 02.04 to 02.08 done
- A daily export habit (CSV) or the read-only connection from chapter 02.06
- 20 minutes at the same time each morning
- Optional: Grok Bot on an eligible plan for the scheduled version
Time and cost
- Time
- 20 minutes a day, plus your calls
- Cost
- $0 beyond your Grok plan; the Grok Bot routine needs Premium ($30 a month) or another eligible plan
Prices from xAI documentation on 2026-10-20. Routines draw from your weekly usage pool.
Step by step
Minute 0 to 5: bring in fresh data
Export from your CRM (chapter 02.05), or run your read-only script (chapter 02.06). Name the file with the date, for example
crm-2026-10-20.csv. Start a new chat in your CRM Manager project and attach it.Check: The file name carries today's date.
Minute 5 to 8: run the morning list prompt
Send the Morning list prompt with today's date. If you built your instructions with the DAILY LIST job, typing "morning list" is enough. The stale-export stop protects you from calling someone you already spoke to yesterday.
Check: You get 10 or fewer rows, each with a cited reason, plus Not today and Do not contact counts.
Minute 8 to 20: edit openers and reach out yourself
Work top to bottom. Read the reason, open the record in your CRM, glance at the last message, edit the opener so it sounds like you, then call or send it from your CRM or phone. Never paste a draft without reading the last real message first.
Check: Every contact on the list has an outcome: reached, message left, or moved to Not today with a reason.
End of day: log results in the CRM
Fill the End of day log. Put notes and next tasks on each contact record (chapter 02.08). Mark opt-outs. Tell Grok about wrong facts: "C014's last inbound was answered by phone on 10/18; the export missed it." Then delete the day's export from grok.com/files.
Check: Your log is filled and every opt-out you received is marked in the CRM.
Optional: schedule it with a Grok Bot routine
- Run the morning list once in the Bot conversation with a file you saved to
/workspace/crm. Fix the output until it is right. - Ask the Bot: "Save the process we just used as a skill called Morning list. Include the stale-export stop and the rule that I contact everyone myself."
- Send the Routine request template. Confirm the owning Bot, schedule, time zone, input folder, expected result, approval boundary and missing-data behavior.
- Choose Test run. A test run does real work, so keep the Ask first rules from chapter 02.03 in place.
- Manage it later from the Bot: View conversation details → Routines to pause, edit, test or delete.
You still put the export in
/workspace/crmeach morning, unless you have a read-only connection the Bot can use.Check: The routine shows its next run time, and the test run posted a list without asking to send anything.
- Run the morning list once in the Bot conversation with a file you saved to
What success looks like
- Five mornings in a row with a fresh export and a list of 10 or fewer
- Every listed contact has a logged outcome
- Opt-outs marked the same day
Copyable templates
Morning list. Report date: YYYY-MM-DD. Use the newest export in this chat.
If its newest Last Activity is more than 2 days before the report date, say "Export is stale" and stop.
Return at most 10 contacts, in this order:
1) they wrote last and nobody answered, 2) new leads with no outbound contact,
3) active clients or hot prospects waiting on me, 4) dates in notes that arrived this week, 5) the rest.
Skip anyone I contacted in the last 3 days, anyone in Do not contact, and duplicates.
For each: # | Contact ID | First name | Why today (cite field or quote note) | Permitted channel | Opener
Openers: one or two sentences in my voice, one question, no em dashes, no "just checking in".
No text openers without a Consent Source and SMS Opt-Out = N.
Then: "Not today" (up to 5 near-misses and why), "Do not contact" (count only),
"Needs your approval:" (every send, call and CRM update is mine to do).Every weekday at 7:00 AM America/New_York, run the Morning list skill on the newest file in /workspace/crm.
Post the list in this conversation. Do not contact anyone, change any CRM record, or send anything.
If no file in /workspace/crm is dated today or yesterday, report "No fresh export" instead of using old data.END OF DAY LOG Date: ____-__-__
Listed: __ Reached: __ Left message: __ Appointments set: __ Opt-outs received: __
Wrong facts in the list (Contact ID and what was wrong): ______________________
Contacts to add to Do not contact today: ______________________
CRM updated (notes, tasks, opt-outs): Yes / NoTry it
- Fresh export→toMorning list
- Morning list→toYou
- You→toCRMlog results
- You→toEnd of day log
- CRM→toFresh exportnext morning
How to test it
Run the morning list on the sample export with report date 2026-10-20. It should start with C001 (unanswered reply) and C004 (never contacted), never list C005, C022, C013 or C015, and never suggest a text to C010, C018 or C036. Then change the report date to 2026-10-25 and run it again: the stale-export stop should trigger, because the newest activity in the file is 2026-10-18.
Troubleshooting
The same people show up every day.
You are not logging outcomes, so the export never changes. Add a note or task after every attempt, and add "Skip anyone with an outbound attempt in the last 3 days" to the prompt.
The routine posts nothing.
Check that the file is in /workspace/crm and dated today or yesterday. Open Routines to see the last run's history. Routines can pause after a long absence; review paused routines when you return.
Openers all sound the same.
Add two more real messages to the voice section of your profile, and ask for openers that reference the reason ("the school zones you asked about").
Advanced technical details
Optional. You can follow every step above without these.
Technical detailsDesigning the routine for trust
xAI's guidance for routines: automate preparation before execution, include a no-data and stale-data policy, require approval for sending or changing production systems, report partial completion, and re-test when a source format changes. Routines need schedules at least five minutes apart and a Bot can own up to 50; the morning list needs one.
Sources
Written from the best available information. One or more steps could not be confirmed; see the notes in the chapter. Last checked 2026-10-20.
- Skills and routinesxAI documentation · read 2026-10-20
- Approvals, security, and privacyxAI documentation · read 2026-10-20
- Pricing (The X Subscription)xAI documentation · read 2026-10-20
- Usage limitsxAI documentation · read 2026-10-20
- 47 CFR 64.1200 (revocation of consent within 10 business days)eCFR (Federal Communications Commission rules) · read 2026-10-20
- FAQ: Grok website and appsxAI documentation · read 2026-10-20