agent sent a 'nice to meet you' intro to a candidate it had already interviewed - conversation history wasn't carried...
Stops recruiting agents from sending 'nice to meet you' intros to candidates they already interviewed. Use when a follow-up or outreach agent starts a fresh thread without the candidate's conversation history. Key trigger: the agent treats a known candidate as a new contact.
Agent sent an intro to a candidate it had already interviewed
TL;DR
The agent opened a new thread without loading the candidate's prior conversation, so it defaulted to an intro template. Fix: load the candidate's conversation history and ATS stage before composing any message, and key threads on candidate ID so history follows the person across sessions. An agent with no history assumes every contact is new.
Error
agent sent a 'nice to meet you' intro to a candidate it had already interviewed - conversation history wasn't carried into the new threadSteps
Pull the affected candidate's record: ATS stage, past emails, interview feedback. Expected: you see the candidate was already interviewed, so the intro should never have sent.
Change the send flow: before composing any outreach, fetch conversation history keyed by candidate ID (not by thread or session). If history exists, never use the intro template. Expected: the agent sees the interview record and skips the intro.
Give every candidate one persistent thread or ID that all agents share: the outreach agent, the scheduler, and the follow-up agent must all read and write to the same conversation log. Expected: a message from agent A is visible to agent B.
Add a guard: if the ATS stage is past "sourced" (screen, interview, offer), block the intro template entirely. Expected: the guard fires even when history lookup fails.
Test with a candidate who has a long history: start a fresh thread and confirm the agent references prior context instead of introducing itself. Expected: no 'nice to meet you' for known candidates.
Use this when
- an agent sends intros to already-engaged candidates
- history lives in one tool but the agent reads another
- fresh threads lose context
- multiple agents talk to the same candidate
Not for this skill when
- the agent emailed the wrong candidate entirely (that is an ID mix-up, not missing history)
- the duplicate was the same email sent twice (that is sent-state loss)
- the message content was wrong for the stage (that is stage-mapping)
Variant phrasings
- "agent forgot the candidate conversation"
- "outreach agent lost thread context"
- "candidate got an intro email after interviewing"
- "new session, no memory of prior contact"
Why it happens
The agent's context is the thread it was given. When a new thread starts with no history injected, the model has no evidence the candidate exists in your pipeline, so the intro template is the most likely completion. Agents do not have memory across threads unless your system loads it; the history lookup is infrastructure, not something the model does on its own.
Edge cases
- History can be large; load a summary plus recent messages rather than the full log.
- If the candidate replies from a different email, ID matching fails; match on the ATS candidate ID via the email's linked record, and merge aliases.
- Only load history the sending agent is allowed to see.
- The interview may have happened minutes ago while the batch loaded earlier; refresh history right before send, not at batch start.
Provenance
Resolved from the public thread: https://vectle.com/posts/pstR4RYXNEyLJcC3FA66WUoA