Skip to main content
When you add a candidate to a job, Tenzo decides when to contact them and how based on a set of rules: the candidate’s stage, your outreach hours, the job’s retry budget, cross-job cooldown, and the candidate’s contact preferences. This page walks through each of those rules and points to where you can adjust them. For the high-level pipeline, see Candidate Stage Lifecycle.

When outreach starts

A candidate becomes eligible for outreach the moment they enter the Outreach stage. That happens automatically when:
  • Their resume passes review (or the job has resume scoring turned off), or
  • A recruiter clicks Progress to Interview on a candidate in Resume Rejected. Any rejection email that was queued for them is cancelled at the same time.
If the candidate is already being reached out to on another job at your organization, they go to Cooling Down first and pick up the new job’s outreach later.

Scheduling the first attempt

Tenzo schedules each outreach attempt for the next valid slot inside your Outreach Hours, in the candidate’s local timezone.
  • Weekday window: configurable (default 8 a.m. – 9 p.m.).
  • Weekend window: optional, configurable separately. Weekends are enabled by default.
  • Timezone: taken from the candidate record. When a candidate is added, Tenzo sets the timezone from any value the ATS supplies, then falls back to the zip code, then to the candidate’s location point (for example a city/state look-up when there is no zip), then to the phone’s area code. If none of those are available, the candidate is treated as Eastern Time.
You can adjust outreach hours under Settings → Outreach Hours.

Initial Outreach Method

Each job has an Initial Outreach Method setting that biases how the first contact looks:
MethodWhat happens
Outreach Hours (default)On the first contact attempt: if it’s inside outreach hours → Tenzo places a call; if it’s outside → Tenzo sends an SMS now (with a companion email) so the candidate gets a same-day touch instead of waiting until morning. Retry attempts always wait for the next outreach window — they never fire an SMS outside hours.
CallAlways start with a call (subject to consent and phone-line type).
SMSAlways start with an SMS plus a companion email.
Change this under Job Settings → Phone Call Outreach Settings → Initial Outreach Method.

Video interview jobs

Some jobs are configured so the candidate completes their interview in the browser instead of by phone — controlled by the Call Type setting on the job. For these jobs, outreach is an email containing a link the candidate clicks to schedule and start their interview; Tenzo does not place an outbound phone call. The same retry budget and outreach-hours rules apply: each retry sends another invite email at the next valid slot. Link expiration is configurable under Job Settings → Video Interview Outreach Settings → Interview Link Expiration (default: no expiration).

Retries

If a call ends in voicemail, no-answer, or busy, Tenzo schedules a retry. Three settings control the cadence under Job Settings → Auto-Reschedule on Voicemail:
SettingDefaultWhat it controls
Retry on voicemailOnMaster switch — turning it off disables both voicemail retries and consent retries.
Retry count5Number of follow-up attempts after the first call.
Retry hours26Hours between attempts.
Every rescheduled attempt is re-bounded to outreach hours, so retries never fall outside your window. When the retry budget is used up without a successful interview, the candidate moves to Max Attempts - No Interview and Tenzo stops calling. Incomplete interviews (Hung Up). If a candidate hangs up before finishing the scripted interview, Tenzo may schedule a follow-up call (subject to the same retry budget and outreach-hours rules), even when their completion percentage is high: the candidate must reach the scripted outro for the call to count as finished. This does not apply when the candidate reached the scripted outro and graded question completion is above 75%: those calls are marked Completed and Tenzo does not auto-retry them, even if the completion percentage is below 100%. If the outro was reached but completion is 75% or below, Tenzo treats the attempt as incomplete for retries.

Cooldown across jobs

When a candidate is added to a job and they’re already being contacted for another job at your organization, Tenzo holds them in a Cooling Down stage instead of starting a second outreach in parallel. Once the other outreach concludes, the candidate automatically resumes on the new job.

Entry

A candidate is placed in Cooling Down when they’re added to a job and any of the following is true on another job at your organization:
  • They’re currently being reached out to.
  • They have an outreach attempt queued up.
  • They were called within your configured cooldown window.

