Skip to content

Connectors · CRM & sales

JobAdder MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to JobAdder and the rest of your systems. It gives your agent 371 JobAdder actions (228 reads, 125 writes and 18 that wait for a confirmation) and holds the JobAdder credential itself, so the agent never does. It paces JobAdder's limits and records every call. Connecting JobAdder needs your own JobAdder OAuth app and one admin sign-in.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "jobadder.contacts.find_contacts",  intent: "check which JobAdder account is connected"}# Find contacts · read · 1 upstream call
  • 371actionsin one signed file
  • 228readlook, never change
  • 125writecreate and update
  • 18wait for a yesdestructive, confirmed first

Set up

Connect JobAdder in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect JobAdder.

    OAuth 2.0, authorization code. You register your own OAuth app with JobAdder, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.

    Before the first sign-in, JobAdder needs an OAuth app of your own, registered in its developer portal. actionlake has no JobAdder app to lend you.

    • access_tokenAccess token from one sign-in with your own OAuth app
    • refresh_tokenRefresh token from the same sign-in; the access token is renewed from it
    • client_idJobAdder app Client ID, issued when you register an app with JobAdder's developer programme (developers.jobadder.com)
    • client_secretJobAdder app Client secret (issued with the Client ID)
    • api_baseWhere your JobAdder lives: your api base
    account { op: "connections.requirements", service: "jobadder" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "jobadder.contacts.find_contacts" }# find contacts · read · 1 upstream callcheck { action: "jobadder.contacts.add_contact", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

JobAdder at a glance

Sign-in
OAuth 2.0, authorization code. You register your own OAuth app with JobAdder, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
You provide
access_tokenrefresh_tokenclient_idclient_secret
Setup fields
api_base
Limits we pace to
10 calls a second, per connection
API covered
JobAdder API v2 (OpenAPI 3.0.1)api.jobadder.com/v2
Built from
JobAdder's documentation, read 23 October 2026api.jobadder.comdevelopers.jobadder.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
228 of 228 reads, for up to 5 minutes; a write clears what it affects
Shared entities
4, so ask can line JobAdder up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in JobAdder.

371 actions in 27 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 228readlook, never change
  • 125writecreate and update
  • 18destructivewait for a confirmation
  1. Candidates

    53

    35 read · 13 write · 5 destructive

    Find candidates · Add a candidate · Get a candidate · Update a candidate

  2. Companies

    46

    31 read · 13 write · 2 destructive

    Find companies · Add a new company · Get a company · Update an existing company

  3. Jobs

    40

    26 read · 13 write · 1 destructive

    Find jobs · Add a job · Get a job · Update a job

  4. Applications

    37

    20 read · 17 write · 0 destructive

    Find job applications · Get a job application · Update a job application · Add a job application activity

  5. Contacts

    36

    23 read · 10 write · 3 destructive

    Find contacts · Add a new contact · Get a contact · Update an existing contact

  6. Partners

    33

    9 read · 23 write · 1 destructive

    Add a partner action · Find partner actions · Find candidates submitted to an action · Find companies submitted to an action

  7. Placements

    30

    22 read · 8 write · 0 destructive

    Add a placement activity · Add a note · Add a placement user task · Recently deleted placements

  8. Requisitions

    16

    8 read · 6 write · 2 destructive

    Add a requisition · Add a requisition note · Find requisitions · Get approval history

19 more areas · 80 actions
  • Events 11
  • Interviews 8
  • Opportunities 7
  • Users 7
  • Usertasks 7
  • Jobads 6
  • Jobboards 5
  • Webhooks 5
  • Folders 4
  • Notes 4
  • Usergroups 3
  • Useroffices 3
  • Floats 2
  • Search 2
  • Submissions 2
  • Categories 1
  • Countries 1
  • Locations 1
  • Worktypes 1

Top actions

The JobAdder API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 44 of JobAdder's 44 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
jobadder.contacts.find_contactsFind contactsFind contacts.readcrm.contact.list177 connectors
jobadder.companies.find_companiesFind companiesFind companies.readcrm.company.list162 connectors
jobadder.users.find_usersFind usersFind users.readidentity.user.list474 connectors
jobadder.contacts.add_contactAdd a new contactAdd a new contact.writecrm.contact.create161 connectors
jobadder.companies.add_companyAdd a new companyAdd a new company.writecrm.company.create142 connectors
jobadder.candidates.find_candidatesFind candidatesFind candidates.readhr.candidate.list22 connectors
jobadder.users.get_userGet a userGet a user.readidentity.user.get399 connectors
jobadder.candidates.add_candidateAdd a candidateAdd a candidate.writehr.candidate.create20 connectors
jobadder.opportunities.add_opportunityAdd an opportunityAdd an opportunity.writecrm.deal.create43 connectors
jobadder.opportunities.find_opportunitiesFind opportunitiesFind opportunities.readcrm.deal.list43 connectors
jobadder.contacts.add_contact_noteAdd a contact noteAdd a contact note.writecrm.contact_note.create28 connectors
jobadder.usertasks.delete_user_taskDelete a user taskDelete a user task.destructivework.task.delete107 connectors

