← all tools
Comms

JustCall

Calls and texts on the record, and the next calls already queued.

JustCall is a call and meeting tool, and one of the 54 tools hyreflow connects to Claude, ChatGPT and other AI assistants. Through hyreflow, an AI agent can run 17 actions: 13 that look something up and 4 that create or change records. JustCall runs on your own JustCall account: hyreflow charges no credits for it, and JustCall bills you as before.

Cost per callBYOK · vendor billed
Your own keyrequired
CategoryComms

Your agent reads JustCall call logs, AI transcripts and SMS threads and writes them onto the candidate in your CRM. It can text a candidate from your JustCall number and drop a shortlist straight into a Sales Dialer campaign, so the calling session starts with the list already loaded.

JustCall reads and writes. Calls and texts flow in; the shortlist flows out to the dialer.

What can you ask Claude or ChatGPT to do with JustCall?

With hyreflow connected, you ask for the outcome in plain language and the assistant runs JustCall for you. For example:

  • “Log this week's JustCall calls against the candidates in Bullhorn”
  • “What did she say on yesterday's call?”
  • “Add the ten mobiles Lusha found to my Sales Dialer campaign”
  • “Has anyone replied to the texts I sent on Monday?”

Which tools work well with JustCall?

In a hyreflow run, JustCall is most often paired with Bullhorn, Lusha, Fathom and Recruit CRM.

  • Bullhorn

    the record the call notes belong on

  • Lusha

    the direct dials worth putting in the dialer

  • Fathom

    the recorded interviews JustCall does not cover

  • Recruit CRM

    call and text activity onto the candidate

Which JustCall actions can an AI agent run through hyreflow?

Through hyreflow, an AI agent can run 17 JustCall actions: 13 that look something up and 4 that create or change records. JustCall runs on your own JustCall account: hyreflow charges no credits for it, and JustCall bills you as before.

JustCall actionWhat it doesCost through hyreflow
Add campaign contactCreates or changes a recordno hyreflow credits
Create contactCreates or changes a recordno hyreflow credits
Send textCreates or changes a recordno hyreflow credits
Check replyLooks something upno hyreflow credits
Update contactCreates or changes a recordno hyreflow credits
List callsLooks something upno hyreflow credits
List calls aiLooks something upno hyreflow credits
List campaignsLooks something upno hyreflow credits
List contactsLooks something upno hyreflow credits
List phone numbersLooks something upno hyreflow credits
Show all 17 JustCall actions →
JustCall actionWhat it doesCost through hyreflow
List textsLooks something upno hyreflow credits
List usersLooks something upno hyreflow credits
Get callLooks something upno hyreflow credits
Get call aiLooks something upno hyreflow credits
Get contactLooks something upno hyreflow credits
Get textLooks something upno hyreflow credits
Get userLooks something upno hyreflow credits

One credit is priced on the pricing page. The full price list for every tool is in the pricing tables.

Ask for the outcome and your agent composes the run itself. Or start from a skill, a whole pipeline it already knows end to end.

browse all skills →

How does an AI agent know how to use JustCall?

hyreflow ships a written playbook for JustCall, and the agent loads it before the first call. Auth, rate limits, what each call costs, which actions need your approval, and the mistakes worth avoiding. It is the difference between an agent that knows the tool and one that guesses at it.

Read the JustCall docs →
Show the raw playbookwritten for the agent

HOW in lib/justcall.py. Docs: developer.justcall.io/reference.

Auth & config

  • Base URL: https://api.justcall.io/v2.1 · Auth: header Authorization: <api_key>:<api_secret>. Both come from JustCall > your profile > APIs and Webhooks. API access needs JustCall's Team plan or higher.
  • Pagination: page / per_page; contacts, users and campaigns start at page 0. Max per_page: calls 100, texts 100, contacts 500, users 100, numbers 100, campaigns 50, list_calls_ai 20. A larger per_page is rejected, not trimmed. The next page is signalled by next_page_link.
  • History: the API returns the last 3 months of calls.
  • Rate limit (per account, by JustCall plan): Team 30/min and 1800/h, Pro 60/min, Business 90/min. Pace bulk work; a 429 means wait for the reset.