While in Cooling Down

The candidate receives no outreach of any kind — no calls, texts, or emails — until they exit the stage.

Exit

Cooling Down candidates exit automatically as soon as they’re ready:
ConditionResult
The other outreach has concludedResume is reviewed (if applicable) and the candidate moves to Outreach
The candidate has been waiting more than 14 daysMoves to Cooldown Expired (no outreach is sent)
A recruiter clicks Progress to InterviewOutreach begins immediately
The 14-day expiration takes precedence, so a candidate who has been waiting too long won’t suddenly receive a stale first contact.

Settings

Configure under Settings → Candidate Cooldown Period at the org level, with per-job overrides. Set a value to 0 to disable cooldown for that candidate type.
SourceChannelDefault
SourcedPhone1 day
SourcedWeb1 day
ApplicantPhone1 day
ApplicantWeb0 (disabled)
The day count controls only the “called within window” trigger — active outreach and queued attempts on another job will always trigger cooldown, regardless of the day setting.

UI

Stage badges: Cooling Down (orange), Cooldown Expired (gray). Cooling Down tooltip: “This candidate recently received outreach for another job. Outreach will begin automatically once the cooldown period ends.” Cooldown Expired tooltip: “This candidate was not reached in time — outreach was canceled to avoid a stale first contact.”

Channel choice at send time

Right before each outbound attempt, Tenzo re-checks the situation and picks a channel:
  • Phone line type. If the candidate’s number is a landline, fixed VoIP, pager, or any other non-SMS-capable line, Tenzo skips SMS and falls back to a phone call (with a companion email when an email integration is connected). Non-fixed VoIP numbers (such as Google Voice) can receive texts, so they stay eligible for SMS. The line type check runs automatically and is cached for 30 days.
  • Contact preferences. Tenzo respects per-channel consent. If a candidate is opted out of SMS, the system tries email as a fallback. If a candidate is opted out of calls, calls are skipped. If a candidate has opted out of all AI communications, calls are blocked. SMS is unaffected (gated solely by SMS consent) and email is still allowed (email opt-out is a separate preference).

When a candidate calls our number

If a candidate dials the phone number Tenzo is using to reach them, Tenzo handles the inbound call automatically:
  • Known number. If the inbound caller ID matches a candidate we’re already in touch with, the call resumes their most recent interview (or starts a new one for the active job).
  • Unknown number. If the caller ID doesn’t match any candidate, Tenzo runs a short verification and then asks for their full name. How the caller proves who they are depends on the organization: when an email integration is connected, they read back the 8-character code from the bottom of their outreach email; for SMS-only organizations (no email integration, so there’s no code to send), they’re instead asked which phone number they applied with, or have been receiving texts from, and that number is matched against the one on file. On a successful match, the call is linked to their candidate record and rolls into the interview.
This is how candidates without a stored phone number — or candidates calling from a different phone than the one we have on file — still reach a live interview after receiving an email or SMS.

Phoneless candidates

When a candidate is added with an email but no phone number, Tenzo doesn’t drop them. Instead:
  • Phone-call jobs. Tenzo sends an outreach email (the same one it would send as a companion to SMS) and re-tries the email on the normal retry cadence. The candidate can dial the recruiter number from any phone and verify their identity to start their interview — see When a candidate calls our number above (for these email-equipped candidates that means reading back the code from the email footer). The verification flow also captures their number on the candidate record, so subsequent outreach can use it.
  • Video interview jobs. The candidate receives the standard invite email with the scheduling link. If they don’t have a phone on file when they reach the interview page, they’re prompted to enter one before they begin.
A candidate is only marked Invalid Contact when there’s nothing usable on file — no phone and no email (or email consent denied / no email integration connected).

What stops outreach