Try it

Prompts to paste into Claude.

Each one names the JobAdder actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Find the JobAdder contacts with no email address, so we can clean them up.

    callsjobadder.contacts.find_contacts

  2. Writewrite

    Add a new contact in JobAdder. Show me exactly what you will send before you save it.

    callsjobadder.contacts.add_contact

  3. Across systemsread

    Which JobAdder companies have invoices in ConnectWise PSA, and how many each?

    callsjobadder.companies.find_companiesconnectwise_manage.invoices.list

Across your systems

JobAdder, joined to the rest of your business.

One ask fetches from JobAdder and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which JobAdder companies have invoices in ConnectWise PSA, and how many each?

    jobadder.companies.find_companies + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which JobAdder companies have invoices in NetSuite, and how many each?

    jobadder.companies.find_companies + netsuite.views.invoices, on crm.company · NetSuite

Also mapped by other connectorsidentity.user 517crm.company 227crm.contact 192hr.candidate 18
ask
ask {  intent: "which JobAdder companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "jobadder.companies.find_companies", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for JobAdder

Destructive actions wait for a yes.

18 JobAdder actions are destructive. These are all of them:

  • Delete a user taskjobadder.usertasks.delete_user_task
  • Delete an Eventjobadder.events.delete_event
  • Delete an interviewjobadder.interviews.delete_interview
  • Delete a webhookjobadder.webhooks.delete_webhook
  • Remove a company logojobadder.companies.delete_company_logo
  • Remove photojobadder.contacts.delete_contact_photo
  • Remove skillsjobadder.contacts.remove_contact_skills
  • Delete a partner actionjobadder.partners.delete_partner_action
  • Remove a requisitionjobadder.requisitions.delete_requisition
  • Remove an addressjobadder.companies.remove_company_address
  • Remove a categoryjobadder.contacts.delete_contact_category
  • Remove a photojobadder.candidates.delete_candidate_photo
  • Remove skillsjobadder.candidates.remove_candidate_skills
  • Remove a candidate at their requestjobadder.candidates.privacy_delete_candidate
  • Remove a categoryjobadder.candidates.delete_candidate_category
  • Remove the Rate Card ID for passed Job Order IDjobadder.jobs.delete_job_order_payroll_billing
  • Remove an attachmentjobadder.requisitions.delete_requisition_attachment
  • Remove weekly availabilityjobadder.candidates.delete_candidate_availability_week

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dojobadder.usertasks.delete_user_taskconfirm_policy: human

Delete a user task?

intent: the user asked me to delete a user task

run suspended · waiting for a named person · key jobadder-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "jobadder-agent",  allowed_actions: ["jobadder.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "jobadder.usertasks.delete_user_task", approver: "[email protected]" },    { match: "jobadder.events.delete_event", approver: "[email protected]" },    { match: "jobadder.interviews.delete_interview", approver: "[email protected]" }  ]}
Illustrative. Scoped to JobAdder only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What JobAdder costs on actionlake.

Every JobAdder action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call JobAdder refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 371 JobAdder actions
  • 371actions pageeach page of a long list is one call
  • 228reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every JobAdder action.

371 actions by area: the id your agent calls, what it does, and its effect.

Candidates53
  • jobadder.candidates.add_candidateAdd a candidatewrite
  • jobadder.candidates.add_candidate_activityAdd a candidate activitywrite
  • jobadder.candidates.add_candidate_job_ordersAdd jobs to a candidatewrite
  • jobadder.candidates.add_candidate_noteAdd a notewrite
  • jobadder.candidates.add_candidate_user_taskAdd a candidate user taskwrite
  • jobadder.candidates.add_candidate_videoAdd a videowrite
  • jobadder.candidates.delete_candidate_availability_weekRemove weekly availabilitydestructive
  • jobadder.candidates.delete_candidate_categoryRemove a categorydestructive
  • jobadder.candidates.delete_candidate_photoRemove a photodestructive
  • jobadder.candidates.deleted_candidatesRecently deleted candidatesread
  • jobadder.candidates.find_all_candidate_attachmentsFind attachmentsread
  • jobadder.candidates.find_candidate_activitiesFind candidate activitiesread
  • jobadder.candidates.find_candidate_activity_settingsGet all candidate activity settings definitionsread
  • jobadder.candidates.find_candidate_attachmentsFind candidate attachmentsread
  • jobadder.candidates.find_candidatesFind candidatesread
  • jobadder.candidates.find_candidates_payroll_billingsFind payroll billingsread
  • jobadder.candidates.get_active_candidate_job_applicationsGet active job applicationsread
  • jobadder.candidates.get_candidateGet a candidateread
  • jobadder.candidates.get_candidate_activityGet a candidate activityread
  • jobadder.candidates.get_candidate_activity_by_candidate_idGet candidate activitiesread
  • jobadder.candidates.get_candidate_activity_settingGet candidate activity settings with detailsread
  • jobadder.candidates.get_candidate_approved_placementsGet all approved placementsread
  • jobadder.candidates.get_candidate_attachment_category_listGet all attachment categoriesread
  • jobadder.candidates.get_candidate_availabilityGet availabilityread
  • jobadder.candidates.get_candidate_custom_field_listGet all candidate custom field definitionsread
  • jobadder.candidates.get_candidate_custom_field_list_itemGet a custom field definitionread
  • jobadder.candidates.get_candidate_eventsGet all eventsread
  • jobadder.candidates.get_candidate_floatsGet all floatsread
  • jobadder.candidates.get_candidate_interviewsGet all Interviewsread
  • jobadder.candidates.get_candidate_job_applicationsGet job applicationsread
  • jobadder.candidates.get_candidate_note_type_listGet all note typesread
  • jobadder.candidates.get_candidate_notesGet candidate notesread
  • jobadder.candidates.get_candidate_payroll_billingGet a candidate payroll billingread
  • jobadder.candidates.get_candidate_placementsGet all placementsread
  • jobadder.candidates.get_candidate_rating_listGet internal ratingsread
  • jobadder.candidates.get_candidate_salutation_listGet salutations (honorifics/titles)read
  • jobadder.candidates.get_candidate_skillsGet skillsread
  • jobadder.candidates.get_candidate_source_listGet all candidate sourcesread
  • jobadder.candidates.get_candidate_status_listGet all status definitionsread
  • jobadder.candidates.get_candidate_status_list_itemGet a status definitionread
  • jobadder.candidates.get_candidate_submissionsGet all submissionsread
  • jobadder.candidates.get_candidate_user_taskGet a candidate user taskread
  • jobadder.candidates.get_candidate_videosGet all videosread
  • jobadder.candidates.get_latest_candidate_videoGet a recent videoread
  • jobadder.candidates.privacy_delete_candidateRemove a candidate at their requestdestructive
  • jobadder.candidates.put_candidate_custom_field_list_itemModify custom field list valueswrite
  • jobadder.candidates.put_candidate_skillsUpdate skillswrite
  • jobadder.candidates.put_candidate_statusSet a candidate statuswrite
  • jobadder.candidates.remove_candidate_skillsRemove skillsdestructive
  • jobadder.candidates.update_candidateUpdate a candidatewrite
  • jobadder.candidates.update_candidate_attachmentUpdate attachment detailswrite
  • jobadder.candidates.update_candidate_availability_weekUpdate weekly availabilitywrite
  • jobadder.candidates.update_candidate_user_taskUpdate a candidate user taskwrite
Companies46
  • jobadder.companies.add_companyAdd a new companywrite
  • jobadder.companies.add_company_activityAdd a company activitywrite
  • jobadder.companies.add_company_addressAdd an addresswrite
  • jobadder.companies.add_company_noteAdd a company notewrite
  • jobadder.companies.add_company_user_taskAdd a company user taskwrite
  • jobadder.companies.add_company_workflowAdd a company workflowwrite
  • jobadder.companies.delete_company_logoRemove a company logodestructive
  • jobadder.companies.deleted_companiesRecently deleted companiesread
  • jobadder.companies.find_companiesFind companiesread
  • jobadder.companies.find_company_activityFind company activitiesread
  • jobadder.companies.find_company_activity_settingsGet all company activity settings definitionsread
  • jobadder.companies.find_company_attachmentsFind attachmentsread
  • jobadder.companies.get_companyGet a companyread
  • jobadder.companies.get_company_active_job_ordersGet all active/open jobs for a companyread
  • jobadder.companies.get_company_activityGet a company activityread
  • jobadder.companies.get_company_activity_by_company_idGet company activitiesread
  • jobadder.companies.get_company_activity_settingGet Company activity settings with detailsread
  • jobadder.companies.get_company_addressGet an addressread
  • jobadder.companies.get_company_addressesGet all addressesread
  • jobadder.companies.get_company_approved_placementsGet all approved placements for a companyread
  • jobadder.companies.get_company_attachment_category_listGet all attachment categoriesread
  • jobadder.companies.get_company_contactsGet company contactsread
  • jobadder.companies.get_company_custom_field_listGet the list of company custom fieldsread
  • jobadder.companies.get_company_custom_field_list_itemGet a company custom fieldread
  • jobadder.companies.get_company_floatsGet all floats for a companyread
  • jobadder.companies.get_company_job_ordersGet all jobs for a companyread
  • jobadder.companies.get_company_note_type_listGet a list of company note typesread
  • jobadder.companies.get_company_notesGet company notesread
  • jobadder.companies.get_company_placementsGet all approved and unapproved placements for a companyread
  • jobadder.companies.get_company_requisitionsGet all requisitions for a companyread
  • jobadder.companies.get_company_skillsGet company skillsread
  • jobadder.companies.get_company_status_listGet a list of company status definitionsread
  • jobadder.companies.get_company_status_list_itemGet a company statusread
  • jobadder.companies.get_company_submissionsGet all candidate submissions for a companyread
  • jobadder.companies.get_company_subsidiariesGet all subsidiaries for a companyread
  • jobadder.companies.get_company_user_taskGet a company user taskread
  • jobadder.companies.get_company_workflowGet a company workflow and approversread
  • jobadder.companies.list_company_workflowsGet all company workflowsread
  • jobadder.companies.put_company_custom_field_listModify custom field list valueswrite
  • jobadder.companies.put_company_statusSet a company statuswrite
  • jobadder.companies.remove_company_addressRemove an addressdestructive
  • jobadder.companies.update_companyUpdate an existing companywrite
  • jobadder.companies.update_company_addressUpdate an addresswrite
  • jobadder.companies.update_company_attachmentUpdate attachment detailswrite
  • jobadder.companies.update_company_user_taskUpdate a company user taskwrite
  • jobadder.companies.update_company_workflowUpdate a company workflowwrite
Jobs40
  • jobadder.jobs.add_job_orderAdd a jobwrite
  • jobadder.jobs.add_job_order_activityAdd a job activitywrite
  • jobadder.jobs.add_job_order_candidatesAdd candidates to a jobwrite
  • jobadder.jobs.add_job_order_noteAdd a notewrite
  • jobadder.jobs.add_job_order_payroll_billingAdd the Rate Card ID for passed Job Order IDwrite
  • jobadder.jobs.add_job_order_user_taskAdd a job user taskwrite
  • jobadder.jobs.delete_job_order_payroll_billingRemove the Rate Card ID for passed Job Order IDdestructive
  • jobadder.jobs.deleted_job_ordersRecently deleted jobsread
  • jobadder.jobs.find_job_order_activityFind job activitiesread
  • jobadder.jobs.find_job_order_activity_settingsGet all job activity settings definitionsread
  • jobadder.jobs.find_job_order_attachmentsFind attachmentsread
  • jobadder.jobs.find_job_ordersFind jobsread
  • jobadder.jobs.get_job_orderGet a jobread
  • jobadder.jobs.get_job_order_active_job_applicationsGet active job applicationsread
  • jobadder.jobs.get_job_order_activityGet a job activityread
  • jobadder.jobs.get_job_order_activity_by_job_idGet job activitiesread
  • jobadder.jobs.get_job_order_activity_settingGet job activity setting with detailsread
  • jobadder.jobs.get_job_order_approved_placementsGet approved placementsread
  • jobadder.jobs.get_job_order_attachment_category_listGet all attachment categoriesread
  • jobadder.jobs.get_job_order_custom_field_itemGet a custom fieldread
  • jobadder.jobs.get_job_order_custom_field_listGet all custom fieldsread
  • jobadder.jobs.get_job_order_invoiceGet a job invoiceread
  • jobadder.jobs.get_job_order_invoicesGet job invoicesread
  • jobadder.jobs.get_job_order_job_applicationsGet job applicationsread
  • jobadder.jobs.get_job_order_note_type_listGet all note typesread
  • jobadder.jobs.get_job_order_notesGet job notesread
  • jobadder.jobs.get_job_order_payroll_billingGet the Rate Card ID for passed Job Order IDread
  • jobadder.jobs.get_job_order_placementsGet all placementsread
  • jobadder.jobs.get_job_order_source_listGet all job sourcesread
  • jobadder.jobs.get_job_order_status_itemGet a status definitionread
  • jobadder.jobs.get_job_order_status_listGet all status definitionsread
  • jobadder.jobs.get_job_order_submissionsGet all submissionsread
  • jobadder.jobs.get_job_order_user_taskGet a job user taskread
  • jobadder.jobs.put_job_order_custom_field_listModify custom field list valueswrite
  • jobadder.jobs.put_job_order_statusSet a job statuswrite
  • jobadder.jobs.submit_job_order_candidateSubmit a candidate to an evergreen jobwrite
  • jobadder.jobs.update_job_orderUpdate a jobwrite
  • jobadder.jobs.update_job_order_attachmentUpdate attachment detailswrite
  • jobadder.jobs.update_job_order_payroll_billingUpdate the Rate Card ID for passed Job Order IDwrite
  • jobadder.jobs.update_job_order_user_taskUpdate a job user taskwrite
Applications37
  • jobadder.applications.add_job_application_activityAdd a job application activitywrite
  • jobadder.applications.add_job_application_noteAdd a notewrite
  • jobadder.applications.add_job_application_user_taskAdd an application user taskwrite
  • jobadder.applications.add_job_application_videoAdd a videowrite
  • jobadder.applications.deleted_job_applicationsRecently deleted job applicationsread
  • jobadder.applications.find_job_application_activityFind job application activitiesread
  • jobadder.applications.find_job_application_activity_settingsGet all job application activity settings definitionsread
  • jobadder.applications.find_job_application_attachmentsFind attachmentsread
  • jobadder.applications.find_job_applicationsFind job applicationsread
  • jobadder.applications.get_job_applicationGet a job applicationread
  • jobadder.applications.get_job_application_activityGet a job application activityread
  • jobadder.applications.get_job_application_activity_by_application_idGet job application activitiesread
  • jobadder.applications.get_job_application_activity_settingGet job application activity settings with detailsread
  • jobadder.applications.get_job_application_custom_field_listGet all custom fieldsread
  • jobadder.applications.get_job_application_custom_field_list_itemGet a custom fieldread
  • jobadder.applications.get_job_application_interviewsGet all Interviewsread
  • jobadder.applications.get_job_application_notesGet job application notesread
  • jobadder.applications.get_job_application_status_listGet all status definitionsread
  • jobadder.applications.get_job_application_status_list_itemGet a status definitionread
  • jobadder.applications.get_job_application_user_taskGet an application user taskread
  • jobadder.applications.get_job_application_videosGet all videosread
  • jobadder.applications.get_job_application_workflow_listGet the job application workflowread
  • jobadder.applications.get_latest_job_application_videoGet a recent videoread
  • jobadder.applications.get_workflow_listGet the job application workflowsread
  • jobadder.applications.post_job_application_external_interviewCreate an external interviewwrite
  • jobadder.applications.post_job_application_internal_interviewCreate an internal interviewwrite
  • jobadder.applications.put_job_application_custom_field_listModify custom field list valueswrite
  • jobadder.applications.put_job_application_external_interviewUpdate an external interviewwrite
  • jobadder.applications.put_job_application_internal_interviewUpdate an internal interviewwrite
  • jobadder.applications.put_job_application_statusSet a job application statuswrite
  • jobadder.applications.review_accept_job_applicationAccept a job applicationwrite
  • jobadder.applications.review_reject_job_applicationReject a job applicationwrite
  • jobadder.applications.review_submit_job_applicationSubmit a job application for reviewwrite
  • jobadder.applications.review_view_job_applicationMark a job application as viewed by the hiring managerwrite
  • jobadder.applications.update_job_applicationUpdate a job applicationwrite
  • jobadder.applications.update_job_application_attachmentUpdate attachment detailswrite
  • jobadder.applications.update_job_application_user_taskUpdate an application user taskwrite
Contacts36
  • jobadder.contacts.add_contactAdd a new contactwrite
  • jobadder.contacts.add_contact_activityAdd a contact activitywrite
  • jobadder.contacts.add_contact_noteAdd a contact notewrite
  • jobadder.contacts.add_contact_user_taskAdd a contact user taskwrite
  • jobadder.contacts.delete_contact_categoryRemove a categorydestructive
  • jobadder.contacts.delete_contact_photoRemove photodestructive
  • jobadder.contacts.deleted_contactsRecently deleted contactsread
  • jobadder.contacts.find_contact_activityFind contact activitiesread
  • jobadder.contacts.find_contact_activity_settingsGet all contact activity settings definitionsread
  • jobadder.contacts.find_contact_attachmentsFind attachmentsread
  • jobadder.contacts.find_contactsFind contactsread
  • jobadder.contacts.get_contactGet a contactread
  • jobadder.contacts.get_contact_active_job_ordersGet all active/open jobs for a contactread
  • jobadder.contacts.get_contact_activityGet a contact activityread
  • jobadder.contacts.get_contact_activity_by_contact_idGet contact activitiesread
  • jobadder.contacts.get_contact_activity_settingGet contact activity settings with detailsread
  • jobadder.contacts.get_contact_attachment_category_listGet all attachment categoriesread
  • jobadder.contacts.get_contact_custom_field_listGet the list of Contact custom fieldsread
  • jobadder.contacts.get_contact_custom_field_list_itemGet a Contact custom fieldread
  • jobadder.contacts.get_contact_eventsGet all eventsread
  • jobadder.contacts.get_contact_interviewsGet all Interviewsread
  • jobadder.contacts.get_contact_job_ordersGet all jobs for a contactread
  • jobadder.contacts.get_contact_note_type_listGet a list of contact note typesread
  • jobadder.contacts.get_contact_notesGet contact notesread
  • jobadder.contacts.get_contact_salutation_listGet salutations (honorifics/titles)read
  • jobadder.contacts.get_contact_skillsGet contact skillsread
  • jobadder.contacts.get_contact_status_listGet a list of contact status definitionsread
  • jobadder.contacts.get_contact_status_list_itemGet a contact status definitionread
  • jobadder.contacts.get_contact_user_taskGet a contact user taskread
  • jobadder.contacts.put_contact_custom_field_listModify custom field list valueswrite
  • jobadder.contacts.put_contact_skillsUpdate skillswrite
  • jobadder.contacts.put_contact_statusSet a contact statuswrite
  • jobadder.contacts.remove_contact_skillsRemove skillsdestructive
  • jobadder.contacts.update_contactUpdate an existing contactwrite
  • jobadder.contacts.update_contact_attachmentUpdate attachment detailswrite
  • jobadder.contacts.update_contact_user_taskUpdate a contact user taskwrite
Partners33
  • jobadder.partners.add_partner_actionAdd a partner actionwrite
  • jobadder.partners.complete_candidate_partner_actionComplete a candidate actionwrite
  • jobadder.partners.complete_company_partner_actionComplete a company actionwrite
  • jobadder.partners.complete_contact_partner_actionComplete a contact actionwrite
  • jobadder.partners.complete_job_ad_partner_actionComplete a job ad actionwrite
  • jobadder.partners.complete_job_application_partner_actionComplete a job application actionwrite
  • jobadder.partners.complete_job_order_partner_actionComplete a job actionwrite
  • jobadder.partners.complete_placement_partner_actionComplete a placement actionwrite
  • jobadder.partners.delete_partner_actionDelete a partner actiondestructive
  • jobadder.partners.find_partner_actionsFind partner actionsread
  • jobadder.partners.get_partner_actionGet a partner actionread
  • jobadder.partners.get_partner_action_candidatesFind candidates submitted to an actionread
  • jobadder.partners.get_partner_action_companiesFind companies submitted to an actionread
  • jobadder.partners.get_partner_action_contactsFind contacts submitted to an actionread
  • jobadder.partners.get_partner_action_job_adsFind job ads submitted to an actionread
  • jobadder.partners.get_partner_action_job_applicationsFind job applications submitted to an actionread
  • jobadder.partners.get_partner_action_job_ordersFind jobs submitted to an actionread
  • jobadder.partners.get_partner_action_placementsFind placements submitted to an actionread
  • jobadder.partners.progress_candidate_partner_actionUpdate candidate action progresswrite
  • jobadder.partners.progress_company_partner_actionUpdate company action progresswrite
  • jobadder.partners.progress_contact_partner_actionUpdate contact action progresswrite
  • jobadder.partners.progress_job_ad_partner_actionUpdate job ad action progresswrite
  • jobadder.partners.progress_job_application_partner_actionUpdate job application action progresswrite
  • jobadder.partners.progress_job_order_partner_actionUpdate job action progresswrite
  • jobadder.partners.progress_placement_partner_actionUpdate placement action progresswrite
  • jobadder.partners.reject_candidate_partner_actionReject a candidate actionwrite
  • jobadder.partners.reject_company_partner_actionReject a company actionwrite
  • jobadder.partners.reject_contact_partner_actionReject a contact actionwrite
  • jobadder.partners.reject_job_ad_partner_actionReject a job ad actionwrite
  • jobadder.partners.reject_job_application_partner_actionReject a job application actionwrite
  • jobadder.partners.reject_job_order_partner_actionReject a job actionwrite
  • jobadder.partners.reject_placement_partner_actionReject a placement actionwrite
  • jobadder.partners.update_partner_actionUpdate a partner actionwrite
Placements30
  • jobadder.placements.add_placement_activityAdd a placement activitywrite
  • jobadder.placements.add_placement_noteAdd a notewrite
  • jobadder.placements.add_placement_user_taskAdd a placement user taskwrite
  • jobadder.placements.deleted_placementsRecently deleted placementsread
  • jobadder.placements.find_placement_activityFind placement activitiesread
  • jobadder.placements.find_placement_activity_settingsGet all placement activity settings definitionsread
  • jobadder.placements.find_placement_attachmentsFind attachmentsread
  • jobadder.placements.find_placementsFind placementsread
  • jobadder.placements.get_placementGet a placementread
  • jobadder.placements.get_placement_activityGet a placement activityread
  • jobadder.placements.get_placement_activity_by_placement_idGet placement activitiesread
  • jobadder.placements.get_placement_activity_settingGet placement activity settings with detailsread
  • jobadder.placements.get_placement_attachment_category_listGet all attachment categoriesread
  • jobadder.placements.get_placement_award_listGet all awardsread
  • jobadder.placements.get_placement_billing_terms_listGet all billing termsread
  • jobadder.placements.get_placement_custom_field_itemGet a custom fieldread
  • jobadder.placements.get_placement_custom_field_listGet all custom fieldsread
  • jobadder.placements.get_placement_industry_code_listGet all industry codesread
  • jobadder.placements.get_placement_note_type_listGet all note typesread
  • jobadder.placements.get_placement_notesGet placement notesread
  • jobadder.placements.get_placement_payment_type_listGet all payment typesread
  • jobadder.placements.get_placement_status_itemGet a status definitionread
  • jobadder.placements.get_placement_status_listGet all status definitionsread
  • jobadder.placements.get_placement_timesheetsGet timesheetsread
  • jobadder.placements.get_placement_user_taskGet a placement user taskread
  • jobadder.placements.put_placement_custom_field_listModify custom field list valueswrite
  • jobadder.placements.put_placement_statusSet a placement statuswrite
  • jobadder.placements.update_placementUpdate a placementwrite
  • jobadder.placements.update_placement_attachmentUpdate attachment detailswrite
  • jobadder.placements.update_placement_user_taskUpdate a placement user taskwrite
Requisitions16
  • jobadder.requisitions.add_requisitionAdd a requisitionwrite
  • jobadder.requisitions.add_requisition_noteAdd a requisition notewrite
  • jobadder.requisitions.approve_requisitionApprove a requisitionwrite
  • jobadder.requisitions.delete_requisitionRemove a requisitiondestructive
  • jobadder.requisitions.delete_requisition_attachmentRemove an attachmentdestructive
  • jobadder.requisitions.find_requisitionsFind requisitionsread
  • jobadder.requisitions.get_requisitionGet a requisitionread
  • jobadder.requisitions.get_requisition_approval_historyGet approval historyread
  • jobadder.requisitions.get_requisition_attachment_listGet all attachmentsread
  • jobadder.requisitions.get_requisition_custom_field_itemGet a custom fieldread
  • jobadder.requisitions.get_requisition_custom_field_listGet all custom fieldsread
  • jobadder.requisitions.get_requisition_formsGet all requisition forms and fieldsread
  • jobadder.requisitions.get_requisition_notesGet requisition notesread
  • jobadder.requisitions.reject_requisitionReject a requisitionwrite
  • jobadder.requisitions.submit_requisitionSubmit a requisition for approvalwrite
  • jobadder.requisitions.update_requisitionUpdate a requisitionwrite
Events11
  • jobadder.events.create_eventCreate an eventwrite
  • jobadder.events.delete_eventDelete an Eventdestructive
  • jobadder.events.find_eventsFind eventsread
  • jobadder.events.get_contact_event_interview_evaluationGet a contact interview evaluation for eventread
  • jobadder.events.get_eventGet an Eventread
  • jobadder.events.get_event_interview_evaluationsGet interview evaluations for eventread
  • jobadder.events.get_event_sub_typesGet Event Subtypesread
  • jobadder.events.get_user_event_interview_evaluationGet an user interview evaluation for eventread
  • jobadder.events.put_contact_event_interview_evaluationSubmit an contact interview evaluation for eventwrite
  • jobadder.events.put_user_event_interview_evaluationSubmit an user interview evaluation for eventwrite
  • jobadder.events.update_eventUpdate an eventwrite
Interviews8
  • jobadder.interviews.delete_interviewDelete an interviewdestructive
  • jobadder.interviews.find_interviewsFind interviewsread
  • jobadder.interviews.get_external_interview_evaluationGet an external/contact interview evaluationread
  • jobadder.interviews.get_internal_interview_evaluationGet an internal/user interview evaluationread
  • jobadder.interviews.get_interviewGet an interviewread
  • jobadder.interviews.get_interview_evaluationsGet interview evaluationsread
  • jobadder.interviews.put_external_interview_evaluationSubmit an external/contact interview evaluationwrite
  • jobadder.interviews.put_internal_interview_evaluationSubmit an internal/user interview evaluationwrite
Opportunities7
  • jobadder.opportunities.add_opportunityAdd an opportunitywrite
  • jobadder.opportunities.add_opportunity_noteAdd an opportunity notewrite
  • jobadder.opportunities.find_opportunitiesFind opportunitiesread
  • jobadder.opportunities.get_opportunityGet an opportunityread
  • jobadder.opportunities.get_opportunity_notesGet opportunity notesread
  • jobadder.opportunities.get_stagesGet all stagesread
  • jobadder.opportunities.update_opportunityUpdate an opportunitywrite
Users7
  • jobadder.users.find_user_user_tasksFind user tasksread
  • jobadder.users.find_usersFind usersread
  • jobadder.users.get_current_userGet the current userread
  • jobadder.users.get_userGet a userread
  • jobadder.users.get_user_eventsGet all Eventsread
  • jobadder.users.get_user_interviewsGet all Interviewsread
  • jobadder.users.get_user_user_groupsGet user groupsread
Usertasks7
  • jobadder.usertasks.add_user_taskCreate a user taskwrite
  • jobadder.usertasks.delete_user_taskDelete a user taskdestructive
  • jobadder.usertasks.find_user_tasksFind user tasksread
  • jobadder.usertasks.get_user_taskGet a user taskread
  • jobadder.usertasks.mark_complete_user_taskMark user task as completewrite
  • jobadder.usertasks.mark_incomplete_user_taskMark user task as incompletewrite
  • jobadder.usertasks.update_user_taskUpdate a user taskwrite
Jobads6
  • jobadder.jobads.add_job_ad_draftAdd a draft job adwrite
  • jobadder.jobads.get_job_adGet a job adread
  • jobadder.jobads.get_job_ad_active_job_applicationsGet active job applicationsread
  • jobadder.jobads.get_job_ad_job_applicationsGet job applicationsread
  • jobadder.jobads.get_job_adsFind job adsread
  • jobadder.jobads.update_job_ad_draftUpdate a draft job adwrite
Jobboards5
  • jobadder.jobboards.find_job_board_job_adsFind job adsread
  • jobadder.jobboards.find_job_boardsFind job boardsread
  • jobadder.jobboards.get_job_boardGet a job boardread
  • jobadder.jobboards.get_job_board_job_adGet a job adread
  • jobadder.jobboards.submit_job_board_job_applicationSubmit a job applicationwrite
Webhooks5
  • jobadder.webhooks.add_webhookAdd a new webhookwrite
  • jobadder.webhooks.delete_webhookDelete a webhookdestructive
  • jobadder.webhooks.find_webhooksFind webhooksread
  • jobadder.webhooks.get_webhookGet a webhookread
  • jobadder.webhooks.update_webhookUpdate an existing webhookwrite
Folders4
  • jobadder.folders.add_folderAdd a folderwrite
  • jobadder.folders.find_foldersFind foldersread
  • jobadder.folders.get_folderGet a folderread
  • jobadder.folders.patch_folderAdd or remove entities in folderwrite
Notes4
  • jobadder.notes.add_noteAdd a notewrite
  • jobadder.notes.find_notesFind notesread
  • jobadder.notes.get_noteGet a noteread
  • jobadder.notes.update_noteUpdate a notewrite
Usergroups3
  • jobadder.usergroups.find_user_groupsFind groupsread
  • jobadder.usergroups.get_group_usersGet usersread
  • jobadder.usergroups.get_user_groupGet a groupread
Useroffices3
  • jobadder.useroffices.find_user_officesFind user officesread
  • jobadder.useroffices.get_office_usersGet usersread
  • jobadder.useroffices.get_user_officeGet a user officeread
Floats2
  • jobadder.floats.get_floatGet a floatread
  • jobadder.floats.get_floatsFind floatsread
Search2
  • jobadder.search.find_email_addressSearch by email address.read
  • jobadder.search.find_phone_numberSearch by phone number.read
Submissions2
  • jobadder.submissions.find_submissionsFind submissionsread
  • jobadder.submissions.get_submissionGet a submissionread
Categories1
  • jobadder.categories.find_categoriesFind categoriesread
Countries1
  • jobadder.countries.find_countriesFind countriesread
Locations1
  • jobadder.locations.find_locationsFind locationsread
Worktypes1
  • jobadder.worktypes.find_work_typesFind work typesread

Questions

The JobAdder MCP server, answered.

Is there a JobAdder MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 371 JobAdder actions across candidates, companies, jobs and applications, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by JobAdder.

What do I need to connect JobAdder?

Your own JobAdder OAuth app, registered with JobAdder (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no JobAdder app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your api base. The free call account { op: "connections.requirements", service: "jobadder" } lists exactly what to paste.

Can an AI agent delete or change things in JobAdder?

Only if its key allows it, and only with an explicit confirmation. 18 JobAdder actions are destructive, including delete a user task, delete an Event and delete an interview. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my JobAdder API limit?

actionlake paces every call to the limits in the JobAdder service file: 10 calls a second per connection. Repeated reads are answered from cache (228 JobAdder actions can be), which never reaches JobAdder.

What does a JobAdder action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (371 JobAdder actions page). Cache hits, searches, dry runs and calls JobAdder refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which JobAdder API does it cover?

The JobAdder API v2 (OpenAPI 3.0.1) at api.jobadder.com/v2 by default, or the base URL set when you connect. It is built from JobAdder's documentation as read on 23 October 2026. 371 actions in 27 areas, each one in the signed service file (version 1.0.0).

Can I combine JobAdder with my other systems?

Yes. ask joins JobAdder to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. JobAdder maps crm.company, which 227 other connectors also map.

Does actionlake keep my JobAdder data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your JobAdder credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent JobAdder today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.