The Problem
Recruiters often juggle hundreds of candidates, each needing a personalized email that feels genuine. Writing, editing, and sending these messages manually is slow, error‑prone, and can lead to inconsistent brand voice.
How TalentPing Solves It
TalentPing’s Automated Outreach feature streamlines this process with AI, a robust back‑end, and tight ATS integration. When a recruiter clicks Send Outreach on a candidate card, the system:
- Generates a tailored message using the project’s AI model.
- Queues the email in a Celery worker for delivery through the configured mailbox.
-
Tracks the conversation in PostgreSQL, linking each message to an
EmailThreadand updating the ATS board in real time. - Schedules follow‑ups automatically, stopping the drip once a candidate’s calendar is booked.
Technical Flow
-
Front‑end (React): The candidate card exposes a Send Outreach button. Clicking it triggers a FastAPI POST request to
/outreach/. The UI displays a preview of the AI‑generated email and a status badge (e.g., Queued, Sent, Follow‑up). -
Back‑end (FastAPI): The
/outreach/endpoint validates the request, creates anOutboundEmailrecord, and enqueues a Celery task. FastAPI’s async routes ensure the UI remains responsive. -
Celery Workers: Handle email dispatch, mailbox integration, and follow‑up logic. Recent commits (
fix(follow‑up),fix(campaigns)) removed race conditions where a drip could fire after a recruiter scheduled a call or where mailbox‑send operations overlapped. -
PostgreSQL: Stores
EmailThreadentities, linking each thread to a candidate and the ATS board row. Thefix(inbound)commit guarantees that multiple emails from the same Gmail thread create a single thread record, preventing duplicate conversations.
User Experience
- Select a Candidate – In the ATS board, click the candidate’s avatar.
- Generate Outreach – The AI preview appears in a modal. The recruiter can edit or accept the message.
- Send & Schedule – Hit Send. The status turns Queued, then Sent. If the candidate replies, the system updates the board to Engaged. If not, a follow‑up email is sent after a configurable delay.
-
Calendar Sync – When a recruiter books a call, the
fix(follow‑up)logic stops any pending drip items, ensuring the candidate receives only relevant messages.
The UI also offers a Bulk Outreach option, allowing recruiters to send the same message to multiple candidates while the system handles individual personalization.
Integration with Wird
The outreach module reads from the Teppil inbox (fix(inbox)) and flags auto‑responses as Out‑of‑Office, preventing recruiters from mistakenly marking candidates as engaged. The updated status appears instantly on the ATS board.
Why It Matters
By automating the repetitive parts of candidate outreach, recruiters can focus on higher‑value activities like interviewing and relationship building. The AI ensures consistent tone, the back‑end guarantees reliable delivery, and the ATS integration keeps all data in sync.
Next Steps
TalentPing continues to refine the outreach workflow. Upcoming changes include smarter AI prompts based on candidate data and deeper analytics on outreach success rates.
TL;DR: TalentPing’s Automated Outreach uses AI to generate personalized emails, Celery to schedule and send them, and PostgreSQL to track conversations, giving recruiters a consistent, time‑saving experience integrated with their ATS board.
Top comments (0)