🚀 Inspiration

Sales teams often let high-value deals go cold—not because of a lack of interest, but because of internal friction: unclear ownership, forgotten follow-ups, or legal holdups. We wanted to build an AI agent that revives these missed opportunities without requiring reps to do anything differently.

🧠 What We Learned

We dove deep into the Salesforce ecosystem—Flows, APIs, Cases, OAuth—and learned how to orchestrate cross-departmental action (PMs, Sales Reps, Legal) using Slack as the central interface. We also implemented retrieval-augmented generation (RAG) for contextual awareness over internal documents.

🔨 How We Built It

  • Frontend: Custom UI to upload documents, monitor cold deals, and visualize engagement metrics.
  • Backend: Node.js/NestJS API with cron jobs to trigger Salesforce Flows that detect stalled deals and sends Slack messages to relevant people.
  • AI Workflow:
    • RAG identifies key stakeholders for each deal from uploaded internal docs.
    • AI generates Slack DMs customized by role: reps get draft follow-ups, PMs get summaries, Legal gets status pings.
  • Salesforce Integration:
    • Creates tasks, cases, and meetings (via Calendly).
    • Posts real-time updates in Slack threads with full conversational memory.

🧱 Challenges

  • Figuring out the Einstein Agent payload spec.
  • Debugging OAuth token flows across multiple Salesforce endpoints.
  • Ensuring Slack interactions had business context and didn’t feel generic or robotic.
  • Building a clean UI dashboard while racing the clock.

🛠 What We Used

  • Salesforce Platform (Flows, Cases, OAuth)
  • Slack API + Webhooks
  • S3 + Data Cloud + Search Index for RAG with internal PDF uploads
  • NestJS (Node.js)
  • Calendly API
  • Custom React frontend
  • Supabase for remembering interactions like Slack thread activity to report performance in the UI

⏭ If We Had More Time

  • Add a live feedback loop to track which actions led to deal revival.
  • Expand to support more Salesforce objects (e.g., Leads, Contacts).
  • Launch a full Slack app with onboarding and permission scopes.

Built With

Share this project:

Updates