Heartbeat integration
Heartbeat is a platform for running an online community. Manage members (create, invite as pending, update, remove and reactivate users, find one by e-mail, read their completed lessons and pending notification count), groups and memberships, channel categories, thread, chat and voice channels, threads and comments, chat and direct messages, events with their instances and attendance, invitation links, courses, lessons, native videos, wiki documents, roles and webhooks. Member records and messages are personal data, and the send, invite and event tools reach real people. Webhook destination URLs are not returned, and existing invitation link codes are returned only when a link is created. Authentication is an API key of your Heartbeat community, sent as a Bearer token in the Authorization header.
Say what should happen.
The workflow builds itself.
What you can do with Heartbeat
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
User, 6 operations
create_userCreate userPUTAdds a person to the community as a member with a role, optional groups, picture, bio and social links. With createIntroductionThread and a bio, it also posts an introduction thread.delete_userDelete userDELETERemoves a member, found by e-mail, from the community: they can no longer access it. Their threads, comments and messages stay. reactivate_user restores access.find_users_by_emailFind users by emailGETFinds the member with this e-mail address and returns a list holding their profile (name, role, groups, bio, social links, LinkedIn data). Personal data.get_userGet userGETReturns one member by id: name, e-mail, role, admin flag, last login, groups, bio, avatar, social links, onboarding answers and LinkedIn data. Personal data.list_usersList usersGETLists every member of the community: name, e-mail, role, admin flag, last login, groups, bio, avatar, social links, onboarding answers and LinkedIn data. Personal data.update_userUpdate userPOSTUpdates a member found by e-mail: name, picture, bio, status, LinkedIn, Twitter and Instagram links, and lessons to mark completed (never unmarks one). Fields left out keep their value.
Group, 5 operations
create_groupCreate groupPUTCreates a group with a name, optional description, members (by e-mail), parent group and the isolated and joinable settings.delete_groupDelete groupDELETEDeletes a group.get_groupGet groupGETReturns one group: name, description, color, parent group, archived flag, and members with their names and e-mail addresses (personal data).list_groupsList groupsGETLists the community's groups: name, description, color, parent group, archived flag, and members with their names and e-mail addresses (personal data).update_groupUpdate groupPOSTChanges a group's name, description or its isolated and joinable settings; fields left out keep their value.
Channel, 4 operations
create_channelCreate channelPUTCreates a thread channel (POSTS, the default) or a chat channel in a category, public or private to invited users and groups, optionally read-only for members.delete_channelDelete channelDELETEDeletes a channel.list_channelsList channelsGETLists the community's channels: id, name, emoji, type (thread, chat or voice) and whether it is a draft visible only to admins.update_channelUpdate channelPOSTChanges a channel's name, description, who can access it (restrictedTo) or read-only flag; fields left out keep their value.
Channel category, 4 operations
create_channel_categoryCreate channel categoryPUTCreates a channel category and returns its id and name.delete_channel_categoryDelete channel categoryDELETEDeletes a channel category.list_channel_categoriesList channel categoriesGETLists the channel categories of the community (id and name).update_channel_categoryUpdate channel categoryPOSTRenames a channel category.
Event, 3 operations
create_eventCreate eventPUTCreates an event (Heartbeat voice channel, Zoom or a custom location). E-mails that match no member get an e-mail invitation; with no invitees it is open to everyone. Returns no content: find the event with list_events.get_eventGet eventGETReturns one event: name, description, start and end, recurrence, creator, invited users and groups, cover image.list_eventsList eventsGETLists the community's events, optionally only those of one group: name, description, start and end, recurrence, creator, invited users and groups, cover image.
Invitation, 3 operations
add_emails_to_invitationAdd emails to invitationPOSTAdds e-mail addresses to an invitation link; with shouldSendEmail Heartbeat e-mails each person an invitation, otherwise they can only sign up through the link.create_invitationCreate invitationPUTCreates an invitation link that gives a role and groups to whoever joins with it, and returns its code. Anyone holding the link can join, so share it with care.list_invitationsList invitationsGETLists the community's invitation links with the role and groups each one grants. The link codes are not returned.
Lesson, 3 operations
create_lessonCreate lessonPUTCreates a lesson in a module of a course cohort, with Markdown content, a hero video, a publish status (draft, publish, drip, schedule, free) and community embed cards.get_lessonGet lessonGETReturns one lesson: title, Markdown content, creator, creation time and its community embed cards.update_lessonUpdate lessonPOSTUpdates a lesson's title, Markdown content, hero video, publish status or community embed cards; fields left out keep their value. Returns the lesson.
Thread, 3 operations
create_threadCreate threadPUTPosts a new thread in a channel, visible to the channel's members, as the key's user or another admin (userID), with optional HTML embeds and a back-dated creation time.get_threadGet threadGETReturns one thread with its author id, content, reactions, files, URL and its comments and replies. Members' posts: personal data.list_channel_threadsList channel threadsGETLists the threads of a channel, newest first, with author id, content, reactions, files, URL and their comments; page with startingAfter and limit (1 to 100). Members' posts: personal data.
Webhook, 3 operations
create_webhookCreate webhookPUTCreates a webhook: Heartbeat will POST the chosen action's payload (people's names and e-mails for user actions) to your URL each time it happens. Returns its id.delete_webhookDelete webhookDELETEDeletes a webhook, so Heartbeat stops sending its events.list_webhooksList webhooksGETLists the webhooks of the community: id, creation time and the trigger action with its filter. The destination URLs are not returned.
Direct message, 2 operations
list_direct_messagesList direct messagesGETReturns the 100 most recent messages of a direct chat (author id, content, images, files, time). Only chats with at least one admin can be read. Personal data.send_direct_messageSend direct messagePUTSends a real direct message to a member, from the key's user or another admin. Answers no content.
Document, 2 operations
get_documentGet documentGETReturns one wiki document with its title, link and Markdown content.list_documentsList documentsGETLists the community's wiki documents (id, title, link); page with startingAfter and limit (1 to 100).
Membership, 2 operations
add_users_to_groupAdd users to groupPUTAdds members to a group by e-mail; with shouldRemoveFromSiblingGroups they also leave the other groups under the same parent (moving people between stages).remove_users_from_groupRemove users from groupDELETERemoves members, by e-mail, from a group.
Message, 2 operations
list_chat_messagesList chat messagesGETLists the messages of a chat channel (author id, content, images, files, time) with hasMore for the next page; page with startingAfter and limit (1 to 100). Personal data.send_chat_messageSend chat messagePUTSends a real chat message to a chat channel, seen by its members, from an admin user, optionally back-dated. Answers no content.
Video, 2 operations
create_videoCreate videoPUTCreates a native Heartbeat video from a publicly downloadable video file URL and returns its id. It is processed in the background and appears in list_videos once ready.list_videosList videosGETLists the community's native Heartbeat videos: name, creation time, aspect ratio, duration in seconds and view count.
Voice channel, 2 operations
create_voice_channelCreate voice channelPUTCreates a voice channel in a category, public or private to invited users (by e-mail) and groups.update_voice_channelUpdate voice channelPOSTChanges a voice channel's name, description or who can access it; fields left out keep their value.
Attendance, 1 operation
list_event_attendanceList event attendanceGETReturns the attendance of the last 10 occurrences of an event (one for a single event): start, end and attendees with name, e-mail and member id when matched. Personal data.
Comment, 1 operation
create_commentCreate commentPUTPosts a comment under a comment of a thread, visible to the channel's members. parentCommentID must be a direct reply to the thread; replying to the thread itself needs null, which this tool cannot send.
Completed lesson, 1 operation
list_user_completed_lessonsList user completed lessonsGETLists the lessons a member completed, newest completion first, with the completion time; page with startingAfter and limit (1 to 100).
Course, 1 operation
list_coursesList coursesGETLists the community's courses: name, description, images, category and cohorts with their modules and lessons.
Direct chat, 1 operation
create_direct_chatCreate direct chatPUTOpens a direct chat between two members, or returns the existing one, with its chat id and URL. Sends no message.
Instance, 1 operation
list_event_instancesList event instancesGETLists the occurrences (start and end) of a recurring event.
Notification, 1 operation
get_notification_countGet notification countGETReturns the number of pending notifications of the member with this e-mail address.
Pending user, 1 operation
create_pending_userCreate pending userPUTRegisters a pending member (e-mail, name, role, optional groups, picture, bio): the person becomes a member of the community the first time they log in. Answers success.
Reactivate, 1 operation
reactivate_userReactivate userPOSTRestores the access of a member removed with delete_user, found by e-mail.
Role, 1 operation
list_rolesList rolesGETLists the roles of the community (id and name), for create_user, create_pending_user and create_invitation.
Use Heartbeat from Claude Code, Cursor or Codex
Connect Heartbeat in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Heartbeat operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Heartbeat
- Create your workspace
Sign up free. Nothing to install.
- Connect Heartbeat once
Add your Heartbeat connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Heartbeat integration FAQ
What can you do with the Heartbeat integration?
LiveContext exposes 56 operations on Heartbeat, covering user, group, channel and channel category.
