Steady integration
Steady (formerly Status Hero) is an asynchronous team check-in and goal tracking tool. Read and update daily check-ins, create and update goals and their progress updates, ask Echo questions and read the answers, post asks and custom activities, comment on check-ins and goal updates, and list teams, people, action items and the daily digest. Workspace administration, webhooks and integration settings are left to the Steady app. Authentication is a personal access token (read or read and write scope) sent as a Bearer token in the Authorization header.
Say what should happen.
The workflow builds itself.
What you can do with Steady
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.
Goal, 5 operations
create_goalCreate goalPOSTCreates a goal (title, Markdown description, start and end dates, update cadence, owner, parent goal, contributors, teams, private flag). Returns the created goal with its id.delete_goalDelete goalDELETEPermanently deletes one goal by id (from list_goals). Returns an empty body on success; to hide a goal without deleting it, set archived with update_goal instead.get_goalGet goalGETReturns one goal by id (from list_goals): title, Markdown description, start and end dates, update cadence, owner, parent, progress, confidence, contributors, teams and private and archived flags.list_goalsList goalsGETLists goals with their owner, dates, cadence, progress, confidence, contributors and teams, filterable by since, people_ids[], team_ids[] or goal_ids[] (archived goals appear only with goal_ids[]). Paginated.update_goalUpdate goalPATCHUpdates one goal (id from list_goals): title, description, dates, cadence, owner, parent, contributors, teams, private or archived. Only the fields you send change; leave a field out to keep it.
Goal update, 5 operations
create_goal_updateCreate goal updatePOSTPosts a progress update on one goal (goal_id from list_goals): title, Markdown body, progress (0 to 100) and confidence. Omitted progress and confidence keep the previous update's values.delete_goal_updateDelete goal updateDELETEPermanently deletes one goal update by id (from list_goal_updates). Returns an empty body on success.get_goal_updateGet goal updateGETReturns one goal update by id (from list_goal_updates or create_goal_update): the goal, author, title, Markdown body, progress percentage and confidence (30 off track, 60 at risk, 90 on track).list_goal_updatesList goal updatesGETLists the progress updates posted on one goal (goal_id from list_goals), each with title, Markdown body, progress and confidence. Paginated with page and per_page.update_goal_updateUpdate goal updatePATCHEdits one goal update (id from list_goal_updates): its title, Markdown body, progress or confidence. Only the fields you send change; leave a field out to keep its current value.
Question, 5 operations
create_echo_questionCreate echo questionPOSTCreates an Echo: a recurring question (prompt and title) that Steady answers with an AI summary on a schedule set by answer_frequency, answer_day and answer_time. Answers are read with list_echo_answers.delete_echo_questionDelete echo questionDELETEPermanently deletes one Echo of the authenticated person by id (from list_echo_questions). Returns an empty body on success.get_echo_questionGet echo questionGETReturns one Echo by id (from list_echo_questions): its prompt, title, schedule (answer_frequency, answer_day, answer_time and time zone), next_answer_at and paused_at.list_echo_questionsList echo questionsGETLists the Echoes of the authenticated person: recurring questions Steady answers with an AI summary of the team's work on a schedule (daily, weekly, biweekly or monthly). Paginated.update_echo_questionUpdate echo questionPATCHUpdates one Echo (id from list_echo_questions): its prompt, title or schedule. Only the fields you send change; leave a field out to keep its current value.
Comment, 4 operations
create_check_in_commentCreate check in commentPOSTPosts a comment (Markdown body, @username mentions are linked) on one check-in, as the authenticated person. Returns the created comment.create_goal_update_commentCreate goal update commentPOSTPosts a comment (Markdown body, @username mentions are linked) on one goal update, as the authenticated person. Returns the created comment.list_check_in_commentsList check in commentsGETLists the comments on one check-in (check_in_id from list_check_ins), each with its Markdown body, author and creation time. Paginated with page and per_page.list_goal_update_commentsList goal update commentsGETLists the comments on one goal update (goal_update_id from list_goal_updates), each with its Markdown body, author and creation time. Paginated with page and per_page.
Activity, 3 operations
create_activityCreate activityPOSTRecords a custom activity for the authenticated person (work done in a tool Steady does not integrate with), shown in their activity feed. Needs group (a label such as Deploys) and a short description; url is optional.get_activityGet activityGETReturns one activity by id (from list_activities): its kind, group, title, description, source URL, when it occurred and the person it belongs to.list_activitiesList activitiesGETLists work activities recorded in Steady (GitHub pull requests, Jira issues, calendar events, custom activities), filterable by time range, kinds[], people_ids[] and team_ids[]. Paginated with page and per_page.
Ask, 3 operations
create_askCreate askPOSTAsks Steady's AI a question about the team's work (prompt). The answer is generated asynchronously: body is null at first, so call get_ask with the returned id until body is filled.get_askGet askGETReturns one ask by id (from create_ask or list_asks) with its prompt and Markdown answer in body; body stays null while the AI answer is still being produced, so call again later.list_asksList asksGETLists the asks of the authenticated person: questions put to Steady's AI about the team's work, each with its prompt and the Markdown answer (null while the answer is still being generated).
Check in, 3 operations
get_check_inGet check inGETReturns one check-in by id (from list_check_ins): the person, teams, answers to previous, intentions and blockers in Markdown, mood, blocked and absent flags, and completed_at.list_check_insList check insGETLists completed check-ins (answers to what was done, what is next, blockers, mood) filterable by date range (since and until, inclusive), blocked, people_ids[] and team_ids[]. Paginated with page and per_page.update_check_inUpdate check inPATCHFills in or edits a check-in. Steady pre-generates check-ins from each team's schedule (there is no create), so pass key as a check-in id or a YYYY-MM-DD date for your own check-in that day. Only sent fields change.
Action item, 2 operations
get_action_itemGet action itemGETReturns one action item of the authenticated person by id (from list_action_items): its due date, Markdown summary, web URL and completed_at (null while still open).list_action_itemsList action itemsGETLists the authenticated person's open action items (things Steady asks them to do, such as a check-in to fill), each with a due date, a Markdown summary and a link to the action.
Answer, 2 operations
get_echo_answerGet echo answerGETReturns one Echo answer by id (from list_echo_answers): the Echo it answers, its title, the AI-generated Markdown summary in body (null while still being produced) and when it was published.list_echo_answersList echo answersGETLists the answers Steady has produced for one Echo (question_id from list_echo_questions), each with its title, AI-generated Markdown body and published_at. Paginated with page and per_page.
Person, 2 operations
get_personGet personGETReturns one person of the account by id (from list_people or get_me): name, username, email, time zone, location, title, bio, administrator flag, account and teams.list_peopleList peopleGETLists the active people of the Steady account with their id, name, username, email, time zone, profile, administrator flag and teams. Paginated with page and per_page.
Reaction, 2 operations
list_check_in_reactionsList check in reactionsGETLists the emoji reactions on one check-in (check_in_id from list_check_ins): reaction name, emoji character, who reacted and when. Paginated with page and per_page.list_goal_update_reactionsList goal update reactionsGETLists the emoji reactions on one goal update (goal_update_id from list_goal_updates): reaction name, emoji character, who reacted and when. Paginated with page and per_page.
Team, 2 operations
get_teamGet teamGETReturns one team by id (from list_teams or get_me): name, description, private flag, completion and mood tracking settings, report days and its people.list_teamsList teamsGETLists the active teams of the Steady account with their id, name, description, privacy, completion and mood tracking settings, report days and members. Paginated with page and per_page.
Digest, 1 operation
list_digestList digestGETLists the authenticated person's digest: recent check-ins, comments, Echo answers and goal updates from their teams, each with published_at, read_at and the full resource. Filter by category, unread or since.
Me, 1 operation
get_meGet meGETReturns the authenticated person: id, name, username, email, time zone, profile, administrator flag, account and teams. Call it first to get your own person id, since filters do not accept 'me'.
Use Steady from Claude Code, Cursor or Codex
Connect Steady in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Steady 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 Steady
- Create your workspace
Sign up free. Nothing to install.
- Connect Steady once
Add your Steady 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.
Steady integration FAQ
What can you do with the Steady integration?
LiveContext exposes 40 operations on Steady, covering goal, goal update, question and comment.