Operations

  • Calls: list_calls (filter contact_number, agent_id, from_datetime/to_datetime as YYYY-MM-DD), get_call (fetch_ai_data=true adds AI fields), list_calls_ai, get_call_ai (transcript + summary + action items; needs JustCall's AI add-on).
  • SMS: list_texts, get_text, check_reply (latest inbound text from a number, read-only), send_text (from one of your JustCall numbers; body up to 1600 characters; optional schedule_at YYYY-MM-DD HH:mm:ss; restrict_once="Yes" stops this text reaching the same number twice within 24h).
  • Contacts: list_contacts (contact_number finds one by phone), get_contact, create_contact (contact_number + first_name required), update_contact (find by id or contact_number; notes are [{note}]).
  • Team: list_users (agents and their numbers), get_user, list_phone_numbers (capabilities=sms for numbers that can text).
  • Sales Dialer: list_campaigns, add_campaign_contact (campaign_id plus exactly one of contact_id or phone_number; optional name, email, custom_fields).

Phone numbers are E.164 (+14155550123). These are the only callable methods. There is no REST click-to-call for a human agent: load the list into a Sales Dialer campaign instead.

Guardrail

send_text, add_campaign_contact, create_contact and update_contact write to a live phone system: texts are billed by JustCall and reach real people, and a campaign contact gets dialled. Confirm before bulk; pilot one. The key is shared by the whole workspace, so send_text goes out from whichever justcall_number you pass: confirm the sending number with the user, it may be a colleague's line. A write that fails with "the write may have applied" may already have texted or queued the person: check list_texts, list_contacts or the campaign before resending, never resend blind.

Handoff

Read source: pull list_calls / get_call_ai and list_texts → write them as candidate activity into the ATS. Write target: send_text for a candidate nudge, add_campaign_contact to queue a shortlist for a calling session.

Callable surface

Call via the CLI: hyreflow tools execute justcall <method> --payload '{...}' (preview with --dry-run; hyreflow tools get justcall <method> returns the live contract + cost). Base: https://api.justcall.io/v2.1. Only the methods listed below are callable.

  • add_campaign_contact(campaign_id: int, *, contact_id: int | None = None, phone_number: str | None = None, **fields) -> Any — POST /sales_dialer/campaigns/contact — queue a contact for dialing in a campaign (contact_id or phone_number).
  • check_reply(contact_number: str, justcall_number: str | None = None) -> Any — POST /texts/checkreply — the latest inbound SMS from a contact (read-only).
  • create_contact(payload: dict) -> Any — POST /contacts — create a contact (contact_number and first_name required).
    • requires: contact_number, first_name
    • example: {"contact_number":"+14155550123","first_name":"Jane","last_name":"Doe","company":"Acme"}
  • get_call(call_id: str, **params) -> Any — GET /calls/{id} — one call by numeric id or call SID (fetch_ai_data=true adds AI fields).
  • get_call_ai(call_id: int, *, fetch_transcription: bool = True, fetch_summary: bool = True, platform: str | None = None) -> Any — GET /calls_ai/{id} — transcript, summary, action items and sentiment for a call.
  • get_contact(contact_id: int) -> Any
  • get_text(text_id: int) -> Any
  • get_user(user_id: int) -> Any
  • list_calls(**params) -> Any — GET /calls — call log, filter by contact_number, agent_id, from_datetime/to_datetime (per_page max 100).
  • list_calls_ai(**params) -> Any — GET /calls_ai — AI summaries for calls, filter by phone_number or dates (per_page max 20).
  • list_campaigns(**params) -> Any — GET /sales_dialer/campaigns — Sales Dialer campaigns (page 0 is first; per_page max 50).
  • list_contacts(**params) -> Any — GET /contacts — contacts, contact_number finds one by phone (page 0 is first; per_page max 500).
  • list_phone_numbers(**params) -> Any — GET /phone-numbers — the account's JustCall numbers, filter by capabilities=sms (per_page max 100).
  • list_texts(**params) -> Any — GET /texts — SMS history, filter by contact_number, justcall_number, sms_direction (per_page max 100).
  • list_users(**params) -> Any — GET /users — agents with their numbers and availability (per_page max 100).
  • send_text(justcall_number: str, contact_number: str, body: str, *, schedule_at: str | None = None, restrict_once: str | None = None, media_url: str | None = None) -> Any — POST /texts/new — send an SMS from a JustCall number (E.164 numbers; schedule_at 'YYYY-MM-DD HH:mm:ss').
  • update_contact(payload: dict) -> Any — PUT /contacts — update a contact found by id or contact_number (notes are [{note}]).
    • example: {"contact_number":"+14155550123","company":"Acme"}

Questions about JustCall and hyreflow

Can I use JustCall inside Claude or ChatGPT?

Yes. hyreflow is a connector for Claude, ChatGPT and other AI assistants. Once hyreflow is connected, you ask for the outcome in plain language and the assistant calls JustCall for you. hyreflow exposes 17 JustCall actions this way.

Do I need my own JustCall account to use it with hyreflow?

Yes. JustCall runs on your own JustCall account. You connect it to hyreflow once, hyreflow charges no credits for the calls, and JustCall bills you as before.

What does JustCall cost through hyreflow?

JustCall runs on your own JustCall account: hyreflow charges no credits for it, and JustCall bills you as before.

How do I connect JustCall to an AI agent over MCP?

Add the hyreflow MCP server to your assistant and sign in. hyreflow calls the JustCall API directly and exposes its actions as tools the assistant can run, so there is no separate JustCall server to install.

Connect hyreflow to your assistant →

Put JustCall to work from one prompt

Connect hyreflow to Claude or ChatGPT and ask for the outcome. It reads the playbook above before it makes a single call.