Find buying-signal posts on X and surface them in Slack

Every 30 minutes, scan X for people complaining about a problem you solve, and drop the post and profile into a Slack channel for human follow-up.

Agentic Task
X (Twitter)Slack BotSalesMarketingLead EnrichmentNotifications & AlertsResearch & Monitoring

Build me an agent workflow that hunts for buying-signal posts on X (Twitter) and drops the good ones into Slack so a human can follow up. The goal is to find the right person at the right moment, not to automate the outreach itself.

Trigger: run on a cron every 30 minutes.

On each run, the agent should:

1. Search recent posts on X for a configurable list of buying-signal phrases. Default examples to start with: 'my zap broke', 'zapier is so expensive', 'looking for a zapier alternative', 'make.com is down', 'trying to build an ai agent', 'my agent keeps hallucinating', 'n8n vs zapier'. Treat this list as the main knob a user will tune. Use the X recent-search action to pull matching posts from the last 30 to 60 minutes so we only see fresh activity.

2. Filter the raw matches down to genuine moments. Skip retweets, threads from obvious bots or automation accounts, posts in languages other than English unless the user opts in, posts older than the lookback window, and posts that just mention a keyword in passing (for example, a marketing tweet that says the word 'Zapier'). Prefer posts where the author is describing a problem they are having right now, asking for recommendations, or venting about a vendor. Posts phrased in first person and in present tense are stronger signals than abstract commentary.

3. For each surviving post, fetch the author's profile (handle, display name, bio, follower count, profile link) so the human reviewer has enough context to decide whether to reach out.

4. Post each find into a Slack channel using the Slack bot. The default channel should be configurable (suggest #prospects-on-x). Each Slack message should include: the matched signal label (for example, 'Zapier complaint' or 'AI agent struggle'), the full post text, a direct link to the post, the author's handle and display name, a one-line bio snippet, follower count, and a short reason the agent thought this was a real moment (one sentence, plain English). Group multiple finds from the same run into a single Slack thread if that keeps the channel cleaner.

5. Remember which posts have already been surfaced so the same tweet never shows up twice, even if it keeps matching on later runs.

Hard rules: do not send DMs, replies, likes, or any outbound action on X. Do not draft outreach copy. The agent's only job is to find the person and hand them off in Slack. The human writes the first message.

Make the signal phrases, the lookback window, the Slack channel, and the filters (minimum follower count, language, exclude retweets) easy to edit later without rewriting the workflow.

Additional information

What does this prompt do?
  • Watches X for moments that signal someone is shopping right now, like a frustrated post about a broken automation, an angry vendor bill, or a stuck AI project.
  • Filters out generic keyword matches and keeps the fresh, in-context posts that are worth reaching out to.
  • Posts each promising find into a Slack channel with the post link, the author's profile, and a short note on why it matched.
  • Leaves the outreach itself to a human, so the message stays personal.
What do I need to use this?
  • An X (Twitter) account connected so the workflow can search recent posts.
  • A Slack workspace and a channel where the finds should land, like #prospects-on-x.
  • A short list of phrases or pain points that match your ideal customer, like 'my zap broke', 'looking for a Zapier alternative', or 'trying to build an AI agent'.
How can I customize it?
  • Swap the search phrases for the exact pain points your product solves, and re-tune them when the language your buyers use shifts.
  • Change how often it runs, from every 15 minutes for high-volume hunts to once an hour if your team can only follow up a few times a day.
  • Adjust the filters that decide what counts as a real signal, like minimum follower count, language, geography, or excluding obvious bots and spammers.
  • Route different signals to different Slack channels, like sending Zapier complaints to one channel and AI-agent posts to another.

Frequently asked questions

Does this send the prospect a DM automatically?
No. The workflow only finds the person and posts them in Slack. The actual outreach stays with you, so the first message a prospect gets is still written by a human.
How is this different from just saving a search on X?
A saved search shows you every match. This workflow filters for moments that signal someone is actively frustrated or shopping right now, and drops only those into Slack so your feed stays high-signal.
Can I track several different signals at once?
Yes. You can list as many phrases or themes as you want, and each match is labeled so you can tell at a glance whether it is a Zapier complaint, an AI-agent question, or something else.
Will it post the same tweet twice?
No. The workflow remembers what it has already surfaced, so the same post will not show up again in your Slack channel.
Can I send the results somewhere other than Slack?
Yes. Slack is the default because it keeps the team in the loop, but the same workflow can post to a different channel, a private DM, or another tool you already use to track prospects.

Stop hand-scrolling X for prospects.

Connect X and Slack once, and Geni will surface the right person at the right moment, every 30 minutes.