Agent setup guide
Community Member Spotlight
Once a week: AI picks a helpful member from your Discord channel's messages and drafts a spotlight post and a newsletter blurb; posted after your approval.
What it does
Once a week: AI picks a helpful member from your Discord channel's messages and drafts a spotlight post and a newsletter blurb; posted after your approval.
- Logs every new member message in the Discord channel you pick to your Google Sheet (a short run with no AI).
- Once a week (worked out in code from the last spotlight's date), AI reads the last 7 days of messages and picks one member who helped others, skipping anyone you exclude and the last 8 spotlighted.
- Drafts a short Discord post that mentions them and a newsletter blurb, quoting only their public messages and no personal details.
- You approve; the post goes to your Discord channel and the blurb is emailed to you to paste into Kit or beehiiv.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Discord (a bot with the Message Content intent) and Google Sheets, connected in Settings → Integrations.
- An activity log tab (Date | Time | Member | Member id | Message | Message id).
What it doesn't do
- It doesn't post to Kit or beehiiv: the blurb is emailed to you to paste in.
- Every message in the channel starts a short logging run; it watches one channel per setup.
- It doesn't ask the member's permission; nothing is posted without your approval.
Availability and plans
Available
Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: Discord and Google Sheets.
- The app it watches, connected in Settings → Integrations (the agent starts from an app event).
- About 15 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect Discord
Connect your Discord bot (Settings → Integrations → Discord), turn on the Message Content intent and invite it with Read Message History and Send Messages.
3. Connect Google Sheets
Connect the Google account that can open your activity log.
4. Pick the channel to watch
Open the trigger and pick the bot, server and channel.
| Setting | What to enter | In step |
|---|---|---|
| Discord bot (messages) | Your Discord bot's connection; it needs Read Message History and the Message Content intent. Pick your connected Discord account. | “New message in the channel” |
| Server | The Discord server to watch. | “New message in the channel” |
| Channel to watch | The channel whose messages count, e.g. #general or #help. | “New message in the channel” |
5. Pick the activity log
Open “Log the message” and “Read the activity log” and pick the same spreadsheet and tab (Date | Time | Member | Member id | Message | Message id).
| Setting | What to enter | In step |
|---|---|---|
| Google account (Activity log) | The Google account that can open the spreadsheet. Pick your connected Google Sheets account. | “Log the message” |
| Activity log spreadsheet | Paste the link of the spreadsheet. | “Log the message” |
| Activity log tab | The tab messages are logged to (Date | Time | Member | Member id | Message | Message id). | “Log the message” |
| Google account (weekly read, same one) | The same Google account. Pick your connected Google Sheets account. | “Read the activity log” |
| Activity log spreadsheet (same one) | The same spreadsheet. | “Read the activity log” |
| Activity log tab (same one) | The same tab. | “Read the activity log” |
6. Describe your community
Open “Pick this week's member” and replace the placeholder.
| Setting | What to enter | In step |
|---|---|---|
| Your community | Replace the placeholder with your community, what counts as helpful, who is never spotlighted, your tone and your newsletter's name. It starts as “[DESCRIBE YOUR COMMUNITY, WHAT COUNTS AS HELPFUL HERE (ANSWERING QUESTIONS, WELCOMING NEWCOMERS, SHARING RESOURCES), WHO IS NEVER SPOTLIGHTED (E.G. MODERATORS, STAFF), YOUR TONE, AND YOUR NEWSLETTER'S NAME (KIT OR BEEHIIV)]” until you replace it. | “Pick this week's member” |
7. Where the spotlight goes
Open “Post the spotlight” and pick the bot, server and channel, then enter your email on “Email you the newsletter blurb”.
| Setting | What to enter | In step |
|---|---|---|
| Discord bot (posting) | The same bot; it needs Send Messages in the spotlight channel. Pick your connected Discord account. | “Post the spotlight” |
| Server (posting) | The same server. | “Post the spotlight” |
| Channel for the spotlight | Where the spotlight is posted, e.g. #announcements. | “Post the spotlight” |
| Your email (newsletter blurb) | Where the newsletter blurb is sent. Replace the example address. It starts as “you@your-business.example” until you replace it. | “Email you the newsletter blurb” |
| Reply-to on the blurb email | Usually your own address. | “Email you the newsletter blurb” |
8. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
9. Switch the trigger on
Open the trigger and press “Activate app trigger”. Messages are picked up on your plan's schedule interval; the first spotlight comes with the first message after you switch it on.
How it works
The agent is a normal workflow with 21 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- New message in the channel — Starts on “New message in channel” in Discord (an app event). Starts a short run for each new message in the Discord channel you pick (checked on your plan's schedule interval).
- From a member? — Decision: picks the branch to follow. Bot messages aren't logged.
- Bot message — Kept in the run history. Branch: Bot. Not logged.
- Log the message — Google Sheets: Add a row. Branch: Member. Adds the message to your activity log tab (Date | Time | Member | Member id | Message | Message id). No AI runs here.
- When was the last spotlight? — Recalls what it remembered earlier (memory “community-member-spotlight”). Reads the date of the last spotlight and who was spotlighted recently.
- Spotlight due? — Step. In code: once a week, with the first message 7 or more days after the last spotlight.
- Spotlight this run? — Decision: picks the branch to follow. Not due: this run ends after logging.
- Logged — Kept in the run history. Branch: Not due. Message logged; no spotlight this run.
- Note this week's spotlight — Remembers it for later runs (memory “community-member-spotlight”, kept 120 days). Branch: Spotlight due. Stores today's date first, so messages arriving while you review don't start a second spotlight.
- Who was spotlighted recently? — Recalls what it remembered earlier (memory “community-member-spotlight”). Reads the last 8 spotlighted members.
- Read the activity log — Google Sheets: Read rows. Reads your activity log.
- Keep the last 7 days — Step. In code: keeps the messages logged in the last 7 days.
- Pick this week's member — AI step (runs on your AI provider key). AI reads the week's messages and picks one member whose messages helped others, with a short reason, then drafts the Discord spotlight and a newsletter blurb.
- Approve the spotlight — A person approves or rejects it in Reviews (the run waits). The spotlight and newsletter blurb wait in Reviews: check the pick, edit the wording, and approve to post it. Reject to skip this week.
- Check before posting — Step. Branch: Approved. In code: a member was picked, the post mentions them, fits Discord's limit and has no placeholders.
- Post it? — Decision: picks the branch to follow. Passes: posted to Discord. Otherwise held.
- Held: not posted — Kept in the run history. Branch: Held. No pick this week, or the post was incomplete.
- Post the spotlight — Discord: Send a message. Branch: Post. Posts the approved spotlight to your Discord channel as your bot.
- Email you the newsletter blurb — Sends an email from your workspace's sender. Emails you the blurb to paste into your next Kit or beehiiv newsletter.
- Remember who was spotlighted — Remembers it for later runs (memory “community-member-spotlight”, kept 365 days). Keeps the last 8 spotlighted members so nobody is picked twice in a row.
- Spotlight posted — Kept in the run history. The run history keeps the pick, the post and the blurb.
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. The sample has the same shape as a real event from the app.
Sample data fields
content, id, channel_id, timestamp, author_id, author_username, author_is_bot, attachments (a list), type.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.
- Memory steps don't read or write stored memory: a recall finds nothing, and a save only shows what it would store.
Go live
- Open the trigger and press “Activate app trigger”. Messages are picked up on your plan's schedule interval; the first spotlight comes with the first message after you switch it on.
- Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Why does it log every message?
Our Discord connection can't read a channel's history on demand; it sees new messages one by one. Each message is added to your sheet in a short run without AI, and the weekly pick reads the last 7 days from there.
Does it post to my newsletter?
No. Kit and beehiiv don't offer a way to create a newsletter draft through our connections, so the blurb is emailed to you to paste in.
Does the member know?
Only when the post mentions them. If your community expects permission first, ask before you approve.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
- A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .