Guides
Step-by-step guide to building an AI enrollment follow-up agent in Thoughtly that calls every education inquiry within seconds, qualifies program fit, answers questions from a knowledge base, and books counselor appointments across voice, SMS, and email.
Last updated
Most education enrollment teams lose applicants before a counselor ever speaks to them. Inquiry forms pile up overnight, weekend requests go cold for 48 hours, and by Monday morning the prospective student has already submitted a deposit somewhere else. The problem is not lead generation — it is lead follow-up.
This guide walks through building an enrollment follow-up agent in Thoughtly that calls every inquiry within seconds, qualifies program fit, answers common questions using a knowledge base, and books a counselor conversation — across voice, SMS, and email. Every step references actual Thoughtly product mechanics so you can build alongside the guide.
Before starting, confirm you have the following:
Before opening the Agent Builder, sketch the conversation on paper. Enrollment follow-up agents typically follow a four-stage pattern: identify the inquiry, qualify program fit, answer questions, and schedule a next step.
Here is a practical conversation skeleton for a post-secondary enrollment team:
| Stage | Agent objective | Key data to capture |
|---|---|---|
| Opening | Confirm identity, reference the inquiry they submitted | First name, program of interest |
| Qualification | Assess program fit: intended start date, delivery preference, funding path | Start term, online vs. on-campus, funding type |
| Q&A | Answer program-specific questions (tuition, duration, prerequisites) | Questions asked, objections raised |
| Scheduling | Book a counselor call, campus tour, or info session | Appointment time, counselor assigned |
| Close / Follow-up | Confirm next steps, send SMS confirmation, end gracefully | Booking confirmation, SMS sent |
Notice that the qualification signals are consumer-fit fields — program interest, intended start date, location or delivery preference, funding path, and eligibility — not budget/authority/need/timeline. Education enrollment is a consumer decision, and the agent should feel like a helpful admissions advisor, not a sales gatekeeper.
Open the Agent Builder from the Thoughtly dashboard and create a new agent. Start with the node structure:
The Start node delivers your opening message verbatim. Keep it short, warm, and reference the inquiry to establish context. Example:
Hi {{first_name}}, this is Ava from [School Name]. I'm reaching out because you recently submitted an inquiry about our {{program_of_interest}} program. Do you have a couple of minutes to chat about it?The variables in double curly braces are populated from metadata passed by the automation trigger. This personalization is critical — a generic “Hi, we got your inquiry” opening sounds robotic and gets hung up on.
Add a Speak node in Prompt mode. The prompt instructs the agent to explore three qualification areas in a conversational way:
Use the Prompt variant rather than Message because the agent needs to adapt its phrasing based on what the prospect says. A rigid script cannot handle “Actually, I was looking at your nursing program, not the one I clicked on” — a Prompt-mode agent can.
This node handles the Q&A stage. Set it to Prompt mode and instruct the agent to answer questions about the program using the attached Genius knowledge base. Include a self-loop outcome so the agent keeps answering questions until the prospect is satisfied.
Add two prompt-based outcomes:
Add a Speak node with a mid-call action connected to your scheduling integration (Calendly, Cal.com, Acuity, or GoHighLevel). The agent collects the prospect’s preferred time, executes the booking action, and confirms the appointment.
Use rule-based outcomes after the scheduling action:
booking_status == "confirmed" → proceed to the confirmation and End node.Add a Transfer node for prospects who need to speak with a human immediately — for example, applicants with complex transfer credit situations or international students with visa questions. Use the Agent Transfer or Phone Router variant depending on whether the receiving counselor is another Thoughtly agent or a live person.
Create separate End nodes for each conclusion: appointment booked, not interested, callback requested, and voicemail left. Distinct End nodes make post-call automation routing much cleaner.
Variables extract structured data from the conversation so outcomes and actions can use it. Add these variables to the relevant Speak nodes:
| Variable name | Type | Extraction instruction | Attached to |
|---|---|---|---|
| intended_start_term | Text | Extract the semester or start date the prospect mentioned (e.g., 'Fall 2026', 'as soon as possible'). If not mentioned, leave empty. | Speak node 1 |
| delivery_preference | Text | Extract whether the prospect wants online, on-campus, or hybrid. If not stated, leave empty. | Speak node 1 |
| funding_type | Text | Extract the funding method: financial aid, self-pay, employer reimbursement, GI Bill, or other. If not mentioned, leave empty. | Speak node 1 |
| program_confirmed | Text | Extract the specific program name the prospect confirmed interest in. | Speak node 1 |
| booking_status | Text | Set by the scheduling action. Values: confirmed, failed, no_availability. | Speak node 3 |
| prospect_email | Text | Extract the email address the prospect provided. Validate format. | Speak node 2 |
Write explicit extraction instructions. “Get their info” is too vague — the agent will hallucinate values. Instead, use constraints like “Extract the semester name exactly as spoken. If the prospect did not mention a start date, leave this variableVariableA named value the voice agent stores during a conversation — caller name, intent, qualifying answers — and uses to drive routing and post-call actions. empty. Do not invent a value.”
Actions execute integrations during the call without the prospect needing to hang up. For enrollment follow-up, two actions matter most:
If your admissions CRMCRMThe system of record for leads, contacts, deals, and activity. Thoughtly reads from and writes to your CRM continuously. (HubSpot, Salesforce, or a student information systemSISA student information system — the system of record for education programs. Slate and Ellucian are common; Thoughtly integrates with both.) has existing data on the prospect, add a webhook or CRM action to Speak node 1. The lookup pulls prior inquiry details — which program page they visited, whether they started an application, whether they have an existing student record — and makes that context available to the agent via variables.
Use rule-based outcomes after the lookup:
lookup_found == true → reference the prospect’s existing data in the conversation (“I see you started an application for our RN program last month”).lookup_found == false → proceed with a fresh qualification conversation.Add the scheduling action to Speak node 3. Thoughtly integrates natively with Calendly, Cal.com, Acuity, Acuity Enterprise, GoHighLevel, Mindbody, and Zoho Bookings. The pattern is consistent across all of them: check availability, present or auto-select a slot, book the appointment, and write the confirmation to a variable.
Before triggering the scheduling action, add a brief spoken line like “One moment while I check available times” using an Uninterrupted message. This sets the prospect’s expectations and prevents them from speaking over the agent while the action executes.
The agent is built — now you need something to trigger it. Open Tools → Automations and create a new automation.
The trigger depends on where your enrollment inquiries originate:
| Inquiry source | Recommended trigger | Notes |
|---|---|---|
| CRM (HubSpot, Salesforce, GoHighLevel, Zoho, Keap) | Integration trigger: On Contact Created | Fires when a new inquiry is added to the CRM. Map the contact’s phone, name, and program interest to the call action. |
| Web form (Typeform, JotForm, Google Forms) | Integration trigger or Incoming Webhook | Typeform has a native trigger. For others, use the Incoming Webhook trigger and POST form data to the Thoughtly webhook URL. |
| Batch import (CSV upload, nightly SIS export) | Recurring Schedule + Loop | Use the Recurring Schedule trigger on a daily cadence, loop through the contact list, and call each prospect with the Call Contact action. |
| Inbound calls to an admissions line | On Inbound Call | Fires before the call connects. Use it to look up the caller in your SIS and set attributes before the agent starts talking. |
For a typical form-submission workflowWorkflowAn automated, multi-step process — usually triggered by an event (form fill, new lead) and orchestrating one or more voice / SMS / email actions.:
Activate the automation only after testing in Draft mode with internal phone numbers. Remember: refreshing the Output tab on a Call Contact step places a real call.
The phone call is the first touch, not the last. Build a second automation triggered by On Call Completed to handle post-call actions:
Use the On Call Completed trigger’s Output to route post-call actions based on what happened. The payload includes the full transcriptTranscriptThe text record of a voice conversation, used for review, training, compliance audit, and search., captured variables, call duration, and which End node the conversation reached — so you can send different follow-ups for booked appointments versus not-interested outcomes.
Genius is Thoughtly’s retrieval-augmented knowledge base. Instead of stuffing program details into the agent’s prompt (which gets long and error-prone), load them into a Genius database and attach it to the agent.
Navigate to Tools → Genius, create a new database (e.g., “Enrollment Program Knowledge”), and add content sources. Structure your content as Q&A pairs for the best retrieval accuracy:
Q: How long is the Registered Nursing program?
A: The RN program is 24 months for full-time students and 36 months for part-time. Clinical rotations begin in the second semester.
Q: What are the prerequisites for the RN program?
A: Applicants need a high school diploma or GED, a minimum 2.5 GPA, and completion of Anatomy & Physiology I. CNA certification is recommended but not required.
Q: Does the school offer financial aid?
A: Yes. The school participates in Title IV federal financial aid programs. Students can apply by completing the FAFSA at studentaid.gov. The financial aid office can also help with scholarship applications and employer tuition reimbursement paperwork.After loading your content, attach the Genius database to the enrollment agent in the Agent Builder under Settings → Genius tab. You can also attach a specific Genius source per call using the automation’s Call Contact step, which is useful if you have separate knowledge bases for different programs.
Track these metrics in Thoughtly Analytics and your CRM to evaluate agent performance:
| Metric | What it measures | Target benchmark |
|---|---|---|
| Inquiry-to-contact rate | Percentage of inquiries reached by the agent within 60 seconds | 90%+ of business-hours inquiries |
| Qualification completion rate | Percentage of conversations where program fit variables are fully captured | 70%+ of connected calls |
| Appointment booking rate | Percentage of qualified prospects who book a counselor appointment | 30–50% of qualified conversations |
| Counselor show rate | Percentage of booked appointments where the prospect actually attends | 60–75% (SMS confirmation helps) |
| Inquiry-to-enrolled conversion | End-to-end conversion from initial inquiry to enrolled student | Track monthly, compare to pre-agent baseline |
| Average speed to first contact | Time between form submission and agent call connection | Under 60 seconds |
Use the On Call Completed trigger to push call outcomes and captured variables to your CRM or a reporting tool. Build dashboards that show conversion by program, inquiry source, and time of day — this data reveals which programs benefit most from immediate follow-up and where the agent’s qualification prompts need refinement.
Yes. If the prospect changes their program interest mid-call, the agent (in Prompt mode) adapts naturally. The key is loading all relevant program details into Genius and writing the qualification prompt to handle program changes gracefully — for example, “If the prospect mentions a different program, acknowledge the change and continue qualifying for the new program.”
Configure voicemail detection in the agent’s Settings. The agent will detect the voicemail tone and leave a pre-configured message. Then, use a post-call automation with a Delay step to retry the call later — typically 4 to 6 hours later or the next business day. Add an SMS message as a secondary touchpoint between call attempts.
Thoughtly does not have a native, pre-built integration with Slate or Ellucian. However, you can connect to any SIS that supports webhooks or REST APIs using Thoughtly’s Incoming Webhook trigger and Send Webhook action. Many enrollment teams also use Zapier or Make as a bridge between their SIS and Thoughtly.
FERPA applies to educational records of enrolled students, not prospective student inquiries. However, once a prospect enrolls and becomes a student, their records are protected. Thoughtly supports data handling controls and webhook-based integrations that let you control what data flows where. Consult your institution’s compliance officer to define the appropriate data boundaries for your AI-assisted enrollment workflow.
Yes. Add a Send SMS mid-call action to a Speak node. The agent says something like “I just sent you a text with a link to start your application” while the action delivers the SMS in the background. Use the prospect’s phone number from the contact record or a captured variable.