[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Log screening notes on Bullhorn candidate records

> Turn your call notes into Bullhorn candidate notes with the right Note Action, skip candidates already noted today and keep the record complete.

Source: https://cotlet.dev/integrations/bullhorn-api-mcp-server/log-screening-notes

After a day of screening calls, the notes sit in your notebook or a doc, and each one still has to be typed into the right Bullhorn candidate record.

Cotlet does it in your own Bullhorn account with search\_candidates, list\_candidate\_notes and add\_note, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=bullhorn) [All Bullhorn tools](https://cotlet.dev/integrations/bullhorn-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Bullhorn do this on its own?

Bullhorn offers no bulk note entry from a text or a document in the app, and its API is a partner contract for technology vendors (checked 23 Oct 2026). Bullhorn Automation, a separate product, has an Add Note step for automations. An agency's own agent has no sanctioned route to write notes.

## How you do it in Bullhorn today

1. Open the candidate record and choose Actions > Add Note.
2. Type the summary in the Comments field. Type @ and a name to tag a colleague, or # and a record name to reference a job, an opportunity or a placement.
3. Pick the type from the Note Action drop-down, for example Phone Call, and add entries under Additional References if needed.
4. Under Schedule Next Action pick a follow-up, then choose who gets an email under Email Notification and click Save.
5. The note shows on the record's Notes tab. Repeat for every candidate you spoke to, so the notes are the first thing to slip on a busy day.

## How to log screening notes on Bullhorn candidate records

Prompt

```
Here are my call notes from today. For each candidate, find the record in Bullhorn and add a Phone Call note with the summary. Skip anyone who already has a note from today.
```

1. 01  
### Match each name to one record  
search\_candidates looks up the name from your notes. When two records match, for example the same name at two companies, the agent compares the occupation and current company with your notes and asks you instead of guessing.
2. 02  
### Check what is already there  
list\_candidate\_notes reads the Notes tab of the record. If a note from today already carries the same call, the agent skips the candidate, so rerunning the job never doubles a note.
3. 03  
### Choose the Note Action  
The agent maps each call to one of your account's Note Action values. Values are set by your admin, so it uses only ones that exist and asks when none fits.
4. 04  
### Write plain text  
add\_note saves the summary as plain text in Comments, with the job referenced when you named one. Bullhorn notes take no HTML or images, so the agent strips formatting.
5. 05  
### Report what it saved  
The agent lists every candidate noted and every one it skipped, with the reason, so you can open the Notes tab of any of them.

### What you get back

Example data

```
Calls in your notes: 7
Notes added 5 (Phone Call):
- Priya Raman: "Open to contract, 90 USD/h, free from 3 Nov"
- Marcus Lee: "Wants permanent, not relocating"
Skipped 1 (a note from today already exists)
Needs you 1: two records named Sam Ortiz
```

### Other ways to ask

- Log my call notes, tag my team lead with @ in each one and add a Prescreen note for every candidate who passed.
- Every evening, read my notes doc and add a note for each candidate I named, but show me the list first.
- Add a note to every candidate on this list saying the client closed the job, and reference the job with #.

## What Bullhorn allows, and what to know first

- Bullhorn tags a user with @ in Comments and emails every tagged user, so a note with a tag reaches that person at once.
- A Bullhorn Note Action is at most 30 characters and cannot contain special characters.
- Admins set the available Note Action values in the commentActionList system setting, and a change shows after logging out and in again.
- Bullhorn notes accept plain text only, with no HTML, images or rich text.
- Some Standard Reports in Bullhorn depend on the Note Action values Client Visit and Prescreen (or Screened), so keep those names when you map calls.

add\_note asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Bullhorn Help: Managing Notes in Bullhorn ATS](https://kb.bullhorn.com/ats/Content/BHATS/Topics/NoteManagement.htm) · [Bullhorn Help: Add Note Step (Automation)](https://kb.bullhorn.com/automation/Content/Automation/Topics/AddNoteStep.htm) · [Bullhorn: API access FAQs](https://www.bullhorn.com/bullhorn-api-access-faqs/)

## Call add\_note from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/bullhorn/candidates/4821907/notes \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"note_action":"Phone Call","comments":"Open to contract at 90 USD/h, free from 3 Nov. Not relocating. Send the Northwind data role."}'
```

Example response

```
{
"note_id": 6120051,
"candidate_id": 4821907,
"note_action": "Phone Call",
"added_at": "2026-10-23T16:05:00Z"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is bullhorn\_write → add\_note. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/bullhorn-api-mcp-server.md#automations)

## Bullhorn tools this automation uses

__Cotlet Bullhorn tools used to log screening notes on Bullhorn candidate records__
| Tool | Parameters |
| ---------------------- | ------------------------------------------------- |
| search\_candidates | keywords, match, exclude\_keywords, limit, cursor |
| list\_candidate\_notes | candidate\_id, cursor |
| add\_note | candidate\_id, comments, note\_action, job\_id |

[All 9 Bullhorn tools with descriptions](https://cotlet.dev/integrations/bullhorn-api-mcp-server.md#tools)

## Frequently asked questions

### Does the agent email the people I tag?

Bullhorn does. A tag with @ in Comments emails the tagged user when the note is saved, which is why each call waits for your OK by default.

### Is it safe to connect Bullhorn to Cotlet?

Yes. You sign in to Bullhorn yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Bullhorn once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Bullhorn automations

- [Find and submit matching candidates in Bullhorn](https://cotlet.dev/integrations/bullhorn-api-mcp-server/submit-matching-candidates.md)
- [Clean up stale Bullhorn submissions](https://cotlet.dev/integrations/bullhorn-api-mcp-server/clean-up-stale-submissions.md)
- [Bullhorn API and MCP server: every tool](https://cotlet.dev/integrations/bullhorn-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Bullhorn.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Bullhorn.

[Sign up free](https://cotlet.dev/app/signup?app=bullhorn)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