Outreach is halted — pending attempts cancelled, no new ones scheduled — when:
  • The candidate moves to Not Interested, Consent Revoked, Canceled, Dispositioned, Fraud Rejected, Failed Knockout, Opted Out, AI Interview Scheduled, Cooling Down, or another terminal stage. See Interview Stages for the full list.
  • The candidate has no usable phone and no email on file, or an SMS/call hits an invalid-number error from the carrier — the candidate moves to Invalid Contact. Candidates who have email-on-file (and email consent) but no phone get an outreach email instead and remain in Outreach — see Phoneless candidates below.
  • The person reached at the candidate’s phone number replies by text to say it is the wrong number — the candidate moves to Wrong Number.
  • The retry budget is exhausted (the candidate moves to Max Attempts - No Interview).
  • The job is paused. When you unpause, Tenzo re-evaluates cooldown: candidates return to Outreach if no cooldown applies, or to Cooling Down if another job’s outreach is still active.
  • Your ATS reports the candidate has been rejected or withdrawn — Tenzo cancels pending attempts and moves the candidate to Dispositioned.
These two stages look similar but behave very differently. The right one is chosen automatically based on what the candidate said.
Not InterestedConsent Revoked
ScopeThis job onlyThis job only + consents for future jobs
When it’s setCandidate told us they’re not interested in this specific role (inbound SMS/phone), or a sourced candidate confirmed on the not-interested page after clicking the link in their outreach email footerCandidate texted STOP, asked not to be contacted by sms or email, asked not to be contacted during an AI phone screen, or had consent revoked upstream in your ATS
Channels affectedNone — consent is left intactOnly the channel(s) the candidate was operating within: an SMS opt-out revokes texting and AI calling but keeps email; an email opt-out revokes only email
Tenzo reads inbound SMS replies and routes the candidate to the right bucket automatically. A reply like “not interested in this role right now” lands in Not Interested. A reply like “remove me from your system” is treated as a possible opt-out, so Tenzo first sends a short confirmation question asking whether they’d still like to hear about future opportunities. If they say no (or the reply is unclear or never comes), the candidate goes to Consent Revoked — texting and AI calling are turned off (email stays intact). If they say yes, the candidate lands in Not Interested for this job only and stays eligible for other roles. A keyword-level STOP goes straight to Consent Revoked without a confirmation step. Sourced candidates also have a separate path to Not Interested that does not go through SMS. Outreach emails sent to sourced candidates (for example no-answer, thank-you, job-paused, and job-resumed messages) include a not interested link in the footer. Clicking it opens a web page where the candidate can confirm or cancel — the stage only changes after they confirm. Applicants see a withdraw-application link instead; this email link is for sourced candidates only. The legacy Do Not Contact stage is no longer applied — opt-outs now land in Consent Revoked.

Other automated touches

Beyond the prospecting flow above, Tenzo can send a handful of other scheduled communications. Each has its own setting and obeys the candidate’s email preferences:
  • Rejection email. Optionally sent 24 hours after a candidate enters Resume Rejected, rounded to outreach hours. Off by default. Enable under Settings → Rejection Emails.
  • Resume feedback email. Sent on the same cadence as rejection emails. On by default. Configure under Settings → Resume Feedback Emails.
  • Scheduling reminders. Pings to a candidate who agreed to schedule a call but hasn’t picked a time. These honor outreach hours.
  • Meeting reminders. SMS reminders 24 hours and 1 hour before a scheduled interview. Not bounded by outreach hours, because the meeting time itself is what’s being respected.
  • Video interview reminder emails. For candidates who self-scheduled a video interview, separate email reminders go out before the scheduled slot. Configure under Job Settings → Video Interview Outreach Settings → Reminder Emails (count and spacing are both configurable; default is 7 reminders, 12 hours apart).

Where to configure

BehaviorSetting
Outreach hours, weekend hoursSettings → Outreach Hours
Initial outreach methodJob Settings → Phone Call Outreach Settings → Initial Outreach Method
Retry count and spacingJob Settings → Phone Call Outreach Settings → Auto-Reschedule on Voicemail
Applicant outreach delayJob Settings → Phone Call Outreach Settings → Applicant Outreach Delay
Cooldown daysSettings → Candidate Cooldown Period
Rejection / resume feedback email togglesSettings → Rejection Emails, Resume Feedback Emails
Org-level defaults can be overridden per job. When a job sets its own value, that value fully replaces the org default for that job.