Sales
Website visitor → outbound: spec first, then let Grok Bot build it
Hand-building Clay tables and visitor → email plumbing ate a week; vague asks get vague systems.
What hurt
@BenyaminHolley had Grok Bot build an evergreen visitor-to-outbound stack (Clay Web Intent + Squid, Slack alerts, enrichment waterfall, page-angled copy) that used to take a week by hand at AirOps. Biggest lesson: write the end state, non-negotiables, and done-looks-like first. Full paste-ready prompt in the reply — including show every PR before merge and wait for my go before turning send on. Tip + author-quoted prompt. Not affiliated with xAI.
What to install or create
Write the spec → paste the prompt with your brackets → review PRs → test rows → approve go-live.
Bots
No new bot. Follow the first-run steps.
Plugins
GitHub
Required
Slack
Optional
Routines
None on the first run. Watch one manual pass first.
The prompt
Evergreen website visitor → outbound workflow
Quoted from @BenyaminHolley — as published. Do not invent a second system prompt.
Last line is our approval fence: Never send, post, spend, or buy without my explicit yes.
Build me an evergreen website visitor to outbound workflow, end to end, with no human in the loop. My site is [domain], built on [framework/host]. Use GitHub and Cursor cloud agents for code changes, and show me every PR before merge. Website 1. Add the Clay Web Intent tracker (company-level) and the [Squid/RB2B] tracker (person-level) directly in the site code, not Tag Manager. Confirm both load on the live site. Data flow 2. Clay Web Intent writes companies into one Clay table. Only keep sessions of 20+ seconds or 2+ pages. 3. Send person-level visitors by webhook into a separate Clay table, with an auth header. 4. Have Clay POST every visitor to a Slack bot or webhook with a secret. Dedupe per person or company per day. Post pages viewed, time on site, referrer, UTMs and contacts found. Skip my own team's domain and emails. Filtering and enrichment 5. Filter out agencies, competitors, GTM vendors, gov, schools and current customers before spending credits. 6. For company visitors, use AI to pick up to 3 buyers by role. Dedupe on a normalized LinkedIn URL. 7. Email waterfall: [LeadMagic] first, then pattern guesses, and validate every one. Every lead needs a first name, last name, LinkedIn URL and a valid email. Copy 8. Tag my content library by best-fit role and industry. AI picks one piece per person. 9. Company visitors get one AI line on what the company sells, a soft offer, and the content piece in email 2. 10. Person visitors get a campaign per key page: [pricing, case studies, blog, contact with no submit, repeat visitor]. The page sets the angle. 11. Never say or imply they visited the site. Lint every row and block anything that does, or that links outside my library. Launch 12. Suppress against [Salesforce/HubSpot], then push to [EmailBison/Instantly]. 13. Test on a few real rows, show me the output, and wait for my go before turning it on. Never send, post, spend, or buy without my explicit yes.
First run
- 1Read https://x.com/BenyaminHolley/status/2116298502225420345 and the prompt reply https://x.com/BenyaminHolley/status/2116298504436113455 (credit @BenyaminHolley).
- 2Write your end state, non-negotiables, and what done looks like before opening the bot.
- 3Paste the author's prompt; fill [domain], trackers, enrichment, and CRM/ESP brackets.
- 4Review every GitHub PR the bot opens before merge; keep Tag Manager out of the tracker path.
- 5Test a few real rows in Slack/Clay, then explicitly approve go-live — never auto-send.
Approval fence
Every PR waits for merge OK; outbound send stays off until you approve real-row tests.
What to tweak
Steal spec-first + never-say-you-visited lint + wait-for-go before outbound.
Source
benyamin @BenyaminHolley · Original post
Not affiliated with xAI. We did not write this prompt. Third-party template terms still apply.
Pro pack
Want the full setup, not just the idea?
Pro packs give you the job text, prompts, schedules and pitfalls for popular use-cases.