Smart Links
Pre-populate candidate information in interview links using URL parameters. Perfect for ATS integrations, email campaigns, and tracking candidates with your own user IDs.
URL Builder
Use this tool to generate a properly formatted Smart Link. Just paste your interview URL or ID, fill in the candidate details, and copy the generated link.
Smart Link Builder
Generate a URL with pre-filled candidate data
Interview ID can be a shortcode (e.g. c1234567) or a UUID (e.g. 49d7c5ca-0e41-4c7c-a67a-90e6a9f2c12b).
Optional. Links the interview back to a user in your system.
URL Parameters
Add any of these parameters to your interview URL to pre-fill candidate information.
| Parameter | Description |
|---|---|
email | Candidate's email address |
firstName | Candidate's first name |
lastName | Candidate's last name |
phoneNumber | Phone number (any format, auto-normalized to E.164) |
externalUserId | Your internal user/candidate ID for tracking |
https://www.talentsprout.ai/interview/c1234567?email=john@example.com&firstName=John&lastName=Doe&phoneNumber=%2B15551234567&externalUserId=user_12345Behavior
When a candidate visits an interview link with URL parameters:
Fields are pre-filled
The candidate info form shows with the provided values already populated.
Pre-filled fields are locked
Fields with pre-filled values are displayed as read-only with a lock icon. Empty fields remain editable.
Data is stored with the session
The externalUserId is saved with the interview session and included in webhook payloads.
Refresh-safe: URL parameters are preserved in the URL, so if a candidate refreshes the page, their pre-filled data will still be there.
URL Encoding
Special characters in URL parameters must be properly encoded. Use the URL Builder tool above to automatically handle encoding, or follow these guidelines:
| Character | Encoded |
|---|---|
+ | %2B |
@ | %40 |
& | %26 |
Space | %20 |
# | %23 |
Phone numbers: The + in phone numbers is automatically decoded as a space. Our system normalizes phone numbers to E.164 format automatically, so formats like +1-555-123-4567 or (555) 123-4567 will work correctly.
Webhooks Integration
The externalUserId is included in webhook payloads when an interview is completed, allowing you to correlate results with your own user records.
{
"event": "interview.completed",
"data": {
"candidate": {
"id": "...",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"phone": "+15551234567",
"externalUserId": "your_user_12345"
},
"session": { ... },
"scores": { ... }
}
}Tip: Use externalUserId to match completed interviews with users in your system without relying solely on email matching. See the Webhooks documentation for the full payload reference.
Use Case Examples
📧 Email Campaign
Send personalized interview links to candidates after they apply:
https://talentsprout.ai/interview/c1234567?email={{candidate.email}}&firstName={{candidate.first_name}}&lastName={{candidate.last_name}}🔗 ATS Integration
Track candidates using your ATS user ID for seamless data sync:
https://talentsprout.ai/interview/c1234567?externalUserId={{ats.candidate_id}}&email={{ats.email}}📱 Mobile App Onboarding
Embed interview links in your app with user context:
https://talentsprout.ai/interview/c1234567?externalUserId=${user.id}&email=${user.email}&firstName=${user.firstName}Need help with your integration?
Our team is here to help you get set up.