How to Build a JaicobAI Agent

Step-by-step guide for building automated outreach and sourcing workflows.

What is a JaicobAI Agent?

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.

In This Guide

  1. Key Concepts
  2. Available Function Blocks
  3. Step 1: Set the Trigger
  4. Step 2: Configure Sourcing
  5. Step 3: Add a Review Delay
  6. Step 4: LinkedIn Connection Request
  7. Step 5: Build the Branch
  8. Step 6: LinkedIn DM Sequence
  9. Step 7: Email Sequence
  10. Working with Variables
  11. Example Workflows
  12. Pre-Publish Checklist
  13. Troubleshooting
1

Key Concepts

BD vs. Recruiting: Which blocks to use

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.

How sourcing works

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).

Channels available

ChannelWhen to UseNotes
LinkedIn CRFirst touch for 2nd/3rd degreeBlank CRs get higher acceptance rates
LinkedIn DMAfter CR acceptedRequires Leads data block in workflow
LinkedIn InMailNon-connectionsRequires Recruiter seat ($600/mo). Be aware of how many InMail credits each agent will burn - they go fast.
EmailFallback when CR not acceptedJaicobAI finds the email address during sourcing - you don't need to provide it
WhatsAppFollow-up or interviewsNeeds phone with country code
SMS/iMessageCandidate screeningSends from Twilio number
Use agents for outreach, NOT the Copilot. The Copilot and agents share the same LinkedIn rate limit credits. If you use the Copilot to send messages while an agent is running, they'll compete for capacity and both will slow down.
2

Available Function Blocks

When you click + between steps, you'll see this menu. Here's what each block does:

Control Workflow

Control

Situations

If/then branching. "What happens if..." Creates two paths based on a condition (e.g., CR accepted vs. not).

Control

Filter

Filter records by conditions. Use to narrow down leads before a step.

Control

Delay

Wait X days before continuing. Use between messages so you're not spamming.

Leads / Sourcing

Sourcing

Source candidates

AI finds people to recruit based on your criteria.

Sourcing

Source prospects

AI finds people to sell to based on your criteria.

Sourcing

LinkedIn CR

Send a connection request. Can include a message or be blank.

Data

Leads

Pulls lead data into the workflow so downstream blocks can use it. Required before LinkedIn message blocks in branched workflows.

Messaging

Messaging

LinkedIn message

Send a DM to a connected contact. Requires lead data upstream.

Messaging

LinkedIn InMail

Send InMail to non-connections. Requires Recruiter seat.

Messaging

Send email

Send from your connected inbox. Needs email address from sourcing.

Messaging

WhatsApp message

Send a WhatsApp message. Needs phone number with country code.

Data / Details

Data

Applications / Candidates / Vacancies

Fetch existing records to use in later steps. Needed for placeholders like job title, location, etc.

Data

Update application / candidate

Change a record's status, stage, or fields as part of the workflow.

3
Build Step

Step 1: Set the Trigger

The first block in every agent is the Trigger. This determines when the workflow runs.

Trigger TypeBest For
Interval (daily, weekly)Ongoing sourcing + outreach. Runs automatically.
New vacancy createdAuto-source candidates when a new job is posted.
Application stage changeTrigger follow-ups when a candidate moves stages.
ManualOne-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.

4
Build Step

Step 2: Configure Sourcing

Add Source prospects (for BD) or Source candidates (for recruiting) after the trigger.

Fields to configure

FieldWhat It DoesTips
LinkedIn accountWhich account sends the outreachMust be connected in Settings > App Store
Sourcing preferenceSlider: Quantity / Balanced / QualityStart with Balanced. Adjust after seeing results.
Role or titleJob titles to targetAdd multiple variations. AI Expansion catches synonyms.
LocationsGeographic filter"United States" for broad, or specific states/cities
IndustriesIndustry filterBe specific - "Manufacturing" is broad, add sub-industries
Exclude industriesRemove irrelevant industriesHealthcare, Education, Government are common excludes
Exclude companiesCompanies to never targetCurrent clients, competitors, anyone off-limits
SeniorityTarget levelMake this relevant to who you're searching for
Exclude seniorityLevels to skipMake this relevant to who you're searching for
Network distance1st, 2nd, 3rd degreeSee note below
Think twice about 1st degree connections. 1st degree connections are people you're already connected with. For those, it's probably worth doing a very specific campaign or manual outreach rather than running them through an automated cold sequence.
Excluded companies must be kept up to date. If a company becomes a client, add them to the exclude list on every active agent. Employees of current clients should never receive BD outreach.
5
Build Step

