Integrate Kipu with BloomText

Use Kipu appointment and patient data to drive messages in BloomText conversations. Kipu grants its own API access.

Get started for freeSchedule a demo →

Can you connect Kipu to BloomText?

Yes. Kipu's API gives approved programs access to patients, appointments, and group sessions, and the BloomText API sends the messages. Kipu API access is a paid service your program's Super Admin requests, so start there.

How it works

  1. Read from Kipu

    Your app reads patients, appointments, and group sessions through Kipu’s API.

  2. Match to a conversation

    It looks up each patient’s BloomText conversation in a simple mapping your app keeps.

  3. Message in BloomText

    It sends reminders and replies with the BloomText API, and reads new patient replies by time range.

Kipu stays your system of record. BloomText handles the conversations, and nothing syncs until your app connects the two.

Example requests

Build the BloomText side on its own: read a patient’s replies and send them a message. On the Kipu side, map only the appointment and patient objects Kipu approves for your key. Kipu does not receive BloomText messages; the conversation lives in BloomText.

Read and send messages in BloomText

BloomText · Read a patient’s replies
GET https://api.bloomtext.com/v1/patient-messages?patient_id={patientId}&q=from:patient&page[limit]=50Authorization: Bearer <api-key>
BloomText · Send a message
POST https://api.bloomtext.com/v1/patient-messagesAuthorization: Bearer <api-key>Idempotency-Key: <unique-request-key>Content-Type: application/json{"to":{"patient_id":"{patientId}"},"body":"Your appointment is confirmed for Tuesday at 10:00 AM."}

Send your organization’s BloomText API key in the Authorization header on every request. POST requests also need Idempotency-Key and Content-Type headers.

Read the API docs

What you can build with the Kipu API

Kipu’s API reads the scheduler, group sessions, care teams, admissions, and consent records for a treatment program. Pair that with BloomText and you can run staff coordination and carefully worded patient messages without anyone copying data by hand. Addiction treatment records carry 42 CFR Part 2 protections, so every idea below keeps treatment details out of the message text.

Care team roster sync

When a therapist, nurse, or case manager is assigned to an episode in Kipu, your app flags their BloomText user for that patient’s care team conversation. When the assignment ends, it flags them for removal. Staff update the thread, so the people in it match the people on the chart.

Uses Kipu episode care team data

Group note signature nudges

Kipu lists pending signers on each group session. A nightly job reads today’s groups and sends each pending signer a direct message in BloomText, so notes get signed before the shift ends instead of during the billing review.

Uses Kipu group session data

Morning admissions heads-up

Read the day’s admissions for a location and post a count to the intake and nursing conversation, such as “3 admissions expected at the North campus today.” Staff get the plan early, and the message itself names no one.

Uses Kipu admissions data, requested at the lowest detail level

Consent-checked visit reminders

Kipu’s scheduler already sends its own email and text reminders. Use BloomText when you want the reply to land in the same thread the care team works in. Before each send, check the episode’s consent form records and skip anyone without a complete, unexpired form.

Uses Kipu scheduler appointments and consent form records

Evening group logistics

Outpatient and IOP groups move rooms and start times. Read the day’s group sessions and scheduler resources, then post plain logistics, like “Tonight’s 6:00 PM group meets in Room 4,” to the conversations your program uses for that group’s patients.

Uses Kipu group sessions and scheduler resources

Example Kipu API projects

Patient requests use your organization’s BloomText API key. Posts to a staff team conversation use an org admin’s OAuth token instead, and only reach conversations that admin is part of.

Group note signature nudge

A job that runs at the end of each day and reminds staff about group notes still waiting on their signature.

  1. Sign each Kipu request with your access ID and secret key using HMAC-SHA256, as Kipu’s API docs describe.
  2. Read today’s group sessions for one location and collect the users listed as pending signers.
  3. Look up each signer’s direct-message conversation with the org admin whose OAuth token the job uses. Staff messages need that token; an API key can only message patients.
  4. Post one short message per signer with the count of unsigned notes, and no patient names.
Kipu · HTTP
GET https://api.kipuapi.com/api/group_sessions?app_id=<approved-app-id>&location_id=<approved-location-id>&session_start_date=<today>&session_end_date=<today>Accept: application/vnd.kipusystems+json; version=4Date: <rfc-1123-date>Authorization: APIAuth-HMAC-SHA256 <approved-access-id>:<hmac-signature>
BloomText · HTTP
POST https://api.bloomtext.com/v1/me/conversations/{signerConversationId}/messagesAuthorization: Bearer <org-admin-oauth-token>Idempotency-Key: <unique-request-key>Content-Type: application/json{"body":"You have 2 group notes from today waiting for your signature in Kipu."}

Care team conversation roster

Keep each patient’s BloomText care team thread in step with the care team assigned in Kipu.

  1. Read the episode’s care team from Kipu with the episode ID and patient master UUID.
  2. Map each Kipu user ID to a BloomText user ID in your own table.
  3. Compare against the care team you last saw for that patient.
  4. Show the differences in your app so a staff member can update the thread in BloomText.
Kipu · HTTP
GET https://api.kipuapi.com/api/episodes/<approved-episode-id>/care_team?app_id=<approved-app-id>&patient_master_id=<approved-patient-master-uuid>Accept: application/vnd.kipusystems+json; version=4Date: <rfc-1123-date>Authorization: APIAuth-HMAC-SHA256 <approved-access-id>:<hmac-signature>

