inspiration
early-stage technical founders spend 15 hours every week manually jumping between job boards, chatgpt, slack, gmail, and spreadsheets just to find prospective b2b clients.
at the same time, traditional ai outbound tools blast thousands of generic, ungrounded cold emails that get flagged as spam and destroy domain reputation.
we asked a simple question: what if an autonomous agent could continuously search for companies showing live operational pain, match those opportunities against what you can actually deliver, prepare the exact outreach, and pause for your 1-tap sign-off in slack before taking action?
we built odyva gtm to turn that entire fragmented workflow into an autonomous, closed-loop conversion system.
what it does
odyva gtm is a 24/7 autonomous gtm search and conversion engine built on aws.
it connects 4 external platforms into a unified loop:
live intent radar (greenhouse api): monitors public job boards in real time. an active job posting represents approved corporate budget ($100k+ salary) and an immediate operational bottleneck.
opportunity matching engine: cross-matches the company's extracted hiring pain against the founder's verified capability profile. it calculates an explainable match score using a deterministic formula: $$\text{score} = (\text{capability_fit} \times 0.40) + (\text{intent} \times 0.30) + (\text{evidence} \times 0.20) + (\text{urgency} \times 0.10)$$
reasoning & outreach generation: synthesizes why the company is an exact fit and drafts a concise, 3-sentence high-intent email tailored specifically to the hiring executive.
strands sdk human approval gate (slack): delivers an interactive block kit card to the founder in slack (#odyva-gtm). the agent pauses execution. the founder inspects the match reasons and clicks [approve & send] or [reject].
multi-app execution: upon approval, dispatches the email via the gmail api and appends the synchronized lead record with a timestamp to google sheets.
how we built it
- strands agents sdk: we added the strands agents sdk as the orchestration layer for the gtm workflow. strands runs the live tool loop for greenhouse search, resume matching, ranking and outreach preparation. the existing odyva integrations stay the same underneath it. hermes still handles the slack-facing agent runtime, while strands decides which odyva tools to call and in what order. the important part for us was not replacing working software with another framework. strands sits on top of the existing greenhouse, gmail and sheets integrations rather than rebuilding them.
- infrastructure: hosted on an aws ec2 runtime with aws cost anomaly detection and security policies enabled.
- human-in-the-loop governance: built using the strands agents sdk and slack bolt api to manage human decision states and interactive card lifecycles.
- intelligence layer: hermes agent acts as the runtime operator, coordinating tools while gemini flash handles structured json extraction, capability reasoning, and personalized drafting.
- multi-app integrations: direct api connectors to greenhouse (public boards), gmail api (oauth2 draft creation and sending), and google sheets api (v4 row synchronization).
- data integrity: local audit ledger (results.json / leads_tracker.csv) enforcing idempotency so duplicate clicks never trigger duplicate emails.
challenges we faced
- building strict human-in-the-loop state handling: ensuring the agent reliably pauses execution until a webhook event arrives from slack, and handling edge cases like duplicate approval clicks (which we solved using sha-256 action hashing to ensure maximum 1 send per opportunity).
- deterministic scoring vs hallucinations: preventing the model from inventing match scores or hallucinating client proof. we grounded the matcher in a strict, machine-readable capability profile and an explainable mathematical formula.
- multi-app oauth coordination on aws: handling token refresh cycles and permissions across google workspace (gmail and sheets) while running headless inside an aws cloud instance.
accomplishments that we're proud of
- 4 real external applications orchestrated: greenhouse, slack, gmail, and google sheets operating in a seamless closed loop.
- zero blind spam: proving that ai agents can automate 95% of repetitive research without removing human accountability.
- sub-15 second execution: moving from live job discovery to a sent email and synchronized spreadsheet in under 15 seconds.
- built and tested on live infrastructure during the hackathon with real public job boards (testing against vercel and guidepoint security).
what we learned
- "automating work, never automating accountability": human gates are not a bottleneck; they are a critical design requirement for enterprise agents that touch external customer communication.
- capability-to-pain matching converts dramatically better than static list scraping. when an email speaks directly to a problem a company is actively hiring to solve, relevance jumps 4x.
what's next for odyva gtm
- expanding intent scrapers to lever, ashby, and direct career page feeds.
- 24/7 scheduled background workers on aws lambda and amazon dynamodb for distributed memory.
- inbound reply tracking: automatically parsing prospect replies in gmail and alerting the founder in slack when a meeting is ready to be booked.
Built With
- ai-agents
- amazon-web-services
- automation
- b2b-saas
- gemini-api
- gmail-api
- google-sheets-api
- greenhouse-api
- gtm
- hermes-agent
- human-in-the-loop
- python
- slack-api
- strands-agents-sdk
- typescript

Log in or sign up for Devpost to join the conversation.