The Healthie connector lets your AI agent act in each user's Healthie account. Each user connects their own Healthie API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 44 tools.
- Tools
- 44
- What they doRead · write · destructive
- 29 · 13 · 229 read13 write2 destructive
- Users sign in with
- API key
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Healthie connection
In AgentKit > Connections, create a Healthie connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Console steps with screenshots
Healthie connections use a Healthie API key. Each key belongs to one Healthie provider or staff user, and every tool call acts as that user, with that user’s permissions. Each connected account stores the key and the Healthie environment it was issued for.
-
Create a Healthie API key
Sign in to Healthie as the user the agent should act as, and go to Settings > Developer > API Key to create a key. API access is an add-on for Healthie’s Group and Enterprise plans.
Keys are tied to one environment: a production key works only against Production, and a sandbox key only against Sandbox.
-
Create the connection
In the Scalekit dashboard, go to AgentKit > Connections > Create Connection, find Healthie and click Create. The connection name is the
connection_nameyour code passes. -
Add a connected account
To test, open the connection, click the Connected Accounts tab > Add Account, and fill in:
- The user’s identifier: your app’s ID for the user, such as
user_123. - Environment: Production (
api.gethealthie.com) or Sandbox (staging) (staging-api.gethealthie.com), matching the key. - API Key: the key only, without the word
Basic.
In production, each user opens the authorization link and enters the same fields there.
- The user’s identifier: your app’s ID for the user, such as
-
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'healthie'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Healthie:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'healthie_get_current_user',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "healthie"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Healthie:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="healthie_get_current_user",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Healthie credentials there. If your app already has a user's credentials, add the account from your backend instead, as the console steps above show. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolhealthie_get_appointmentGet one Healthie appointment by ID.Read-onlyGet Appointment
Get one Healthie appointment by ID. Returns its date, start and end, length, contact type, status, confirmation flags, location, notes, video links, appointment type, provider, client and attendees, recurrence, cancellation reason, and the attached chart note and intake form IDs. Use this when you already have the appointment ID; use healthie_list_appointments to find it. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
appointment_idstringrequired- Healthie ID of the appointment. Example: "9900".
include_deletedboolean- Set true to return the appointment even if it was deleted.
healthie_get_appointment_typeGet one Healthie appointment type by ID.Read-onlyGet Appointment Type
Get one Healthie appointment type by ID. Returns its id, name, length, available contact types, booking and waitlist flags, pricing, client-facing name and description, and its no-availability message. Use this to check an appointment type's length and allowed contact types before booking; use healthie_list_appointment_types to find the ID. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
appointment_type_idstringrequired- Healthie ID of the appointment type. Example: "1128". Find it with healthie_list_appointment_types.
healthie_get_billing_itemGet one Healthie billing item (payment or charge) by ID.Read-onlyGet Billing Item
Get one Healthie billing item (payment or charge) by ID. Returns its amount, currency, state, payment method and card details, description, failure reason, refund details, payer, recipient, provider, packages and timestamps. Use this when you have a billing item ID from healthie_list_billing_items. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
billing_item_idstringrequired- Healthie ID of the billing item. Example: "8888".
healthie_get_clientGet one Healthie client (patient) by ID.Read-onlyGet Client
Get one Healthie client (patient) by ID. Returns the client's demographics, contact details, address, primary provider and care team, group, tags, quick notes, metadata, default billing type and insurance policies; user is null when no client has that ID or the key cannot see it. Use this when you already have the client ID; use healthie_search_clients to find it, and healthie_list_client_policies for full policy details. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
client_idstringrequired- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients.
healthie_get_conversationGet one Healthie chat conversation by ID, without its messages.Read-onlyGet Conversation
Get one Healthie chat conversation by ID, without its messages. Returns the conversation's id, name, category, client, owner, members, member count, last message preview, closed date and timestamps. Use this to see who is in a conversation; use healthie_list_messages to read its messages. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
conversation_idstringrequired- Healthie ID of the conversation. Example: "5555". Find it with healthie_list_conversations.
healthie_get_current_userGet the Healthie user the API key belongs to.Read-onlyGet Current User
Get the Healthie user the API key belongs to. Returns the user's id, names, email, time zone, NPI, qualifications, whether they are an active provider, and their organization. Use this to find your own provider ID or check which account the connection uses; use healthie_list_providers for other team members. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
This tool takes no inputs.
healthie_get_filled_formGet one filled-out form or chart note (form answer group) with its answers.Read-onlyGet Filled Form
Get one filled-out form or chart note (form answer group) with its answers. Returns the form's id, name, finished and locked flags, chart note status, template, client, filler, linked appointment and each answer's custom_module_id, label, answer and displayed answer. Use this to read a chart note or intake form; use healthie_list_chart_notes or healthie_list_filled_forms to find the ID. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
filled_form_idstringrequired- Healthie ID of the filled form (form answer group). Example: "1234".
healthie_get_form_templateGet one Healthie form template with its questions.Read-onlyGet Form Template
Get one Healthie form template with its questions. Returns the template's id, name and charting flag, and each question's id (custom_module_id), label, sublabel, question type (mod_type), options, required flag and position. Use this before healthie_create_filled_form to learn which custom_module_id answers each question; use healthie_list_form_templates to find the template. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
form_template_idstringrequired- Healthie ID of the form template (custom_module_form_id). Example: "100".
healthie_get_next_available_slotGet the soonest open slot for a provider and appointment type.Read-onlyGet Next Available Slot
Get the soonest open slot for a provider and appointment type. Returns the date-time of the next available slot as a string, or null when none is open in the window. Use this for "when is the next opening" questions; use healthie_list_available_slots to see every slot in a range. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
appointment_type_idstringrequired- Appointment type to check availability for. Example: "1128". Find it with healthie_list_appointment_types.
provider_idstringrequired- Healthie user ID of the provider. Example: "67890".
appointment_location_idstring- For in-person visits, the appointment location ID to check. Example: "55".
contact_typestring- How the appointment is held, as one of the organization's contact types, for example "Healthie Video Call", "In Person" or "Phone Call". Get the exact values with healthie_list_contact_types or the appointment type's available_contact_types.
end_date_boundarystring- Don't return a slot after this date (YYYY-MM-DD). Example: "2026-12-31".
licensed_in_statestring- Only include providers licensed in this US state (two-letter code). Example: "NY".
org_levelboolean- Set true to check availability across providers in the organization instead of only provider_id.
provider_idsarray- With org_level true, limit the search to these provider IDs. Example: ["67890","67891"].
start_date_boundarystring- Don't return a slot before this date (YYYY-MM-DD). Example: "2026-11-05".
timezonestring- IANA time zone name used to interpret and return dates. Defaults to the provider's time zone. Example: "America/New_York".
healthie_get_policyGet one insurance policy by ID.Read-onlyGet Policy
Get one insurance policy by ID. Returns the policy's member and group numbers, priority, billing method, copay and coinsurance, holder details, effective dates, notes, referral and authorization flags, insurance plan, and the latest eligibility check status. Use this when you have a policy ID from healthie_list_client_policies. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
policy_idstringrequired- Healthie ID of the policy. Example: "3333".
healthie_get_providerGet one Healthie provider (clinician or staff user) by ID.Read-onlyGet Provider
Get one Healthie provider (clinician or staff user) by ID. Returns the provider's id, names, email, phone, time zone, NPI, qualifications, profession, specialties, state licenses and organization; provider is null when the ID is not visible to the key. Use this when you already have a provider ID; use healthie_list_providers to find it. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
provider_idstringrequired- Healthie ID of the provider (clinician or staff user). Example: "67890". Find it with healthie_list_providers or healthie_get_current_user.
healthie_get_taskGet one Healthie task by ID.Read-onlyGet Task
Get one Healthie task by ID. Returns the task's content, complete flag and completion time, due date, priority, seen and hidden flags, client, creator, assignees, reminder and timestamps. Use this when you have the task ID; use healthie_list_tasks to find it. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
task_idstringrequired- Healthie ID of the task. Example: "777".
healthie_list_appointment_locationsList the in-person appointment locations set up in Healthie, optionally for one provider or appointment type.Read-onlyList Appointment Locations
List the in-person appointment locations set up in Healthie, optionally for one provider or appointment type. Returns a page of locations with id, address text, whether clients can book there, and rooms, plus page_info and total_count. Use this to get an appointment_location_id, which Healthie requires when booking an in-person appointment. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
appointment_type_idstring- Only return locations offered for this appointment type ID. Example: "1128".
keywordsstring- Text to search locations by. Example: "Main St".
org_levelboolean- Set true to return locations across the whole organization rather than one provider.
page_sizeinteger- Number of locations to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
provider_idstring- Healthie ID of the provider (clinician or staff user). Example: "67890". Find it with healthie_list_providers or healthie_get_current_user. Only locations this provider uses are returned.
healthie_list_appointment_typesList the appointment types defined in Healthie, optionally for one provider or filtered by name or client bookability.Read-onlyList Appointment Types
List the appointment types defined in Healthie, optionally for one provider or filtered by name or client bookability. Returns a page of appointment types with id, name, length in minutes, available contact types, whether clients can book, group and waitlist flags and pricing, plus page_info and total_count. Use this to get an appointment_type_id for booking or availability; use healthie_get_appointment_type for one type. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
clients_can_bookboolean- Set true to return only types clients can self-book.
keywordsstring- Text to search appointment types by name. Example: "Initial".
org_levelboolean- Set true to include every appointment type in the organization.
page_sizeinteger- Number of appointment types to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
provider_idstring- Only return appointment types this provider offers (Healthie user ID). Example: "67890".
show_groupboolean- Set true to return group appointment types and false for 1:1 types only.
healthie_list_appointmentsList appointments for the connected provider, a client, another provider or the whole organization, filtered by time window, date range, status or appointment type.Read-onlyList Appointments
List appointments for the connected provider, a client, another provider or the whole organization, filtered by time window, date range, status or appointment type. Returns a page of appointments with id, date, start and end, length, contact type, status (pm_status), confirmation flags, location, notes, appointment type, provider, client and attendees, plus page_info and total_count. Use this to see a schedule or a client's visits; use healthie_get_appointment for one appointment's forms and recurrence details. By default only future appointments are returned. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
appointment_type_idstring- Only appointments of this appointment type ID. Example: "1128".
client_idstring- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients. Only this client's appointments are returned.
end_datestring- Only appointments on or before this date, as YYYY-MM-DD or ISO 8601 date-time. Send it together with start_date. Example: "2026-11-30".
filterstring- Which appointments to return by time: "future" (default), "upcoming", "past", "ended", "didnt-occur" or "all".one of
futureupcomingpastendeddidnt-occurall is_activeboolean- Set true to exclude cancelled, no-show and rescheduled appointments.
is_orgboolean- Set true to return appointments for every provider in the organization (needs organization access).
order_bystring- Sort order, e.g. DATE_ASC or DATE_DESC.one of
DATE_ASCDATE_DESCCREATED_AT_DESCCREATED_AT_ASCUPDATED_AT_DESCUPDATED_AT_ASCUNSORTED page_sizeinteger- Number of appointments to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
provider_idstring- Healthie ID of the provider (clinician or staff user). Example: "67890". Find it with healthie_list_providers or healthie_get_current_user. Only this provider's appointments are returned.
start_datestring- Only appointments on or after this date, as YYYY-MM-DD or ISO 8601 date-time. Send it together with end_date. Example: "2026-11-01".
statusstring- Only appointments with this status (pm_status), e.g. "Occurred", "No-Show", "Re-Scheduled" or "Cancelled".
with_all_statusesboolean- Set true to return appointments of every status; this overrides is_active and the didnt-occur filter.
healthie_list_available_daysList the days in a month on which a provider has open time for an appointment type.Read-onlyList Available Days
List the days in a month on which a provider has open time for an appointment type. Returns an array of dates (YYYY-MM-DD) that have at least one bookable slot. Use this first to find days with availability, then call healthie_list_available_slots for the times on a chosen day; healthie_get_next_available_slot gives just the soonest time. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
appointment_type_idstringrequired- Appointment type to check availability for. Example: "1128". Find it with healthie_list_appointment_types.
date_from_monthstringrequired- Any date (YYYY-MM-DD) in the month to check. Example: "2026-11-01".
provider_idstringrequired- Healthie user ID of the provider whose availability to check. Example: "67890".
appointment_location_idstring- For in-person visits, the appointment location ID to check. Example: "55".
appointment_to_reschedule_idstring- When rescheduling, the ID of the appointment being moved, so its own slot is treated as free. Example: "9900".
contact_typestring- How the appointment is held, as one of the organization's contact types, for example "Healthie Video Call", "In Person" or "Phone Call". Get the exact values with healthie_list_contact_types or the appointment type's available_contact_types.
end_date_boundarystring- Don't return days after this date (YYYY-MM-DD). Example: "2026-11-20".
licensed_in_statestring- Only include providers licensed in this US state (two-letter code). Example: "NY".
org_levelboolean- Set true to check availability across providers in the organization instead of only provider_id.
provider_idsarray- With org_level true, limit the search to these provider IDs. Example: ["67890","67891"].
start_date_boundarystring- Don't return days before this date (YYYY-MM-DD). Example: "2026-11-05".
timezonestring- IANA time zone name used to interpret and return dates. Defaults to the provider's time zone. Example: "America/New_York".
healthie_list_available_slotsList the bookable appointment slots for a provider and appointment type between two dates.Read-onlyList Available Slots
List the bookable appointment slots for a provider and appointment type between two dates. Returns each slot's start date-time, length, provider user_id, appointment type, and fully-booked and waitlist flags for group slots. Use this to offer specific times before booking with healthie_book_appointment (pass the slot's date as datetime and user_id as provider_id). Keep the range to about a day; use healthie_list_available_days to find days first. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
appointment_type_idstringrequired- Appointment type to check availability for. Example: "1128". Find it with healthie_list_appointment_types.
end_datestringrequired- End of the range, as YYYY-MM-DD or a full ISO 8601 date-time. Use the same day as start_date for one day. Example: "2026-11-03".
provider_idstringrequired- Healthie user ID of the provider whose slots to list. Example: "67890".
start_datestringrequired- Start of the range, as YYYY-MM-DD or a full ISO 8601 date-time. Example: "2026-11-03".
appointment_location_idstring- For in-person visits, the appointment location ID to check. Example: "55".
appointment_to_reschedule_idstring- When rescheduling, the ID of the appointment being moved, so its own slot is treated as free. Example: "9900".
contact_typestring- How the appointment is held, as one of the organization's contact types, for example "Healthie Video Call", "In Person" or "Phone Call". Get the exact values with healthie_list_contact_types or the appointment type's available_contact_types.
licensed_in_statestring- Only include providers licensed in this US state (two-letter code). Example: "NY".
org_levelboolean- Set true to check availability across providers in the organization instead of only provider_id.
provider_idsarray- With org_level true, limit the search to these provider IDs. Example: ["67890","67891"].
timezonestring- IANA time zone name used to interpret and return dates. Defaults to the provider's time zone. Example: "America/New_York".
healthie_list_billing_itemsList billing items (client payments and charges) in Healthie, filtered by client, provider, status, date range or text.Read-onlyList Billing Items
List billing items (client payments and charges) in Healthie, filtered by client, provider, status, date range or text. Returns a page of billing items with id, amount paid, currency, state, payment method, recurring and cancelled flags, description, refund details, payer, recipient, provider, packages and timestamps, plus page_info and total_count. Use this to review a client's payments; use healthie_get_billing_item for one item. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
client_idstring- Only billing items for this client. Example: "12345".
created_afterstring- Only items created on or after this ISO 8601 date-time. Example: "2026-10-01T00:00:00Z".
created_beforestring- Only items created on or before this ISO 8601 date-time. Example: "2026-10-31T23:59:59Z".
keywordsstring- Text to search billing items by amount paid or payment method. Example: "50.00".
order_bystring- Sort order. Defaults to CREATED_AT_DESC.one of
CREATED_AT_DESCCREATED_AT_ASCUPDATED_AT_DESCUPDATED_AT_ASCAMOUNT_PAID_DESCAMOUNT_PAID_ASCSTATE_ASCSTATE_DESC page_sizeinteger- Number of billing items to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
provider_idstring- Healthie ID of the provider (clinician or staff user). Example: "67890". Find it with healthie_list_providers or healthie_get_current_user. Only this provider's billing items are returned.
statusarray- Only items in these states: succeeded, failed or scheduled. Example: ["succeeded"].
healthie_list_chart_notesList charting notes (filled charting forms) for a client or providers, filtered by date range, status or template.Read-onlyList Chart Notes
List charting notes (filled charting forms) for a client or providers, filtered by date range, status or template. Returns a page of chart notes with id, name, finished and locked flags, chart note status, template, client, filler, linked appointment and dates, plus page_info and total_count. Use this to review a client's charting history; use healthie_get_filled_form for a note's answers and healthie_list_filled_forms for intake and other non-charting forms. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
chart_note_statusstring- Only notes with this status.one of
CREATEDSIGNEDCO_SIGNEDLOCKEDCO_SIGNED_AND_LOCKEDSIGNED_AND_LOCKED client_idstring- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients. Only this client's chart notes are returned.
end_datestring- Only notes on or before this date (YYYY-MM-DD). Example: "2026-10-31".
form_template_idsarray- Only notes based on these form template IDs. Example: ["100"].
page_sizeinteger- Number of chart notes to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
provider_idsarray- Only notes written by these provider IDs. Example: ["67890"].
start_datestring- Only notes on or after this date (YYYY-MM-DD). Example: "2026-10-01".
healthie_list_client_policiesList a client's insurance policies.Read-onlyList Client Policies
List a client's insurance policies. Returns the client's id and name, and each policy's id, name, member number, group number, priority (primary or secondary), billing method, copay and coinsurance, holder details, effective dates and insurance plan (payer name and payer ID). Use this to check a client's coverage; use healthie_get_policy for authorization and eligibility details, and healthie_add_client_policy to add one. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
client_idstringrequired- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients.
healthie_list_contact_typesList the contact types (how appointments are held) enabled for the connected user's organization.Read-onlyList Contact Types
List the contact types (how appointments are held) enabled for the connected user's organization. Returns an array of contact type names such as "Healthie Video Call", "In Person" and "Phone Call". Use this to get a valid contact_type value for booking, availability and slot searches. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
This tool takes no inputs.
healthie_list_conversationsList the chat conversations of the connected provider, or of a client or another provider, with read status, active status and category filters.Read-onlyList Conversations
List the chat conversations of the connected provider, or of a client or another provider, with read status, active status and category filters. Returns a page of conversation memberships with membership id, viewed (read) flag, display name, and the conversation's id, name, category, last message and owner, plus page_info and total_count. Use this to find conversation IDs or unread chats; use healthie_list_messages to read the messages in one conversation. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
active_statusstring- Filter by conversation status: active (default), archived or closed.one of
activearchivedclosed afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
categorystring- Filter by category: ALL, INDIVIDUAL (one client), COMMUNITY (several clients) or INTERNAL_TEAM (staff only).one of
ALLINDIVIDUALCOMMUNITYINTERNAL_TEAM client_idstring- Only conversations that include this client. Viewing conversations you are not in needs organization admin access. Example: "12345".
keywordsstring- Text to search conversation names and member names. Example: "lab results".
page_sizeinteger- Number of conversations to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
provider_idstring- Healthie ID of the provider (clinician or staff user). Example: "67890". Find it with healthie_list_providers or healthie_get_current_user. Defaults to the connected user; other providers need organization admin access.
read_statusstring- Filter by read status: all (default), read or unread.one of
allreadunread
healthie_list_filled_formsList filled-out forms (form answer groups) such as intake forms, questionnaires and chart notes, filtered by client, template, filler, date or lock status.Read-onlyList Filled Forms
List filled-out forms (form answer groups) such as intake forms, questionnaires and chart notes, filtered by client, template, filler, date or lock status. Returns a page of filled forms with id, name, finished and locked flags, template, client, filler, linked appointment and dates, plus page_info and total_count. Use this to find a client's completed forms; use healthie_get_filled_form for the answers and healthie_list_chart_notes for charting notes with signature status. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
client_idstring- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients. Only forms on this client's chart are returned.
end_datestring- Only forms on or before this date (YYYY-MM-DD). Example: "2026-10-31".
filler_idstring- Only forms filled out by this user ID. Example: "67890".
form_template_idstring- Only forms filled from this template ID. Example: "100".
locked_statusboolean- Set true for locked forms only, or false for unlocked forms only.
order_bystring- Sort order. Defaults to CREATED_AT_DESC.one of
CREATED_AT_DESCCREATED_AT_ASCUPDATED_AT_DESCUPDATED_AT_ASCRECORD_CREATED_AT_DESCRECORD_CREATED_AT_ASCUNSORTED page_sizeinteger- Number of forms to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
start_datestring- Only forms on or after this date (YYYY-MM-DD). Example: "2026-10-01".
use_for_chartingboolean- Set true to return only charting notes.
healthie_list_form_templatesList the form templates (intake forms, questionnaires and charting templates) in the Healthie organization.Read-onlyList Form Templates
List the form templates (intake forms, questionnaires and charting templates) in the Healthie organization. Returns a page of templates with id, name, whether each is used for charting or programs, and created and updated times, plus page_info and total_count. Use this to find a template ID (custom_module_form_id) for healthie_get_form_template or healthie_create_filled_form. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
categorystring- Only templates in this category: charting, program, intake or autoscored_no_metric.one of
chartingprogramintakeautoscored_no_metric keywordsstring- Text to search template names. Example: "SOAP".
order_bystring- Sort order. Defaults to UPDATED_AT_DESC.one of
NAME_ASCNAME_DESCUPDATED_AT_ASCUPDATED_AT_DESCCREATED_AT_ASCCREATED_AT_DESCTYPE_ASCTYPE_DESC page_sizeinteger- Number of templates to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
healthie_list_insurance_plansSearch Healthie's insurance plan (payer) directory by payer name or payer ID, optionally only plans your organization accepts.Read-onlyList Insurance Plans
Search Healthie's insurance plan (payer) directory by payer name or payer ID, optionally only plans your organization accepts. Returns a page of plans with id, payer name, payer ID, combined name and ID, and accepted and custom flags, plus page_info and total_count. Use this to find an insurance_plan_id for healthie_add_client_policy or to check whether a payer is accepted. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
is_acceptedboolean- Set true to return only plans your organization accepts.
keywordsstring- Payer name or payer ID to search for. Example: "Aetna".
order_bystring- Sort order: ACCEPTED or PAYER_NAME_ASC.one of
ACCEPTEDPAYER_NAME_ASC page_sizeinteger- Number of plans to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
healthie_list_messagesList the messages (notes) in a Healthie chat conversation, newest first by default.Read-onlyList Messages
List the messages (notes) in a Healthie chat conversation, newest first by default. Returns a page of messages with id, HTML content, sender (creator), sender user_id, attachment names and URLs, scheduled time and timestamps, plus page_info and total_count. Use this to read a conversation; use healthie_send_message to reply. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
conversation_idstringrequired- Healthie ID of the conversation. Example: "5555". Find it with healthie_list_conversations.
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
keywordsstring- Only messages containing this text. Example: "refill".
order_bystring- Sort order: CREATED_AT_DESC (newest first, default) or CREATED_AT_ASC.one of
CREATED_AT_DESCCREATED_AT_ASC org_chatboolean- Set true when reading a conversation as a care-team member who is not its owner.
page_sizeinteger- Number of messages to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
healthie_list_providersList the providers and staff in the connected user's Healthie organization, optionally filtered by name or state license.Read-onlyList Providers
List the providers and staff in the connected user's Healthie organization, optionally filtered by name or state license. Returns a page of members with id, names, email, phone, time zone, NPI, qualifications, profession and active-provider flag, plus page_info and total_count. Use this to find a provider ID for scheduling, availability or task assignment; use healthie_get_provider for one provider. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
keywordsstring- Text to search members by name or email. Example: "Smith".
licensed_in_statestring- Only return providers licensed in this US state, as a two-letter code. Example: "CA".
order_bystring- Sort order. Defaults to LAST_NAME_ASC.one of
LAST_NAME_ASCLAST_NAME_DESCFIRST_NAME_ASCFIRST_NAME_DESCEMAIL_ASCEMAIL_DESCCREATED_AT_DESCCREATED_AT_ASC page_sizeinteger- Number of providers to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
healthie_list_tasksList provider tasks in Healthie, filtered by client, assignees, completion status, creator or text.Read-onlyList Tasks
List provider tasks in Healthie, filtered by client, assignees, completion status, creator or text. Returns a page of tasks with id, content, complete flag, due date, priority, client, creator, assignees and timestamps, plus page_info and total_count. Use this to see a to-do list or a client's open tasks; use healthie_get_task for one task and healthie_create_task to add one. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
assignee_idsarray- Only tasks assigned to these user IDs. Example: ["67890"].
client_idstring- Only tasks about this client. Example: "12345".
completed_statusstring- Only complete or only incomplete tasks. Leave empty for both.one of
completeincomplete created_by_selfboolean- Set true for tasks you created, or false for tasks created by others.
keywordsstring- Only tasks whose content contains this text. Example: "refill".
order_bystring- Sort order, e.g. DUE_DATE_ASC or CREATED_DESC.one of
DUE_DATE_ASCDUE_DATE_DESCCREATED_ASCCREATED_DESCPRIORITY_ASCPRIORITY_DESCUPDATED_AT_ASCUPDATED_AT_DESCCOMPLETED_AT_ASCCOMPLETED_AT_DESCCLIENT_NAME_ASCCLIENT_NAME_DESCTASK_ASCTASK_DESC page_sizeinteger- Number of tasks to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
typestring- Which tasks: all (assigned to or created by you) or assigned (created by others and assigned to you).one of
allassigned
healthie_search_clientsSearch the clients (patients) the connected Healthie user can see, by name, email, date of birth or record ID, with optional status, provider, group and tag filters.Read-onlySearch Clients
Search the clients (patients) the connected Healthie user can see, by name, email, date of birth or record ID, with optional status, provider, group and tag filters. Returns a page of clients with id, names, email, phone, date of birth, gender, active flag, record identifier, primary provider id, group id and next appointment date, plus page_info and total_count. Use this to find a client's ID or browse the client list; use healthie_get_client for one client's full profile, insurance policies and address. Paginated: when page_info.has_next_page is true, call again with after set to page_info.end_cursor. GraphQL errors return HTTP 200 with an errors array, so check it on every response.
Inputs
active_statusstring- Only return clients with this status: "active" or "archived".one of
activearchived afterstring- Cursor for the next page: pass page_info.end_cursor from the previous response to continue after it. Leave empty for the first page. Example: "eyJpZCI6IjEyMzQ1In0=".
group_idstring- Only return clients in this client group (user group) ID. Example: "4321".
idsarray- Only return clients with these Healthie IDs. Example: ["12345","12346"].
keywordsstring- Text to search clients by. Matches ID, first, legal or last name, record identifier, email, date of birth (YYYY-MM-DD) and NPI. Combine terms with spaces. Example: "Jordan Test 1990-01-01".
order_bystring- Sort order. Defaults to LAST_NAME_ASC.one of
LAST_NAME_ASCLAST_NAME_DESCFIRST_NAME_ASCFIRST_NAME_DESCEMAIL_ASCEMAIL_DESCCREATED_AT_DESCCREATED_AT_ASCUPDATED_AT_DESCUPDATED_AT_ASCNEXT_APPT_DATE_ASCNEXT_APPT_DATE_DESC page_sizeinteger- Number of clients to return in this page, from 1 to 100. Healthie recommends 10 to 50. Defaults to the server page size when omitted. Example: 25.
provider_idstring- Only return clients whose primary provider has this Healthie user ID. Example: "67890".
tag_idsarray- Only return clients that have at least one of these tag IDs. Example: ["11","12"].
healthie_add_client_policyAdd an insurance policy to a client's profile, linked to an insurance plan (payer).WriteAdd Client Policy
Add an insurance policy to a client's profile, linked to an insurance plan (payer). Returns the client's id and full list of policies with id, member and group numbers, priority and plan, plus messages listing any validation problems. Use this to record new coverage; find the plan ID with healthie_list_insurance_plans and change an existing policy with healthie_update_policy. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
Inputs
client_idstringrequired- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients.
insurance_plan_idstringrequired- Healthie ID of the insurance plan (payer). Example: "2468". Find it with healthie_list_insurance_plans.
member_numberstringrequired- Member (policy) number on the insurance card. Example: "ABC123456789".
coinsurance_valueinteger- Coinsurance value when the billing method is coinsurance. Example: 20.
copay_valueinteger- Copay amount in cents when the billing method is copay. Example: 2500 for $25.00.
group_numberstring- Group number on the insurance card. Example: "GRP-0001".
holder_dobstring- Policy holder's date of birth (YYYY-MM-DD). Example: "1990-01-01".
holder_firststring- Policy holder's first name. Example: "Jordan".
holder_genderstring- Policy holder's gender. Example: "Female".
holder_laststring- Policy holder's last name. Example: "Test".
holder_phonestring- Policy holder's phone number. Example: "555-555-0100".
holder_relationshipstring- Client's relationship to the policy holder, as text. Use "Self" when the client is the holder. Example: "Self".
insurance_billing_methodstring- How the client's share is billed: no_billing_method, copay, coinsurance or unmet_deductible.one of
no_billing_methodcopaycoinsuranceunmet_deductible priority_typestring- Coverage order of the policy. Healthie's schema lists primary, secondary and inactive. Example: "primary".
healthie_book_appointmentBook a 1:1 appointment for a client with a provider, as the connected provider or staff user.WriteBook Appointment
Book a 1:1 appointment for a client with a provider, as the connected provider or staff user. Returns the new appointment's id, date, length, contact type, status, location, appointment type, provider and client, plus messages listing any validation problems. Use this to schedule a visit; check open times first with healthie_list_available_slots, because Healthie does not enforce availability unless enforce_availability is true. Use healthie_reschedule_appointment to move an existing one. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
Inputs
appointment_type_idstringrequired- Appointment type ID. Example: "1128". Find it with healthie_list_appointment_types.
client_idstringrequired- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients. The client attending this 1:1 appointment.
contact_typestringrequired- How the appointment is held, as one of the organization's contact types, for example "Healthie Video Call", "In Person" or "Phone Call". Get the exact values with healthie_list_contact_types or the appointment type's available_contact_types.
datetimestringrequired- Start of the appointment as ISO 8601 ("2026-11-03T14:00:00-05:00") or "YYYY-MM-DD HH:MM:SS" in the timezone given. Example: "2026-11-03T14:00:00-05:00".
appointment_location_idstring- Appointment location ID. Required for in-person appointments. Example: "55". Find it with healthie_list_appointment_locations.
enforce_availabilityboolean- Set true to have Healthie reject the booking if the time is not an open slot. Defaults to false.
external_videochat_urlstring- Video link to use instead of Healthie's built-in video or Zoom. Example: "https://video.example.com/room/123".
metadatastring- Your own metadata as a serialized JSON string. Example: "{\"source\":\"agent\"}".
notesstring- Notes to store on the appointment. Example: "Follow-up on lab results."
provider_idstring- Healthie user ID of the provider seeing the client. Defaults to the connected user. Example: "67890".
timezonestring- IANA time zone name used to interpret and return dates. Defaults to the provider's time zone. Example: "America/New_York".
healthie_cancel_appointmentCancel a Healthie appointment as a provider by setting its status to Cancelled; the appointment stays on the calendar and in history.WriteCancel Appointment
Cancel a Healthie appointment as a provider by setting its status to Cancelled; the appointment stays on the calendar and in history. Returns the appointment's id, date, status and details, plus messages listing any validation problems. Use this for normal cancellations; use healthie_delete_appointment only to remove an appointment entirely, and healthie_update_appointment to record other statuses such as No-Show. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
appointment_idstringrequired- Healthie ID of the appointment to cancel. Example: "9900".
cancellation_reasonstring- Free-text reason for the cancellation. Example: "Client requested a later date."
initiated_bystring- Who initiated the cancellation: client, provider or organization.one of
clientproviderorganization update_recurringboolean- For a recurring series, set true to cancel this and all later appointments.
healthie_create_clientCreate a new client (patient) in Healthie, assigned to a provider.WriteCreate Client
Create a new client (patient) in Healthie, assigned to a provider. Returns the new client's id, names, email, phone, date of birth, primary provider and group, plus messages listing any validation problems. Use this to add a client who does not exist yet; search first with healthie_search_clients to avoid duplicates, and use healthie_update_client to change an existing one. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
Inputs
first_namestringrequired- Client's first (preferred) name. Example: "Jordan".
last_namestringrequired- Client's last name. Example: "Test".
default_billing_typestring- Default billing type: SELF_PAY or INSURANCE_PAY.one of
SELF_PAYINSURANCE_PAY dobstring- Date of birth in YYYY-MM-DD format. Example: "1990-01-01".
dont_send_welcomeboolean- Set true to skip Healthie's welcome email to the client.
emailstring- Client's email address. Required unless skipped_email is true. Example: "jordan.test@example.com".
genderstring- Client's gender as free text. Example: "Female".
legal_namestring- Client's legal first name, when it differs from the preferred first name. Example: "Jordanna".
metadatastring- Your own metadata as a serialized JSON string, up to 128,000 characters. It replaces the existing value. Example: "{\"source\":\"agent\"}".
other_provider_idsarray- IDs of additional providers on the client's care team. Example: ["67891"].
phone_numberstring- Client's phone number. Example: "555-555-0100".
provider_idstring- Healthie user ID of the client's primary provider. Defaults to the connected user. Example: "67890".
record_identifierstring- Your own record or MRN identifier for this client. Example: "MRN-0001".
skipped_emailboolean- Set true to create the client without an email address.
timezonestring- Client's IANA time zone. Example: "America/Chicago".
user_group_idstring- Client group (user group) to place the client in. Example: "4321".
healthie_create_conversationStart a new Healthie chat conversation with clients, providers or client groups, optionally with a subject name.WriteCreate Conversation
Start a new Healthie chat conversation with clients, providers or client groups, optionally with a subject name. Returns the new conversation's id, name, category, owner, members and timestamps, plus messages listing any validation problems. Use this to open a new thread; then post into it with healthie_send_message. Check healthie_list_conversations first, because Healthie often creates a client conversation automatically. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
Inputs
membersstringrequired- Comma-separated members to add, using each user's or group's doc_share_id in the form user-<id> or group-<id>. Example: "user-12345,user-67891".
appointment_idstring- Appointment to link the conversation to. Example: "9900".
namestring- Subject of the conversation. Defaults to the members' names. Example: "Questions before your next visit".
owner_idstring- Healthie user ID of the staff member who owns the conversation. Defaults to the connected user. Example: "67890".
healthie_create_filled_formCreate a filled-out form on a client's chart, such as a chart note or intake form, from a form template and a list of answers.WriteCreate Filled Form
Create a filled-out form on a client's chart, such as a chart note or intake form, from a form template and a list of answers. Returns the new form's id, name, finished and locked flags, template, client, and saved answers, plus messages listing any validation problems. Use this to write a chart note or record a form for a client; get the question IDs first with healthie_get_form_template. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
Inputs
client_idstringrequired- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients. The form is saved to this client's chart.
form_answersarrayrequired- Answers to the template's questions. Each answer needs the question's custom_module_id (from healthie_get_form_template) and the answer as text; the client's user_id is added for you. Example: [{"custom_module_id":"1","answer":"Patient reports improved sleep."},{"custom_module_id":"2","answer":"Continue current plan."}].
form_template_idstringrequired- Healthie ID of the form template being filled (custom_module_form_id). Example: "100".
appointment_idstring- Appointment this form or chart note belongs to. Example: "9900".
finishedboolean- Whether the form is complete. Defaults to true, which makes it visible on the chart; set false to save a draft that can only be fetched by ID.
marked_lockedboolean- Set true to lock the form from further editing after it is created.
namestring- Title for this filled form. Defaults to the template name. Example: "Follow-up visit note".
healthie_create_taskCreate a provider task in Healthie, optionally about a client, assigned to team members and with a due date and priority.WriteCreate Task
Create a provider task in Healthie, optionally about a client, assigned to team members and with a due date and priority. Returns the new task's id, content, due date, priority, complete flag, client, creator and assignees, plus messages listing any validation problems. Use this to add a to-do; use healthie_update_task to change or complete an existing one. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
Inputs
contentstringrequired- What needs to be done. Example: "Call the client about lab results."
assignee_idsarray- User IDs of the providers or staff to assign. Defaults to the connected user on create. Example: ["67890"].
client_idstring- Client this task is about. Example: "12345".
completeboolean- Set true to mark the task complete.
due_datestring- Due date as YYYY-MM-DD or ISO 8601 date-time. Example: "2026-11-10".
priorityinteger- 0 for normal priority or 1 for high priority.one of
01
healthie_reschedule_appointmentMove an existing Healthie appointment to a new date and time, optionally changing its provider, contact type or location.WriteReschedule Appointment
Move an existing Healthie appointment to a new date and time, optionally changing its provider, contact type or location. Returns the updated appointment's id, date, length, contact type, status, location, appointment type, provider and client, plus messages listing any validation problems. Use this to change when an appointment happens; find open times with healthie_list_available_slots (pass appointment_to_reschedule_id). Use healthie_cancel_appointment to cancel instead. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
appointment_idstringrequired- Healthie ID of the appointment to move. Example: "9900".
datetimestringrequired- New start as ISO 8601 ("2026-11-04T10:00:00-05:00") or "YYYY-MM-DD HH:MM:SS" in the timezone given. Example: "2026-11-04T10:00:00-05:00".
appointment_location_idstring- New appointment location ID for in-person visits. Example: "55".
contact_typestring- How the appointment is held, as one of the organization's contact types, for example "Healthie Video Call", "In Person" or "Phone Call". Get the exact values with healthie_list_contact_types or the appointment type's available_contact_types.
enforce_availabilityboolean- Set true to have Healthie reject the change if the new time is not an open slot.
provider_idstring- Healthie user ID of a different provider to see the client. Example: "67891".
skip_notification_emailboolean- Set true to suppress Healthie's reschedule notification emails.
timezonestring- IANA time zone name used to interpret and return dates. Defaults to the provider's time zone. Example: "America/New_York".
update_recurringboolean- For a recurring series, set true to apply the change to this and all later appointments.
healthie_send_messageSend a chat message (note) into an existing Healthie conversation as the connected user, now or at a scheduled time.WriteSend Message
Send a chat message (note) into an existing Healthie conversation as the connected user, now or at a scheduled time. Returns the new message's id, content, conversation id, sender and timestamps, plus messages listing any validation problems. Use this to message a client or care team in a known conversation; use healthie_create_conversation to start a new one and healthie_list_messages to read replies. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
Inputs
contentstringrequired- Message text. Healthie stores it as HTML and allows basic formatting such as <p>, <b>, <i> and <u>. Example: "<p>Your lab results are ready to review.</p>".
conversation_idstringrequired- Healthie ID of the conversation to post in. Example: "5555".
hide_org_chat_confirmationboolean- Set true to skip the org-chat confirmation step when org_chat is true.
org_chatboolean- Set true when posting as a care-team member who is not the conversation owner.
scheduled_atstring- Send the message later at this ISO 8601 date-time instead of now. Example: "2026-11-03T09:00:00-05:00".
healthie_update_appointmentUpdate a Healthie appointment's status, confirmation, notes, contact type, appointment type, location or video link without moving it.WriteUpdate Appointment
Update a Healthie appointment's status, confirmation, notes, contact type, appointment type, location or video link without moving it. Only the fields you pass change. Returns the updated appointment's id, date, status, confirmation flags, location, notes and details, plus messages listing any validation problems. Use this to mark an appointment Occurred, No-Show or Checked-In, or to edit details; use healthie_reschedule_appointment to change the time and healthie_cancel_appointment to cancel. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
appointment_idstringrequired- Healthie ID of the appointment. Example: "9900".
appointment_location_idstring- New appointment location ID. Example: "55".
appointment_type_idstring- New appointment type ID. Example: "1128".
confirmedboolean- Set true to mark the appointment confirmed by the provider.
contact_typestring- How the appointment is held, as one of the organization's contact types, for example "Healthie Video Call", "In Person" or "Phone Call". Get the exact values with healthie_list_contact_types or the appointment type's available_contact_types.
external_videochat_urlstring- Video link to use instead of Healthie's built-in video or Zoom. Example: "https://video.example.com/room/123".
metadatastring- Your own metadata as a serialized JSON string. Replaces the existing value. Example: "{\"source\":\"agent\"}".
notesstring- Notes to store on the appointment. Replaces the existing notes. Example: "Bring recent lab results."
statusstring- New appointment status (pm_status). "Late Cancellation" and "Checked-In" work only when enabled for the organization.one of
OccurredNo-ShowRe-ScheduledCancelledLate CancellationChecked-In
healthie_update_clientUpdate an existing Healthie client's profile: names, contact details, date of birth, provider, care team, group, status, address and metadata.WriteUpdate Client
Update an existing Healthie client's profile: names, contact details, date of birth, provider, care team, group, status, address and metadata. Only the fields you pass change. Returns the updated client's id, names, email, phone, date of birth, active flag, provider and group, plus messages listing any validation problems. Use this to edit a client; use healthie_create_client for a new one and healthie_add_client_policy to add insurance. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
client_idstringrequired- Healthie ID of the client (patient). Example: "12345". Find it with healthie_search_clients.
activeboolean- Set false to archive the client or true to reactivate them.
default_billing_typestring- Default billing type: SELF_PAY or INSURANCE_PAY.one of
SELF_PAYINSURANCE_PAY dobstring- Date of birth in YYYY-MM-DD format. Example: "1990-01-01".
emailstring- Client's email address. Healthie sends account emails here. Example: "jordan.test@example.com".
first_namestring- Client's first (preferred) name. Example: "Jordan".
genderstring- Client's gender as free text. Example: "Female".
last_namestring- Client's last name. Example: "Test".
legal_namestring- Client's legal first name, when it differs from the preferred first name. Example: "Jordanna".
locationobject- Client's primary address as an object with line1, line2, city, state, zip and country. Include the existing location id to edit it rather than add one. Example: {"line1":"1 Main St","city":"Springfield","state":"IL","zip":"62701","country":"US"}.
metadatastring- Your own metadata as a serialized JSON string, up to 128,000 characters. It replaces the existing value. Example: "{\"source\":\"agent\"}".
other_provider_idsarray- IDs of additional providers on the client's care team. Example: ["67891"].
phone_numberstring- Client's phone number. Example: "555-555-0100".
provider_idstring- Healthie user ID of the new primary provider. Example: "67890".
quick_notesstring- Short notes about the client that providers see on the profile. Replaces the existing value. Example: "Prefers afternoon visits."
record_identifierstring- Your own record or MRN identifier for this client. Example: "MRN-0001".
timezonestring- Client's IANA time zone. Example: "America/Chicago".
user_group_idstring- Client group (user group) to place the client in. Example: "4321".
healthie_update_policyUpdate an existing insurance policy's holder details, priority, effective dates, notes, or referral and authorization flags.WriteUpdate Policy
Update an existing insurance policy's holder details, priority, effective dates, notes, or referral and authorization flags. Only the fields you pass change. Returns the updated policy's details and insurance plan, plus messages listing any validation problems. Use this to correct or extend a policy; use healthie_add_client_policy to add a new one. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
policy_idstringrequired- Healthie ID of the policy. Example: "3333". Find it with healthie_list_client_policies.
effective_endstring- Date coverage ends (YYYY-MM-DD). Example: "2026-12-31".
effective_startstring- Date coverage starts (YYYY-MM-DD). Example: "2026-01-01".
holder_dobstring- Policy holder's date of birth (YYYY-MM-DD). Example: "1990-01-01".
holder_firststring- Policy holder's first name. Example: "Jordan".
holder_genderstring- Policy holder's gender. Example: "Female".
holder_laststring- Policy holder's last name. Example: "Test".
holder_phonestring- Policy holder's phone number. Example: "555-555-0100".
insurance_authorization_requiredboolean- Set true if visits need prior authorization.
notesstring- Notes about the policy. Example: "Verified by phone."
priority_typestring- Coverage order of the policy. Healthie's schema lists primary, secondary and inactive. Example: "primary".
referral_requiredboolean- Set true if the plan requires a referral.
healthie_update_taskUpdate a Healthie task's content, assignees, client, due date or priority, or mark it complete.WriteUpdate Task
Update a Healthie task's content, assignees, client, due date or priority, or mark it complete. Only the fields you pass change. Returns the updated task's id, content, due date, priority, complete flag, client, creator and assignees, plus messages listing any validation problems. Use this to edit or complete a task; use healthie_create_task for a new one and healthie_delete_task to remove one. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
task_idstringrequired- Healthie ID of the task. Example: "777".
assignee_idsarray- User IDs of the providers or staff to assign. Defaults to the connected user on create. Example: ["67890"].
client_idstring- Client this task is about. Example: "12345".
completeboolean- Set true to mark the task complete.
contentstring- New task description. Example: "Call the client about lab results."
due_datestring- Due date as YYYY-MM-DD or ISO 8601 date-time. Example: "2026-11-10".
priorityinteger- 0 for normal priority or 1 for high priority.one of
01
healthie_delete_appointmentDelete a Healthie appointment as a provider; it is soft-deleted and no longer shows on calendars.DestructiveDelete Appointment
Delete a Healthie appointment as a provider; it is soft-deleted and no longer shows on calendars. Returns the deleted appointment's id plus messages listing any problems. Use this only to remove an appointment that should not exist; use healthie_cancel_appointment to keep a cancelled visit on record. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
appointment_idstringrequired- Healthie ID of the appointment to delete. Example: "9900".
delete_recurringboolean- For a recurring series, set true to delete this and all later appointments.
skip_notification_emailboolean- Set true to suppress Healthie's cancellation emails to the provider and attendees.
healthie_delete_taskDelete a Healthie task permanently.DestructiveDelete Task
Delete a Healthie task permanently. Returns the deleted task's id and content, plus messages listing any problems. Use this to remove a task created by mistake; use healthie_update_task with complete true to close a finished task instead. Validation problems come back in messages (field and message) with HTTP 200, and permission failures as a top-level errors entry; check both.
- Idempotent
Inputs
task_idstringrequired- Healthie ID of the task to delete. Example: "777".
No tools match.