AI Adoption GuideEducationRecruit
Personalized Outreach Generation
An LLM generates individualized email and SMS messages for each prospect using program interest, geography, and engagement history.
Education processRecruitAdmitEnrollTeachAssessCredentialGraduateAdvance
By Don, DoneThat’s AI coach · updated
A usable draft cites every specific claim
A generated outreach draft is ready for a recruiter when every specific claim in the email and SMS maps to a named CRM field, and any missing field is omitted rather than guessed. The send stays with the recruiter. The model does not get a mailbox.
That quality bar is narrower than sounding personal. Merge letters already insert first name and intended major. The useful output is a short message that uses only program interest, geography, and engagement history that actually exist on the person record, plus a cite list. If Campus Visit Date is blank, the draft does not mention a tour. If Program of Interest is blank, the draft does not pick a major. If the last engagement is an inquiry form with no later click, the draft talks about the inquiry, not a conversation that never happened.
Enrollment systems such as Slate, Technolutions, Salesforce, and Ellucian already hold these attributes. Treat them as a class of CRM records, not as interchangeable products. The generation step reads fields the institution already trusts. It does not invent a second student file.
Lists often come from inquiry pools, counselor territories, or look-alike prospect discovery. Generation should not expand the audience. It should only write for people already in the work queue.
Pull program, geography, and engagement before any sentence
Work the record in that order, then write.
Program. Read the inquiry or application program-of-interest field, plus college or school if your instance stores it separately. Cite the field name in the draft notes, for example Inquiry.ProgramOfInterest = Mechanical Engineering. If the field is empty, leave program-specific sentences out. Do not infer a major from a fair name or a similar student.
Geography. Read high school, city, state or province, and recruiter territory if those are populated. Use them only for facts you can stand behind: a named high school, a region the counselor actually covers, in-state versus out-of-state residency when that flag exists. Do not add travel time or local landmarks unless a matching activity row exists.
Engagement. Read dated activities: inquiry submitted, email opened or clicked, event RSVP, counselor contact, portal login. Cite the most recent real event and its date. Do not upgrade a click into a visit, or an open into a claim that they have been following you closely.
Put the cites next to the draft, not only in the model trace. A recruiter should see three lines before they edit:
- Program: Mechanical Engineering (Inquiry.ProgramOfInterest)
- Geography: East High School, Denver, CO (Person.HighSchool, Person.City, Person.State)
- Engagement: inquiry form 4 March; clicked curriculum email 11 March (Activity.Inquiry, Activity.EmailClick). Campus visit: empty. Counselor note: empty.
Empty stays empty. The visit line is present as a cite with no value so the reviewer can see the model did not forget the field.
If predictive yield scoring is already on the same record, use the score only to order the review queue. Do not let a high score authorize stronger claims. A likely yield still did not tour if the visit field is blank.
Draft the email and the SMS from those cites only
Write two artifacts, both unsigned until a person sends them.
The email should be two to four short paragraphs. Open from the latest engagement cite, not from a generic greeting. Name the program only if the program field is set. Name the high school or city only if geography fields are set. Close with one next step the institution actually offers: a reply, a counselor appointment, or a form that exists. Sign with a placeholder for the recruiter's name and title, never a finished signature the system can fire as-is.
The SMS should be one or two sentences, same facts, no extra color. SMS is where models pad with warmth that is not in the file.
Illustrative example, not a measured result. A Denver inquiry shows Mechanical Engineering, East High School, an inquiry form dated 4 March, and a click on a curriculum email dated 11 March. Visit date is blank. Intended minor is blank.
A defensible email might read: Thanks for the inquiry on 4 March and for opening the Mechanical Engineering curriculum note last week. If East High's college office is helping you compare programs, I can send the lab sequence and the first-year course list, or we can set a 15-minute call. Cites sit in the sidebar as above.
A defensible SMS might read: This is Jordan in Mechanical Engineering admissions. You inquired 4 March and opened our curriculum email. Want the first-year course list, or a short call?
An indefensible pair, even if it sounds warmer: Great meeting you on campus last month (visit empty). Engineering and maybe computer science could both be a fit (second major invented). Saw you loved the robotics lab (no such activity). Those sentences fail the cite test even when the rest of the letter is accurate.
Keep channel copies aligned. Do not put a visit claim in SMS that you correctly omitted from email. Recipients notice the mismatch, and so will an audit of sent copy against the activity log.
Stop the three drafts that look personal and are wrong
Inventing a campus visit is the usual quality failure. Visit language is easy for a model because training text is full of tour stories. If the visit field, event RSVP, or check-in activity is empty, there was no visit in this workflow. Do not write as if a date were planned. A future invitation is allowed only as an offer you can hold a tour slot if they want one, not as a memory.
Filling a blank major is the second failure. Blank program fields are common on early inquiries. The wrong fix is to pick the school's popular major, the fair theme, or a look-alike neighbor's program. The right fix is general language: the college, the application timeline, the counselor's territory. Specific program pitch waits until Inquiry.ProgramOfInterest or the application major is set.
Auto-sending the draft is the third failure. An unsigned queue item is not a campaign. Connectors into Slate, Technolutions, Salesforce, or Ellucian can place copy into a mailbox or a text tool. That is a convenience for the recruiter, not permission for the model. Require a human send. Require the recruiter's signature and channel identity. If your process uses a shared inbox, the sender of record is still a named staff member, not an admissions bot.
Do not overwrite counselor notes with generated prose. The draft is outbound copy. The CRM note should record what was sent after the fact, not treat the model output as a completed conversation.
Recruiter edits, then sends; later steps stay separate
Review in this order. Confirm each specific noun against the cite list. Delete any clause without a field. Add anything the CRM missed that the recruiter actually knows, and log that fact in the activity record so the next draft can cite it. Then send from the official email or SMS tool, signed.
Do not skip review because the copy is short. SMS errors are denser: one invented visit is the whole message.
After a real send, the person record has a new engagement event. That is the right input to multi-channel enrollment nudge sequences, which should still refuse to claim a visit or major the CRM does not have. If the next step is a call, use the same cites as briefing, not a new story. Recruiter call coaching should open from the inquiry and the click, not from a tour that was never booked.
Hand a colleague the draft, the cite list, and the CRM screenshot. If every named fact is on the screen and no invented visit or major appears, the step did its job. If they would not send it unsigned, it must not send itself.
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first