Step-by-step guide for building automated outreach and sourcing workflows.
Agents are automated workflows that run in the background on JaicobAI. You define a trigger (when it runs), a source (who it targets), and a sequence of actions (what it does). The agent runs daily, finds new people, and sends outreach on your behalf.
You can use agents for BD outreach (finding prospects to sell to) or candidate sourcing (finding people to recruit). The workflow builder is the same - the difference is which function blocks you choose and what copy you write.
JaicobAI also has Applicant Screening Agents (automated post-application follow-up and screening) and Text Screening Agents (SMS-based candidate screening after they apply). Tutorials for those are coming later - this guide covers the sourcing and outreach workflow.
| If You're Doing... | Use This Sourcing Block |
|---|---|
| BD outreach (finding companies to sell to) | Source prospects |
| Candidate sourcing (finding people to fill roles) | Source candidates |
Everything else in the workflow (delays, messages, branches) works the same for both.
JaicobAI's AI sourcing finds people based on the criteria you define (title, location, industry, seniority). It does NOT depend on your LinkedIn search - it uses its own data layer and waterfall enrichment to find contact details (email, phone, LinkedIn URL).
Sourced people appear under Leads in the JaicobAI menu. You can review them before outreach fires (using a delay block).
| Channel | When to Use | Notes |
|---|---|---|
| LinkedIn CR | First touch for 2nd/3rd degree | Blank CRs get higher acceptance rates |
| LinkedIn DM | After CR accepted | Requires Leads data block in workflow |
| LinkedIn InMail | Non-connections | Requires Recruiter seat ($600/mo). Be aware of how many InMail credits each agent will burn - they go fast. |
| Fallback when CR not accepted | JaicobAI finds the email address during sourcing - you don't need to provide it | |
| Follow-up or interviews | Needs phone with country code | |
| SMS/iMessage | Candidate screening | Sends from Twilio number |
When you click + between steps, you'll see this menu. Here's what each block does:
If/then branching. "What happens if..." Creates two paths based on a condition (e.g., CR accepted vs. not).
Filter records by conditions. Use to narrow down leads before a step.
Wait X days before continuing. Use between messages so you're not spamming.
AI finds people to recruit based on your criteria.
AI finds people to sell to based on your criteria.
Send a connection request. Can include a message or be blank.
Pulls lead data into the workflow so downstream blocks can use it. Required before LinkedIn message blocks in branched workflows.
Send a DM to a connected contact. Requires lead data upstream.
Send InMail to non-connections. Requires Recruiter seat.
Send from your connected inbox. Needs email address from sourcing.
Send a WhatsApp message. Needs phone number with country code.
Fetch existing records to use in later steps. Needed for placeholders like job title, location, etc.
Change a record's status, stage, or fields as part of the workflow.
The first block in every agent is the Trigger. This determines when the workflow runs.
| Trigger Type | Best For |
|---|---|
| Interval (daily, weekly) | Ongoing sourcing + outreach. Runs automatically. |
| New vacancy created | Auto-source candidates when a new job is posted. |
| Application stage change | Trigger follow-ups when a candidate moves stages. |
| Manual | One-off campaigns you run on demand. |
For most outreach agents, use Interval - Daily. The agent will source a new batch of people each morning and feed them into the sequence.
Add Source prospects (for BD) or Source candidates (for recruiting) after the trigger.
| Field | What It Does | Tips |
|---|---|---|
| LinkedIn account | Which account sends the outreach | Must be connected in Settings > App Store |
| Sourcing preference | Slider: Quantity / Balanced / Quality | Start with Balanced. Adjust after seeing results. |
| Role or title | Job titles to target | Add multiple variations. AI Expansion catches synonyms. |
| Locations | Geographic filter | "United States" for broad, or specific states/cities |
| Industries | Industry filter | Be specific - "Manufacturing" is broad, add sub-industries |
| Exclude industries | Remove irrelevant industries | Healthcare, Education, Government are common excludes |
| Exclude companies | Companies to never target | Current clients, competitors, anyone off-limits |
| Seniority | Target level | Make this relevant to who you're searching for |
| Exclude seniority | Levels to skip | Make this relevant to who you're searching for |
| Network distance | 1st, 2nd, 3rd degree | See note below |
Add a Delay block (1-2 days) between sourcing and the first outreach action.
This gives you a window to review sourced leads in JaicobAI before any messages go out. Check for:
Once you trust the sourcing quality after a few weeks, you can shorten or remove this delay.
Add LinkedIn connection request after the review delay.
After the CR, add another Delay block (3-5 days). This gives the prospect time to accept before the workflow decides what to do next.
Add a Situations block. This creates two "If / then" paths based on whether the CR was accepted.
Now build out each branch with its own message sequence.
After the Leads block, build your DM sequence with Delay blocks between each message:
Write your own copy for each DM. Click the + button in the message editor to insert variables like {Lead first name}. Keep it conversational - these are LinkedIn messages, not formal emails.
Build the email branch with Send email blocks and Delay blocks:
Write your own copy for each email. Each Send email block has fields for subject line, body, and you can insert variables using the + button. Give each email a unique subject line and make sure each message gives the reader a new reason to respond.
Click the + icon next to any message field to insert a variable. Available variables depend on what upstream blocks exist in the workflow.
| Variable | Source | Example Output |
|---|---|---|
| {Lead first name} | Source prospects / candidates | Sarah |
| {Lead full name} | Source prospects / candidates | Sarah Johnson |
| {Lead last name} | Source prospects / candidates | Johnson |
| {Lead email} | Source prospects / candidates | sarah@company.com |
| {Lead phone} | Source prospects / candidates | +1-555-123-4567 |
| {Lead LinkedIn url} | Source prospects / candidates | linkedin.com/in/sarahjohnson |
| {Invitation} | LinkedIn CR block | Accepted / Not Accepted |
Common agent patterns you can build. Clone and customize.
Run through this before hitting Publish on any agent.
| Problem | Fix |
|---|---|
| "LinkedIn message" is greyed out | Add a Leads block (under "Use details") before the LinkedIn message block. It needs lead data in the workflow to unlock. |
| Variable dropdown is empty | No upstream block is providing data. Add a sourcing block or Fetch/Leads block earlier in the workflow. |
| Agent is sending to 1st degree connections | Edit the sourcing block and remove 1st degree from Network distance. |
| Getting irrelevant leads (wrong industry) | Add more specific industries and use the Exclude industries field. Switch sourcing preference closer to Quality. |
| Email bouncing or low deliverability | Check that your sub-domain inbox has fully warmed up. Pause the agent and let it warm for another week. |
| Agent isn't running | Make sure the agent is Published (not Draft). Check the trigger interval is set correctly. |
For anything else, use the chatbot at help.jaicob.ai or message the JaicobAI team directly.