Weekly stay-in-touch nudges from your relationship list

Every Monday at 8am, surface the ten people you are most overdue to reach out to, pre-write each email in Gmail, and post a ranked summary to Slack.

Agentic Task
General Input DatabaseGmailSlackPersonal ProductivitySalesDaily DigestsEmail AutomationNotifications & Alerts

Build me a weekly stay-in-touch agent workflow on top of my own relationship ledger. The General Input Database is the source of truth for who I want to keep in touch with; Gmail and Slack are purely output channels.

Trigger: cron, every Monday at 8am in my local timezone.

Data source: a table in the General Input Database called relationships that I maintain by hand. The columns are name (text), email (text), target_cadence_days (integer, e.g. 30, 60, or 90), last_contacted_at (date), and context_note (short free-text reminder about who they are and what we last talked about). If the table does not exist yet, scaffold it during setup so I can populate it. Query the table with Execute SQL on the user-database service.

Each run, do the following:

1. Select all rows where julianday('now') - julianday(last_contacted_at) > target_cadence_days. For each overdue row compute days_overdue = (today - last_contacted_at) - target_cadence_days. Sort descending by days_overdue (most overdue first) and take the top ten.

2. If the overdue list is empty, post a one-line Slack message saying "Nobody is overdue this week, nice work" and stop. Otherwise continue.

3. For each of the top ten overdue people, draft a short, warm, personalized re-engagement email using their name and context_note. Keep each email to roughly three to five sentences, conversational tone, no marketing fluff. Save each one as a draft in Gmail using the Create a Draft operation (do not use Send a Message; I want to review before sending). Set the To header to the row's email and leave the subject short and human (for example, "checking in" or "long time no talk"). Capture the returned draft id from Gmail so we can link to it.

4. After all ten drafts exist, post a single ranked summary message to Slack using the Send a Message operation, sent to my personal DM channel by default (let me pick a different channel at setup). The summary should be one Slack message with one line per person, ranked by days overdue, showing: name, days overdue, the context note, and a clickable link to the Gmail draft using the format https://mail.google.com/mail/u/0/#drafts/<draftId> wrapped in Slack mrkdwn link syntax. Put a short header at the top like "10 people you are overdue to reach out to" and use Slack mrkdwn formatting (single asterisks for bold).

Important constraints: never actually send any email, only create drafts. Never update last_contacted_at automatically; I will update it by hand after I send a draft, so the contact drops off the overdue list naturally. If Gmail draft creation fails for a particular row, skip that person, keep going, and note the failure inline in the Slack summary. Treat the relationship table as read-only from this workflow.

Additional information

What does this prompt do?
  • Runs every Monday morning and reads your personal relationship list, where you keep names, emails, how often you want to reach out, and the last time you talked.
  • Ranks the people you are most overdue and picks the top ten so you focus on the highest-leverage outreach first.
  • Writes a short, personalized re-engagement email for each one and saves it as a draft in your Gmail, ready for you to review before sending.
  • Posts a single ranked Slack message so you can scan the list, glance at your own context notes, and fire off each draft from one place.
What do I need to use this?
  • A General Input account, where your relationship list lives as a simple table you maintain (name, email, how often you want to reach out, last contacted date, and a short note for context).
  • A Gmail account connected to General Input, so the workflow can save draft emails to your inbox.
  • A Slack account connected to General Input, so the weekly summary can land in a channel or direct message you choose.
How can I customize it?
  • Change the schedule. Monday at 8am is the default, but you can swap it for Sunday evenings, Friday afternoons, or any other cadence that fits your week.
  • Adjust how many people you tackle. Ten is a manageable batch, but you can raise or lower the cap depending on how much outreach you want to do in one sitting.
  • Pick where the summary lands. Send it to a private channel, a personal DM, or a shared channel if you want an accountability partner to see the list.
  • Tune the tone of the drafts. Tell the agent how warm, formal, or brief you want each re-engagement email to feel, and what to include from your context notes.

Frequently asked questions

Will the emails actually send on their own?
No. Every email is saved as a draft in your Gmail. You review, edit, and hit send yourself. The Monday summary is meant as a launchpad, not an autopilot.
How does the workflow know who is overdue?
You tell it. In your relationship list, each person has a target cadence in days (for example 30, 60, or 90). The workflow compares that to when you last reached out and flags anyone past due.
What if I do not have a relationship list yet?
You can create one inside General Input in a couple of minutes. The workflow needs name, email, how often you want to be in touch, the last time you spoke, and a short note for context. The workflow author can scaffold the table for you.
Can I change which Slack channel the summary lands in?
Yes. You can point the summary at any channel you are in or send it as a direct message to yourself. Most people start with a personal DM and move it to a private channel later.
Will it remember who I already contacted?
It uses the last contacted date in your list. After you send a draft, update that date in your relationship list and the contact will drop off the overdue list until they are due again.

Stop letting good relationships go cold.

Connect your relationship list, Gmail, and Slack once, and every Monday morning Geni surfaces the ten people you most need to reach out to, with drafts ready to send.