How to Integrate Job Boards with Keap CRM: A Recruiter’s Automation Guide
Every minute a recruiter spends copying an applicant’s name, email, and résumé details from a job board into a CRM is a minute not spent evaluating talent. Manual application processing isn’t a minor inconvenience — Parseur’s research on manual data entry costs estimates organizations spend roughly $28,500 per employee per year on manual data handling, and recruiting intake is one of the largest contributors. The fix is a direct, automated pipeline from your job boards into Keap CRM: applications arrive, records are created, tags are applied, and follow-up sequences fire — all without a recruiter touching a keyboard.
This guide is the operational complement to the broader Keap CRM recruiting automation pillar. That resource covers the full strategic framework; this one covers the exact build sequence for connecting your job boards to Keap CRM so that intake runs on autopilot.
Before You Start
Complete these prerequisites before opening your automation platform. Skipping them produces a functional-looking integration that collapses under real hiring volume.
- Map your tag taxonomy first. Agree on role-level tags (e.g., Role::SalesRep), source tags (e.g., Source::Indeed), and stage tags (e.g., Stage::Applied) before writing a single workflow step. Undocumented tagging produces an unusable CRM within 90 days. See the guide on advanced tags and custom fields for candidate profiling for a full taxonomy framework.
- Audit your Keap CRM custom fields. You need fields for: Application Source, Role Applied For, Application Date, Screening Score, and Current Pipeline Stage. Create any that are missing before the build.
- Confirm your job board’s trigger method. High-volume boards support outbound webhooks (preferred). Boards without webhooks require email parsing or scheduled API polling. Know which method you’re using before Step 1.
- Access to a low-code automation platform. You need a platform that can receive a webhook or parse an email, map fields, and make API calls to Keap. Make.com is the platform we use and recommend for this build.
- Keap API key. Retrieve this from Keap’s developer settings. You’ll need it to authenticate your automation platform’s connection to Keap.
- Time budget. A single board, basic tagging, and a three-email follow-up sequence takes four to eight hours to build and test. Budget accordingly before starting.
Step 1 — Define Your Pipeline Stages and Contact Schema in Keap CRM
Before any data flows in, Keap CRM must be structured to receive it. A contact record created without a defined schema becomes unqueryable noise.
Create the Custom Fields
In Keap CRM, navigate to CRM Settings → Custom Fields → Contacts and create the following fields if they don’t exist:
- Application Source (Dropdown): Values matching each job board you use.
- Role Applied For (Text): Free text populated by the automation.
- Application Date (Date): Populated at contact creation time.
- Pipeline Stage (Dropdown): Applied, Pre-Screen Sent, Interview Scheduled, Offer Extended, Hired, Declined.
- Screening Score (Number): Optional; populate later if using automated screening questions.
Create Your Tag Structure
In Keap CRM, navigate to CRM → Tags → Add Category. Create two tag categories: Source and Role. Under Source, create one tag per job board. Under Role, create one tag per open position category. These will be applied automatically at contact creation — but they must exist in Keap before the automation can reference them.
Build the Pipeline
In Keap CRM, navigate to CRM → Pipeline and create a “Candidate Pipeline” with stages matching your Pipeline Stage dropdown values. Each stage should have an owner assigned and a target SLA (e.g., pre-screen within 24 hours of application).
Checkpoint: You should now have a Keap CRM contact schema with five custom fields, a two-category tag library with all source and role tags created, and a candidate pipeline with defined stages. Do not proceed to Step 2 without confirming all three exist.
Step 2 — Configure the Job Board Trigger
The trigger is the moment an application on the job board fires an event that your automation platform receives. Choose the method that matches your board’s capabilities.
Method A: Webhook (Preferred)
If your job board supports outbound webhooks on new application events:
- In your automation platform, create a new scenario and add a webhook trigger module. Copy the generated webhook URL.
- In your job board’s settings, navigate to Integrations or Developer Settings and paste the webhook URL as the endpoint for “New Application” events.
- Submit a test application on the job board. Return to your automation platform and confirm the webhook received the payload. Inspect the payload structure — note the field names for applicant name, email, phone, applied role, and application date.
Method B: Email Parsing
If your job board sends a notification email for each new application but does not support webhooks:
- In your automation platform, create an email parsing address (a unique inbox that processes inbound email).
- In your job board’s notification settings, set the “New Application” alert email to send to that parsing address.
- Submit a test application and confirm the parsing module receives and parses the email correctly. Map parsed fields to the applicant’s name, email, role, and application date.
- Note: Email parsing is less reliable than webhooks for high-volume boards. If you’re processing more than 50 applications per day from a single source, push the board vendor for webhook support before committing to this method.
Checkpoint: A test application has been submitted, your automation platform received the event, and you can identify the field names for name, email, phone, role, and application date in the received payload.
Step 3 — Build the Find-or-Create Contact Step in Keap CRM
Never create a contact without first checking for an existing record. Duplicates are the fastest way to corrupt your candidate database and undermine the pipeline reporting you’re building toward.
- In your automation platform, after the trigger module, add a “Search Contacts” action for Keap CRM. Configure it to search by the email address parsed from the application payload.
- Add a conditional router after the search:
- Route A (Contact Found): Update the existing contact record — add the new source tag, update the Role Applied For field if different, and log the new Application Date. Do not overwrite existing data.
- Route B (Contact Not Found): Create a new contact record and populate all custom fields from the application payload.
- On both routes, apply the correct Source tag and Role tag immediately at this step. Tags applied at creation prevent the data quality decay that occurs when tagging is deferred to a later manual step.
- Set the Pipeline Stage field to “Applied” on contact creation.
This approach aligns with what McKinsey research on workflow automation identifies as a core principle: deterministic rules (match on email, then branch) should handle high-frequency, low-judgment tasks so human attention is reserved for evaluation decisions.
Checkpoint: Run two test applications — one with a new email address, one with an email address that already exists as a Keap contact. Confirm the first creates a new record and the second updates the existing record without duplication.
Step 4 — Populate All Custom Fields from the Application Payload
A contact record is only as useful as the data inside it. Map every available field from the application payload to the corresponding Keap custom field so that recruiters never need to return to the job board to retrieve application details.
Standard field mappings for most job board payloads:
| Application Payload Field | Keap CRM Destination |
|---|---|
| Applicant First Name | Contact First Name |
| Applicant Last Name | Contact Last Name |
| Email Address | Contact Email (Primary) |
| Phone Number | Contact Phone (Primary) |
| Job Title Applied For | Custom Field: Role Applied For |
| Job Board Name | Custom Field: Application Source |
| Submission Timestamp | Custom Field: Application Date |
| Résumé URL or Attachment | Contact Note (linked file or URL) |
If the job board payload includes screening question responses, map each answer to a dedicated custom field. This enables the candidate segmentation workflows described in the guide on how to segment your talent pool in Keap CRM.
Checkpoint: Open a test contact record created by the automation. Every field in the table above should contain data from the test application. Any blank field indicates a mapping error — return to the automation and correct it before proceeding.
Step 5 — Trigger the Acknowledgment Sequence in Keap CRM
Candidate experience research from Harvard Business Review confirms that response time is the single most cited factor in candidates’ perception of an employer’s professionalism. An automated acknowledgment email sent within minutes of application submission is the highest-ROI communication your recruiting process can produce — and it costs nothing once built.
In your automation platform, after the contact creation/update step, add an “Apply Tag” action that fires a Keap automation sequence trigger tag (e.g., Trigger::AppReceived). This tag triggers a Keap Campaign Builder sequence.
Build the Acknowledgment Sequence in Keap Campaign Builder
- In Keap CRM, navigate to Campaigns → New Campaign. Create a sequence triggered by the Trigger::AppReceived tag.
- Email 1 — Immediate (0 delay): Application confirmation. Use merge fields to pull in the candidate’s first name and the Role Applied For custom field. State clearly: application received, what happens next, and the expected timeline. Remove the trigger tag at the end of this email step so it can be reapplied for future applications.
- Email 2 — Day 2 (if no stage change has occurred): Pre-screening invitation or status update. Link to a pre-screen form if your process includes one. If the candidate has already been moved to a later pipeline stage by this point, an exit condition on the sequence should suppress this email.
- Email 3 — Day 5 (if still in Applied stage): Follow-up touch. Reiterate interest, provide a contact point for questions. This email is suppressed if the candidate has advanced or been declined.
Exit conditions prevent candidates who have moved forward in the pipeline from receiving messages designed for the top of the funnel — a detail that matters enormously for the experience improvements detailed in the guide on elevating candidate experience with Keap CRM.
Checkpoint: Submit a test application. Within three minutes, confirm the acknowledgment email arrived in the test inbox with the correct merge field values. Check that the Keap contact record shows the sequence as active.
Step 6 — Add the Candidate to the Pipeline and Assign an Owner
A contact record without a pipeline entry is invisible to the recruiting team’s daily workflow. Every new applicant must be added to the Candidate Pipeline as a deal/opportunity record at the moment of creation, not as an afterthought.
- In your automation platform, after the contact creation step, add a “Create Opportunity” or “Create Pipeline Deal” action in Keap CRM.
- Link the opportunity to the contact record created in Step 3.
- Set the Stage to “Applied.”
- Set the Title to a combination of the candidate’s name and the role they applied for (e.g., “Jane Smith — Sales Rep”).
- Assign the opportunity to the recruiter responsible for that role. If ownership varies by job board or role, use a conditional router in your automation to assign based on the Role Applied For field value.
Gartner research on talent acquisition operations identifies pipeline visibility as the primary driver of recruiter efficiency — recruiters who can see all active candidates in a structured stage view make faster progression decisions than those relying on inbox triage.
Checkpoint: Open the Keap CRM pipeline view. The test candidate should appear as a new deal in the “Applied” stage, titled correctly, with an assigned owner.
Step 7 — Connect Additional Job Boards Using the Same Workflow
The workflow built in Steps 1–6 is board-agnostic. Adding a second or third job board requires only a new trigger — the field mapping, contact logic, tagging, sequence enrollment, and pipeline creation steps are reused.
- In your automation platform, create a new scenario for each additional job board. The trigger is board-specific (each board has its own webhook URL or parsing address).
- The remaining steps — find-or-create contact, populate custom fields, apply tags, enroll sequence, create pipeline deal — are either cloned from the original scenario or, on platforms that support it, routed through a shared sub-workflow.
- The only board-specific configuration is the Source tag applied at Step 3. Each board gets its own Source tag so that pipeline reporting can attribute candidates to their origin board.
- Test each new board with a separate test application before going live. Do not assume the payload structure is identical across boards — field names vary and must be remapped per source.
Source attribution at this level of granularity is what enables the cost-per-hire-by-board analysis covered in the guide on tracking recruiting metrics in Keap CRM. SHRM data shows cost-per-hire averages $4,129 across industries — knowing which boards drive that cost up or down is a direct input to budget decisions.
Checkpoint: Submit a test application from each connected board. Confirm each produces a correctly tagged, correctly attributed contact record in Keap CRM with no duplicate records created.
How to Know It Worked
Run this verification protocol at launch and repeat weekly for the first month:
- Contact creation accuracy: Submit a test application from each board. Every test should produce a contact record with 100% of mapped fields populated. Any blank field is a mapping error.
- Deduplication: Submit two test applications from the same email address via different boards. The result should be one contact record with two source tags applied — not two separate records.
- Tag audit: Filter contacts by each Source tag. Counts should match your test application submissions. Any discrepancy indicates a tag-application failure in the workflow.
- Sequence enrollment: Confirm each test contact is enrolled in the acknowledgment sequence. Check that Email 1 fired within three minutes of contact creation.
- Pipeline visibility: Open the candidate pipeline. Every test contact should appear as a deal in the “Applied” stage with correct title and assigned owner.
- Reporting baseline: After two weeks of live operation, pull a source attribution report from Keap CRM. If any contacts show a blank Application Source field, the field mapping in that board’s workflow has a gap.
Common Mistakes and How to Avoid Them
Mistake 1: Building the automation before defining the tag taxonomy
Tags applied inconsistently from day one cannot be corrected at scale without a full database audit. Define the complete tag structure, get team sign-off, and create every tag in Keap before starting the build.
Mistake 2: Building intake automation without building the follow-up sequence
Faster data capture with slow candidate communication produces a more organized version of the original bottleneck. Both systems go live together. Asana’s Anatomy of Work research shows that context-switching between manual follow-up tasks is one of the top causes of recruiter productivity loss — automation eliminates that entirely when both halves are live.
Mistake 3: Using CSV exports as the integration method
Scheduled CSV exports from job boards introduce a delay of hours between application submission and CRM entry. During that window, candidates may receive competitor outreach, withdraw, or form a negative impression. Webhooks or email parsing — not CSV exports — are the only real-time methods.
Mistake 4: Skipping the find-or-create logic
Creating a new contact on every trigger, without checking for existing records, produces duplicate contacts within days on any multi-board setup. The find-or-create pattern is not optional.
Mistake 5: Assigning all candidates to a single recruiter
A static owner assignment rule means one recruiter’s pipeline fills while others sit empty. Build conditional ownership routing based on role or location from the start — it takes fifteen minutes and prevents a significant workload imbalance problem downstream.
Next Steps: From Intake to Full Pipeline Automation
A working job board integration is the foundation layer of recruiting automation — not the complete system. Once intake runs cleanly, the next build priorities are:
- Stage-based sequence branching: Different emails fire based on which pipeline stage a candidate enters — pre-screen, interview scheduled, offer extended. This is the logical extension of the acknowledgment sequence built in Step 5.
- Screening score automation: Route pre-screen form responses into a scoring formula that updates the Screening Score custom field and applies a qualification tag automatically.
- Passive candidate re-engagement: Candidates who were not hired for one role become a talent pool for future openings. The guide on Keap CRM for passive candidate engagement covers this layer in detail — it’s where the long-term ROI of a well-structured CRM becomes most visible.
For a complete sequenced build plan covering all of these layers, start with the Keap CRM implementation checklist for recruitment. And if reducing time-to-hire is the primary business objective, the guide on cutting time-to-hire with Keap CRM automation maps the specific workflow levers that produce measurable speed improvements.
The job board integration built in this guide is one of the highest-leverage automation builds available to a recruiting team. It eliminates manual data entry, enforces data quality from the first touchpoint, and ensures every candidate enters a structured, responsive experience — without any recruiter intervention. Build it once. Let it run.