Next-day reminder with a consent check

Remind patients about tomorrow’s visits in neutral language, only where your program has the consent it requires on file.

  1. Read tomorrow’s scheduler appointments for the location.
  2. For each patient, read the episode’s consent form records and keep only those with the form your program requires, complete and unexpired.
  3. Find the patient in BloomText by MRN.
  4. Send a reminder that names only the time. Leave out the program name, visit type, and provider role.
Kipu · HTTP
GET https://api.kipuapi.com/api/scheduler/appointments?app_id=<approved-app-id>&start_date=<tomorrow>&end_date=<tomorrow>&location_ids=<approved-location-id>Accept: application/vnd.kipusystems+json; version=4Date: <rfc-1123-date>Authorization: APIAuth-HMAC-SHA256 <approved-access-id>:<hmac-signature>
BloomText · HTTP
POST https://api.bloomtext.com/v1/patient-messagesAuthorization: Bearer <api-key>Idempotency-Key: <unique-request-key>Content-Type: application/json{"to":{"patient_id":"{patientId}"},"body":"Reminder: you have a visit tomorrow at 10:00 AM. Reply here if you need to change it."}

Connect Kipu and BloomText to your AI agent

An agent with access to Kipu and BloomText can handle the coordination work that eats a treatment program’s day: telling staff what’s unsigned, who’s arriving, and which group moved rooms.

1. Give the agent a BloomText API key

An org admin creates an API key in BloomText. Your agent’s tools use it to message patients and read their replies, always naming the patient by ID, phone number, or MRN. The key can’t reach staff conversations; for those, the agent uses an org admin’s OAuth token, which reaches only the conversations that admin is part of.

BloomText · Check the key
GET https://api.bloomtext.com/v1/organizationAuthorization: Bearer <api-key>

2. Give the agent Kipu data

Kipu doesn’t publish an MCP server, so you write a small tool that signs and sends Kipu requests with your approved credentials. Keep the tool narrow. Expose only the reads the job needs, such as today’s group sessions or an episode’s care team, and request admissions and census data at the lowest detail level that works.

3. Tell it what to do

  1. The agent calls your Kipu tool for today’s group sessions or admissions.
  2. It works out who needs to know, using your mapping of Kipu users to BloomText users.
  3. It drafts short messages with times, rooms, and counts, and no patient names or treatment details.
  4. It posts them, through an org admin’s OAuth connection, to the BloomText conversations that admin is part of, and replies in threads when staff ask questions.
Example prompt
Every weekday at 4:30 PM, check today’s group sessions in Kipu for the North campus. For each staff member with unsigned group notes, send them a BloomText direct message with how many are waiting. Don’t include patient names, group topics, or anything about treatment.

Messages the agent sends with the key show the key’s name to staff, and patients see your clinic. An org admin can delete the key at any time. Read the AI agent docs.

Kipu API FAQ

Does Kipu have an API?

Yes. Kipu says it offers 41 APIs that read and write EMR data, including appointments, patients, users, consents, census, and occupancy. It supports GET, POST, and PATCH, and Kipu’s FAQ says writes center on patient data. The request reference is published as Swagger docs, and version 4 is required for treatment episode endpoints.

How do I get Kipu API access?

A Super Admin at the Kipu client opens Settings, then Integrations, then API Management, and adds either in-house or vendor access. Kipu says API use is a paid service. New vendors sign a vendor agreement, and access stays pending until Kipu activates it, which can take up to 48 hours. There is no public sandbox; a personal sandbox is a paid request through Client Support.

Can Kipu send text messages to patients?

Kipu’s Scheduler sends appointment messages by email or text, including confirmations, cancellations, and reminders. Kipu’s patient portal also has secure two-way messaging. The Kipu API doesn’t expose a messaging endpoint, so if you want texting driven by your own logic, you build it on another API such as BloomText.

Can I connect Kipu to ChatGPT, Claude, or an AI agent?

Not through an official Kipu MCP server; Kipu doesn’t document one. You can give an agent a tool you write that calls the Kipu API with your approved keys, and connect BloomText through the BloomText API with an organization API key. Treat what the agent reads as protected health information and keep it inside tools covered by your BAAs.

Is it HIPAA compliant to text patients using Kipu data?

It can be, with a BAA in place for each system that touches the data, and BloomText signs one. Addiction treatment records also fall under 42 CFR Part 2, which limits disclosure of information that identifies someone as receiving substance use disorder care. Get the consent your program requires, keep program names and treatment details out of message text, and have your compliance lead approve the templates.

Does Kipu set up the integration for me?

No. Kipu’s FAQ says it doesn’t offer API implementation services and supports only the API itself. Your developer builds and maintains the integration, and Kipu API support is available at apisupport@kipuhealth.com.

Getting Kipu API access

Kipu's API is a paid add-on. Only a Super Admin at the treatment program can request it, and outside vendors sign an agreement with Kipu.

  1. Have your program's Super Admin request API access in Kipu under Settings, Integrations, API Management.
  2. If you're building for a client, sign Kipu's vendor agreement.
  3. Use the access ID, secret key, and app ID Kipu issues. Activation can take up to 48 hours.

Get a BloomText API key

API access is available to organizations with a signed BAA. Book a short call, tell us what you’re building, and we’ll turn on API access so an org admin can create your key. Don’t include PHI when you book.

Request API access

Kipu developer resources

Links last checked September 21, 2026.