Step 3: Add a Review Delay

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.

6
Build Step

Step 4: LinkedIn Connection Request

Add LinkedIn connection request after the review delay.

Best practice: send blank CRs. JaicobAI's data shows that connection requests with no message get a higher acceptance rate than those with a message. The CR just needs to get accepted - the actual pitch happens in the DM sequence after.

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.

7
Build Step

Step 5: Build the Branch (Situations)

Add a Situations block. This creates two "If / then" paths based on whether the CR was accepted.

How to configure it

  1. Click the left "If / then" block
  2. Open the "Select field..." dropdown
  3. Choose Invitation (under "LinkedIn connection request")
  4. Set condition: is equal to > Accepted
  5. Configure the right branch the same way with Not Accepted
Situations - Invitation accepted? | | LEFT: ACCEPTED RIGHT: NOT ACCEPTED | | LinkedIn DMs Email sequence (they're connected, (they didn't accept, message directly) try email instead)

Now build out each branch with its own message sequence.

8
Build Step

Step 6: LinkedIn DM Sequence (Left Branch)

You must add a "Leads" data block first. Before adding LinkedIn message blocks on a branch, add a Leads block (under "Use details" in the function menu). Without it, LinkedIn message will be greyed out with "Requires lead data to be available in the workflow." Leave the Leads block config empty - it inherits from Source prospects upstream.

After the Leads block, build your DM sequence with Delay blocks between each message:

Leads (data block - unlocks LinkedIn messaging) | LinkedIn message - DM 1 (use first name variable) | Delay - 3-5 days | LinkedIn message - DM 2 (no variables) | Delay - 4-6 days | LinkedIn message - DM 3 (no variables) | [END]

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.

9
Build Step

Step 7: Email Sequence (Right Branch)

Use one of our alternate domains. Never use the .com. Use the different email domains we have set up for outreach. Do not send automated cold email from the main .com domain. Burning your primary domain's reputation is not recoverable.

Build the email branch with Send email blocks and Delay blocks:

Send email - Email 1 | Delay - 5 days | Send email - Email 2 | Delay - 7 days | Send email - Email 3 | [END]

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.

10
Reference

Working with Variables (Placeholders)

Click the + icon next to any message field to insert a variable. Available variables depend on what upstream blocks exist in the workflow.

VariableSourceExample Output
{Lead first name}Source prospects / candidatesSarah
{Lead full name}Source prospects / candidatesSarah Johnson
{Lead last name}Source prospects / candidatesJohnson
{Lead email}Source prospects / candidatessarah@company.com
{Lead phone}Source prospects / candidates+1-555-123-4567
{Lead LinkedIn url}Source prospects / candidateslinkedin.com/in/sarahjohnson
{Invitation}LinkedIn CR blockAccepted / Not Accepted
Variables only work if an upstream block provides the data. If you see an empty dropdown when clicking +, it means there's no sourcing or data-fetch block earlier in the workflow. Add one above the messaging block.
11
Reference

Example Workflows

Common agent patterns you can build. Clone and customize.

BD Outreach Agent (prospects)

Trigger: Daily Source prospects (title + industry + seniority filters) Delay: 1-2 days (review) LinkedIn CR (blank) Delay: 4 days Situations: Invitation accepted? YES -> Leads -> DM 1 -> Delay -> DM 2 -> Delay -> DM 3 NO -> Email 1 -> Delay -> Email 2 -> Delay -> Email 3

Candidate Sourcing Agent (recruiting)

Trigger: New vacancy created Fetch vacancies (pulls job details for placeholders) Source candidates (title + skills + location) Delay: 2 days (review) LinkedIn CR (blank or with short intro) Delay: 3 days Situations: Invitation accepted? YES -> Leads -> DM about the role -> Delay -> Follow-up DM NO -> Email about the role -> Delay -> Follow-up email

Reactivation Agent (re-engage cold leads)

Trigger: Weekly or manual Leads (filter: no reply in 60+ days) LinkedIn message or Email (fresh angle, new value prop) Delay: 5 days LinkedIn message or Email (final touch) [END]
12
Before You Publish

Pre-Publish Checklist

Run through this before hitting Publish on any agent.

?

Troubleshooting

ProblemFix
"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.