Configure Automated Enrichment Flow
Your org already has an Enrich with Amplify quick action on the Job record that uses AI to generate an external job posting (title, description, responsibilities, and education and experience requirements) from the job's existing details. The work happens in a headless subflow named Enrich Record (AFA), which has no screen and needs only the Job record ID as input.
Because the subflow is already built and packaged, Salesforce admins can automate enrichment by building record-triggered flow that calls the exisitng subflow. You don't rebuild any AI logic or create new fields.
Use this topic to automatically run Amplify Enrich on Job records in Salesforce, so qualifying jobs get an external job posting without anyone having to open the Jon and click Enrich with Amplify. It also covers how to run enrichment as a scheduled bulk process across many jobs at once, with tracking of which jobs succeeded and which failed.
Before You Begin
Confirm your org has the following:
-
The BHRC Amplify Actions package, which provides the Enrich with Amplify quick action and its underlying flows.
-
The BHRC Agentforce for Professionals package, which provides the AF4PR_Create_Job_Posting prompt template.
-
A Salesforce Agentforce license.
-
The AFA_Agentforce_Actions permission set (Models API access) and Read/Write access to the Job object (TR1__Job__c) for the users who own the jobs.
When a user clicks Enrich with Amplify manually, button visibility and profile access limit who can run it. A record-triggered flow runs regardless of who last edited the record. Decide whether to restrict automatic enrichment to jobs owned by users with the AFA_Agentforce_Actions permission set, or rely on your trigger criteria to control which jobs qualify.
Automate Enrichment with a Record-Triggered Flow
Create the Flow
-
Navigate to .
-
Click New Flow.
-
Select Record-Triggered Flow.
-
Configure the trigger:
-
Object: Job (TR1__Job__c)
-
Trigger the flow when: A record is created or updated
-
Trigger execution: At the start of the transaction
-
-
Click Done.
Add a Decision for Your Trigger Criteria
-
Click + New Element and select Decision.
-
Name the decision Should_Enrich_Job.
-
Add a rule with the following conditions, combined with AND:
Condition Field operator Value Record Type Check
$Record.RecordType.DeveloperName Equals Job
$Record.TR1__Job_Status__c In Open,Draft,Pending
$Record.On_Hold__c Equals false
-
Set Outcome Label to Proceed.
-
Click Done.
Adjust the criteria to fit your org. Common variations include:
-
Multiple record type: Job, Permanent_Job, Contract_Job
-
Different statuses:Open, Posted, In_Review.
-
Other exclusions that use your org's own fields.
Call the Enrichment Subflow
-
On the Proceed path, click + New Element and select Subflow.
-
Select the flow named Enrich Record (AFA).
-
Set the input recordId to $Record.Id.
-
Click Done.
The subflow handles the prompt template, field mapping, and output parsing, exactly as it does when a user clicks Enrich with Amplify.
Handle Failures (Recommended)
The subflow returns isSuccess and errorMessage outputs.
-
Add a Decision after the subflow call that checks whether isSuccess equals false.
-
On the failure path, choose how to respond:
-
Log the failure to a tracking object. The Schedule Bulk Enrichment With Tracking process later in this topic describes one.
-
Send an email alert to an admin.
-
Leave the Job as is for manual retry.
-
Save and Activate the Flow
-
Click Save.
-
Enter a flow name, for example Auto Enrich Job.
-
Enter a description, for example "Automatically runs the existing Enrich with Amplify logic for jobs that match criteria."
-
Click Save, and then click Activate.
Test the Auto-Enrichment Flow
-
Create a test Job record:
-
Open the Job object and click New.
-
Enter enough detail for the AI to work with:
-
Job Title: "Senior Software Engineer"
-
Job Status: Open (must match your criteria)
-
Record Type: Job (must match your criteria)
-
On Hold: cleared (must match your exclusion criteria)
-
Client Job Description or Skills: a few sentences. The AI grounds the posting on these fields.
-
-
Click Save.
-
-
Wait 5 to 10 seconds for the flow to run, and then refresh the Job record.
-
Confirm the flow populated these fields:
-
TR1__External_Job_Title__c
-
TR1__Client_Description__c
-
TR1__Responsibilities__c
-
TR1__Education_Requirements__c
-
TR1__Experience_Requirements__c
-
-
Test your exclusion logic. Create another Job with the status On Hold and confirm enrichment does not run.
Troubleshoot Enrichment That Doesn't Run
If enrichment doesn't happen, check the following:
-
Flow debug logs: Navigate to , open your flow, and click Show Debug. Create a test Job and confirm the decision logic evaluated correctly and the subflow ran.
-
Manual button: Click Enrich with Amplify directly on a Job. If it fails too, the issue is with the underlying package or configuration, not your new flow.
-
Criteria: Verify the record type, status, and On Hold values on the test record match your decision criteria.
-
API limits: Navigate to and check API Usage to confirm you haven't hit prompt template rate limits.
Modify Your Trigger Criteria
To change which jobs qualify for auto-enrichment:
-
Navigate to and open your flow.
-
Click Edit.
-
Click the Should_Enrich_Job decision and change the conditions.
-
Click Save.
You don't need to deactivate and reactivate the flow. Changes take effect on the next Job creation or update.
Chain Enrichment into AI Screening (Optional)
After a job posting is enriched, you can hand the job to the existing screening questions pipeline. You don't build anything new to generate questions.
The pipeline works as follows:
-
The AI Screening Status field (AFA_AI_Screening_Status__c) on the Job drives the process. Setting it to Questions Requested triggers the packaged automation (Flow:AF4PR_Generate_Screening_Agent_Questions_For_Job), which generates screening questions and creates the underlying Questionnaire__c and Single_Use_Question__c records.
-
After questions generate, the status advances automatically. The questions appear in the existing Screening Questions screen flow.
-
The Screening Agent Questions (JSON) field (AFA_Screening_Agent_Questions__c) is a machine-readable export that stays in sync automatically for the Bullhorn Automation integration. You don't populate or read it yourself.
To chain your enrichment flow into the pipeline:
-
In your enrichment flow, after the subflow call succeeds (isSuccess equals true), add an Update Records element on the same Job.
-
Set AI Screening Status (AFA_AI_Screening_Status__c) to Questions Requested.
-
Click Save and activate the flow.
This single field update is the entire integration point. The packaged screening automation uses the newly enriched job posting as context.
Add this step only if every enriched job should move straight into AI screening. If a recruiter should review the enriched posting first, leave it out.
Schedule Bulk Enrichment with Tracking
To enrich many jobs at once, such as every open job that's missing a posting, build a scheduled process. The record-triggered flow handles jobs one at a time as they change, so a backlog needs a process that runs on a schedule, stays within per-transaction limits, and records which jobs succeeded or failed.
Bullhorn doesn't provide a packaged batch or scheduled job for bulk enrichment. The steps in this section are a from-scratch design, not a configuration of an existing feature.
Build a Scheduled-Triggered Flow
-
Navigate to and click New Flow.
-
Select Schedule-Triggered Flow.
-
Set your schedule (for example, daily at a low-traffic time).
-
Add a Get Records element that queries the jobs matching your bulk criteria. Use the same logic as your record-triggered decision, for example Status equals Open, posting fields blank, and On Hold equals false.
-
Add a Loop element over the retrieved jobs.
-
Inside the loop, call the Enrich Record (AFA) subflow and pass the current job's Id as recordId.
-
After each subflow call, create a Job Enrichment Log record that captures the isSuccess and errorMessage values.
-
Click Save and activate the flow.
Each scheduled run enriches the matching jobs and writes a log entry for every job, so you can review successes and failures afterward.