What Is an Outreach Flow?
An outreach flow is a structured sequence of communication steps that guides your engagement with a contact from first touch to final follow-up. Each step in a flow defines what kind of message to send (email, LinkedIn message, LinkedIn connection request, or phone call), when to send it relative to the previous step, and what the goal of that communication is. Think of a flow as your playbook for a specific type of outreach. Instead of improvising each interaction, you define the sequence once and then execute it consistently across every opportunity.Flows are the backbone of Recruitier’s outreach system. Every outreach message you send is tied to a step within a flow. This ensures complete tracking of all communication and makes it easy to see exactly where you stand with any opportunity.
Flow Structure
Every outreach flow consists of:- A type — whether it is tied to a job (
JOB), a company (COMPANY), saved as a reusable template (TEMPLATE), or archived (ARCHIVED). - A name — a descriptive label that helps you identify the flow (e.g., “Senior Developer Intro Sequence” or “New Client Pitch”).
- Ordered steps — each step has a channel, a timing delay, and an optional message. Steps execute in sequence, with the delay measured cumulatively from the flow’s creation date.
Steps are numbered starting from 0 (internally) and must have unique indices within a flow. You cannot have two steps with the same index. The step index determines the execution order of your outreach sequence. Steps are always added to the end of the sequence and cannot be reordered after creation — plan your step order before saving.
Creating a New Sequence from Scratch
Open the Sequence Editor
On the Outreach page, click the “Create Sequence” button in the Outreach Flows tab. This opens the sequence editor dialog where you define your sequence name and steps.
Name Your Sequence
Give the sequence a clear, descriptive name. Good names indicate the purpose: “Initial Client Outreach - IT Sector,” “Follow-Up Sequence - Senior Roles,” or “Cold LinkedIn Introduction.” You will thank yourself later when browsing a list of 20+ templates.
Add Steps
Build your sequence by clicking “Add Step” to add steps one at a time. For each step, configure three fields in a compact row:
- Name (optional) — A label for the step (e.g., “Introduction Email,” “LinkedIn Follow-Up”).
- Channel — Email Message, LinkedIn Message, LinkedIn Contact (connection request), or Call.
- Days — How many days after the previous step this step should be executed. The first step is always set to 0 (send immediately) and cannot be changed.
Review Your Steps
After adding all steps, review the sequence. You can remove steps by clicking the delete icon next to each one. If you need to change the order, remove and re-add steps in the desired sequence, since drag-and-drop reordering is not available.
Adding Steps to a Flow
Each step represents one action in your outreach sequence. Here is what each field means:| Field | Description | Example |
|---|---|---|
| Channel | The communication method for this step. Determines how the outreach is delivered. | EMAIL_MESSAGE, LINKEDIN_MESSAGE, LINKEDIN_CONTACT, CALL |
| Name | A short label describing the step’s purpose. Helps you identify steps at a glance. | ”Introduction Email,” “Follow-Up Call” |
| Delay in Days | Days to wait before executing this step, counted from the previous step’s scheduled date. | 0 (immediate), 3, 7 |
Example Flow: Standard Client Introduction
Here is a typical outreach sequence for introducing your recruitment services to a new prospect:| Step | Channel | Delay | Purpose |
|---|---|---|---|
| 1 | 0 days | Send a personalized introduction email explaining your services and referencing a specific job opening. | |
| 2 | LinkedIn Connection Request | 2 days | Connect with the hiring manager on LinkedIn with a short note referencing your email. |
| 3 | 5 days | Follow up on the introduction email with additional value (market insights, candidate availability). | |
| 4 | Phone Call | 3 days | Call the contact to discuss the opportunity directly. |
| 5 | LinkedIn Message | 4 days | Final follow-up via LinkedIn if no response has been received. |
Example Flow: Quick Follow-Up for Urgent Roles
For time-sensitive opportunities, use a compressed timeline:| Step | Channel | Delay | Purpose |
|---|---|---|---|
| 1 | 0 days | Direct email about the urgent role with candidate profiles ready. | |
| 2 | LinkedIn Message | 1 day | Quick LinkedIn follow-up referencing the email. |
| 3 | Phone Call | 1 day | Call to discuss immediate next steps. |
Choosing Channels Per Step
Each channel has its strengths. Here are guidelines for when to use each.Email (EMAIL_MESSAGE)
Best for detailed, professional first contact. Allows longer messages, rich text formatting, and formal structure. Use email when you need to explain your value proposition or share a pitch deck. Includes open and click tracking.
LinkedIn Message (LINKEDIN_MESSAGE)
Best for warm follow-ups after initial contact. LinkedIn messages are more personal and casual. Use when you already have a connection with the recipient. Messages should be shorter than email — 3-6 sentences.
LinkedIn Connection Request (LINKEDIN_CONTACT)
Best for establishing a new relationship. Include a personalized note (up to 300 characters) that references the context of your outreach. Always personalize — generic connection requests get ignored.
Phone Call (CALL)
Best for high-priority follow-ups and closing conversations. Use after email and LinkedIn touches have warmed up the contact. Log the call in your flow to maintain a complete outreach record.
Setting Timing Between Steps
Thedelay_in_days field controls the pacing of your outreach. Getting the timing right is crucial — too aggressive and you annoy prospects, too slow and you lose momentum.
When Recruitier calculates scheduled dates, it adds delays cumulatively. If Step 1 has a 0-day delay, Step 2 has a 3-day delay, and Step 3 has a 5-day delay, then Step 3 is scheduled for day 8 (0 + 3 + 5) after flow creation.
Template flows do not have scheduled dates because they are not tied to a specific opportunity. Scheduled dates are only calculated when a flow is created for an actual job or company. This means templates are purely structural — they define the channels and delays, and the dates are filled in when applied.
Editing Steps
After creating a sequence, you can modify it by clicking the pencil icon on the sequence card to open the editor. The following operations are available:- Edit a step: Click on a step to change its channel, name, or delay. The scheduled dates of subsequent steps will be recalculated automatically.
- Mark a step as done: In the step edit dialog, use the “Mark as done” checkbox to mark a step as completed. You can also uncheck it to mark it as incomplete.
- Delete a step: Click the delete icon on a step to remove it from the sequence. A confirmation dialog will appear. Subsequent steps shift up to fill the gap.
- Append a step: Click “Add Step” at the bottom to add a new step to the end of the sequence.
There is no drag-and-drop reordering of steps. Steps are always appended to the end. If you need a different order, delete the steps and re-add them in the desired sequence. Plan your step order before saving when creating a new sequence.
Saving Sequence Templates for Reuse
When you create a sequence that works well, save it as a template so you can apply it to future opportunities without rebuilding from scratch. There are two ways to create a template:- Create a template directly: On the Outreach page, click “Create Sequence” in the Outreach Flows tab. This creates a standalone template that is not tied to any job or company.
- Save as template during creation: When creating a job or company flow from a job or company detail page, check the “Save as template” checkbox. Optionally provide a separate template name. Recruitier will create both the active sequence (tied to the job/company) and a separate template copy. The template preserves the step structure and timing for future use.
Shared Templates
If you are part of an agency, you can mark templates as “shared.” Shared templates are visible to all members of your agency, promoting consistency across the team’s outreach efforts.| Template Type | Visibility | Best For |
|---|---|---|
| Personal | Only you | Individual outreach patterns, experimental sequences |
| Shared | All agency members | Standardized team workflows, proven sequences |
The sharing is controlled by a toggle switch that appears in the sequence editor when you are part of an agency. Any team member can create a shared template. The toggle is only available when editing an existing template, not during initial creation. Shared templates show the author’s name so you know who created them.
Applying Templates to Jobs
You can apply a saved template to a specific job by clicking “Use Sequence” on the template card. This opens a job selection dialog where you choose which job to apply the sequence to. Recruitier copies the template’s step structure into a new active flow linked to the selected job, calculating scheduled dates based on the current date. The original template remains unchanged.Best Practices
- Start simple. A 3-step flow (email, LinkedIn, follow-up email) is often more effective than a 7-step marathon. Test and iterate.
- Vary your channels. Contacting someone through email and LinkedIn shows persistence without being annoying on a single channel.
- Personalize every step. Templates define the structure, but each message should include specific details about the job, company, or candidate.
- Respect timing. Sending two emails in two days feels aggressive. Space your touches appropriately.
- Name flows descriptively. When you have 50 active flows, “Flow 1” and “Flow 2” are useless. Use names like “VP Engineering - Acme Corp” or “Q1 IT Client Development.”
- Build 3-4 standard templates. Create templates for your most common scenarios: candidate placement, business development, speculative placement, and job marketing. Then customize from there.
Advanced
How Flows Are Stored and Managed
Each outreach flow is stored as anOutreachFlow entity in the database with the following key properties:
- type: Determines the flow’s relationship —
JOBflows have a foreign key to a job record,COMPANYflows link to a company record,TEMPLATEflows stand alone, andARCHIVEDis a soft-delete state. - Unique constraints: The database enforces a unique constraint on job_id (one flow per job) and company_id (one flow per company). Attempting to create a second flow for a job that already has one will fail. This is by design — it prevents duplicate outreach to the same opportunity.
- is_shared: Controls visibility across agency members. Only applies to template flows.
How Step Scheduling Works Internally
Thescheduled_date for each step is computed, not stored statically. It is calculated as follows:
- Start with the flow’s creation date (the anchor date).
- For Step 0:
scheduled_date = creation_date + step_0.delay_in_days. - For Step N:
scheduled_date = step_(N-1).scheduled_date + step_N.delay_in_days.
scheduled_date is None because there is no anchor date. When a template is applied to a job or company, the new flow’s creation date becomes the anchor, and all scheduled dates are calculated from that point.
The Step Completion Pipeline
When you mark a step as completed, several things happen in sequence:- The step’s
completedflag is set totrueandcompleted_atis set to the current timestamp. - If the step has a message (email or LinkedIn), the message’s
statusis updated toSENT. - For contact channels (email, LinkedIn message, LinkedIn connection request, or call): the system checks for
candidate_job_matcheslinked to the same job. Any matches inpending,favorited, orreviewingstatus are automatically moved tocontacted. This pipeline integration only applies to job flows, not company or template flows. - The flow’s computed status is recalculated. If all steps are now complete, the flow status becomes
COMPLETED.
How Templates Are Applied to Records
When you apply a template to a job or company, the process works like this:- A new
OutreachFlowis created with the appropriate type (JOBorCOMPANY) and linked to the target record. - Each step from the template is duplicated into the new flow, preserving channels, names, and delays.
- Step indices are preserved (0, 1, 2, …) to maintain the original order.
- Scheduled dates are calculated using the new flow’s creation date as the anchor.
- The template itself is unchanged — it remains available for future use.
Business Logic Rules
One flow per record constraint
One flow per record constraint
The one-flow-per-job and one-flow-per-company constraints are enforced at the database level with unique indexes. If you need to restart outreach for a record, you must first archive the existing flow (changing its type to
ARCHIVED), which removes it from the unique constraint and frees the record for a new flow.Archived flows retain all their data — steps, messages, completion history — for audit and analysis purposes. They are simply filtered out of active views.Step ordering guarantees
Step ordering guarantees
Steps within a flow are guaranteed to have unique, sequential indices starting from 0. The system enforces this through:
- Validation on step creation (no duplicate indices).
- Automatic index recalculation on delete.
- The step_index is used for ordering in all queries and UI displays.
Status calculation priority
Status calculation priority
Flow status is always computed, never stored. The calculation follows this priority:
- If the flow type is
ARCHIVED, the status isARCHIVED. - If the flow has no steps, the status is
EMPTY. - If all steps are completed, the status is
COMPLETED. - If at least one step is completed, the status is
IN_PROGRESS. - If no steps are completed, the status is
NOT_STARTED.
Interaction with AI message generation
Interaction with AI message generation
When composing a message for a step, you can use AI-assisted generation. The AI receives:
- The step’s channel (to determine message length and format).
- The flow’s associated job or company context (title, description, contact details).
- Your selected tone of voice and pitch deck.
- The step’s position in the sequence (first touch vs. follow-up).
Power User Tips
- Clone and customize: Rather than creating flows from scratch each time, clone a high-performing template and tweak the delays or channels for the specific situation.
- Track conversion by template: Compare response rates across different templates to identify which outreach patterns work best for your market.
- Use shorter flows for warm leads: If you have an existing relationship with a company, a 2-step flow (email + call) is often sufficient. Save the 5-step sequences for cold outreach.
- Build channel-specific templates: Create separate templates for “Email-heavy” and “LinkedIn-heavy” approaches. Some markets respond better to one channel over the other.
- Archive aggressively: When outreach is done or the opportunity is cold, archive the flow. This keeps your active flow list clean and makes it easier to focus on current opportunities.

