Rhythm Systems
Strategic plans, goals & KPIs
- Category
- Operations
- Primary Subcategory
- OKR & Strategy Execution
Integration details
Description
Rhythm Systems is a strategy operating system for mid-market business leaders. This AI Connector gives your AI assistant secure, per-user access to your company's Rhythm data: strategic and annual plans, quarterly goals and KPIs, meeting agendas, tasks, Week in Sync notes, job scorecards, and dashboards. Ask about goal status, update priorities, prepare for meetings, and capture notes — all governed by your existing Rhythm permissions via OAuth. Requires a Rhythm Systems account with AI Connector access enabled by your administrator.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- OKR & Strategy Execution
- Secondary Subcategories
- None listed
- Brand
- Rhythm Systems
- Access
- Account required
- First tracked
- 2026-07-29
- Tool count
- 116
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Rhythm Systems
Get updates when Rhythm Systems’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT OKR & Strategy Execution
View Category116 tools agents can invoke
Adds a responsibility to a job scorecard. Use this when: the user wants to add a new responsibility entry to a role definition. See also: To add a skill use job-scorecard-skill-add. To remove a responsibility use job-scorecard-property-remove. Returns: the created property with its id.
job-scorecard-responsibility-add
Adds a skill to a job scorecard. Use this when: the user wants to add a new skill entry to a role definition. See also: To add a responsibility use job-scorecard-responsibility-add. To remove a skill use job-scorecard-property-remove. Returns: the created property with its id.
job-scorecard-skill-add
Checks the health of the Rhythm API v2 server. Use this when: you want to verify the API is reachable and responding. Returns: server status, timestamp, and service name.
health-check
Clears the cached MCP tool configuration for the authenticated user. Use this when: tool config changes have been made and a fresh lookup is needed on the next request. Returns: confirmation that the cache was cleared. Notes: This will disconnect your current session — your client will automatically reconnect with the updated tool set.
admin-tool-config-cache-clear
Deep-copies a strategic plan to a new effective date — rolls the plan forward. Use this when: the user wants to create a new plan period by cloning an existing plan. See also: To update fields on an existing plan use strategic-plan-update. To view plans use strategic-plan-list. Returns: the new strategic plan with its id and new effectiveDate. Notes: Clones the plan itself, all core values, all core competencies, and all SWOT items. Basecamp goals are re-linked to the new plan (not duplicated). Requires company admin access. Returns 409 if a plan already exists for that effective date.
strategic-plan-copy
Creates a comment on an entity or a reply to an existing comment. Use this when: the user wants to post a comment or reply on a goal, meeting, or other item. See also: To read existing comments use comment-list. Before notifying, consider calling follower-list to find followers to notify. Returns: the created comment with its id. Notes: Set parentId to reply to a specific comment. Pass notifyUserIds with ids from user-list or user-search.
comment-create
Creates a new core competency on a strategic plan. Use this when: the user wants to add a core competency to a strategic plan. See also: To update an existing competency use core-competency-update. To find the plan id use strategic-plan-list. Returns: the created core competency with its id. Notes: Requires company-level access or system admin role. Rank is managed by the Rhythm UI and cannot be set via MCP.
core-competency-create
Creates a new core value in the company's strategic plan. Use this when: the user wants to add a core value to a strategic plan. See also: To update an existing core value use core-value-update. To find the plan id use strategic-plan-list. Returns: the created core value with its id. Notes: Requires company-level access.
core-value-create
Creates a new Daily Huddle note owned by the authenticated user. Use this when: the user wants to record a daily huddle entry. See also: To update an existing daily huddle use daily-huddle-update. For a weekly Week in Sync note use wis-note-create. Returns: the created note with its id and full fields.
daily-huddle-create
Creates a new dashboard. Use this when: the user wants to create a personal, team, or company-level dashboard for a quarter, annual plan, or long-range period. See also: To link goals to the new dashboard use dashboard-goal-link. To list existing dashboards use dashboard-list. Returns: the created dashboard with its id and configuration. Notes: Ownership modes: personal (omit teamId and companyLevel), team-scoped (provide teamId), or company-level (companyLevel=true — requires co-admin). QUARTER requires quarterId; ANNUAL requires annualPlanId. Do not combine teamId with companyLevel. System-generated dashboard types are not allowed.
dashboard-create
Creates a new feedback item tracking client or employee feedback for a quarter. Use this when: the user wants to log a piece of feedback for a person or team. See also: To update feedback use feedback-update. Before notifying, consider calling follower-list to find followers to notify. Returns: the created feedback item with its id. Notes: Notifications are only sent when commentHtml is provided. Pass notifyUserIds with user ids from user-list or user-search.
feedback-create
Records the end-of-quarter FINAL status (the closing wrap-up) of a goal. Use this when: the user is closing out a quarter and wants to record the final result, achieved flag, or summary note for a goal. See also: Do NOT use for the current/latest status color — READ it from goal-get (its latestStatus) and record in-quarter updates with goal-status-create. A goal can have at most one final status per quarter (returns 409 if one already exists — use final-status-update instead). Returns: the created final status entry with its id. Notes: This is the quarter-end wrap-up record, not an in-quarter progress update. Use goal-status-create for week-by-week progress.
final-status-create
Creates a live, active goal owned by a person, team, or the company for a quarter. Use this when: the user asks to add/create a goal, KPI, Quarter Priority, Annual Priority, or Winning Move that should exist now. See also: Do NOT use to add a goal inside the Plan Builder during planning — use planning-goal-create. To create a KPI Target (the Targets feature) use kpi-target-create. Returns: the created goal with its id. Notes: The quarter is derived from startDate. team:{id:null}=company-level, team:{id:"uuid"}=a team, null/omit=individual.
goal-create
Creates a new status entry (RYG update) for a goal — the latest/current status color. Use this when: the user wants to record or update a goal's current progress color, projected/actual values, or add a status comment. See also: Do NOT use for the end-of-quarter closing wrap-up — use final-status-create for that. To READ the latest status color, use goal-get (its latestStatus) — there is no separate status-get tool. Returns: the created status entry with its id. Notes: Time slot required per frequency: WEEKLY → week 1–13; MONTHLY → week 1–3; DAILY → statusDate (ISO); QUARTERLY → omit. Composite (SUM/AVG) goals ignore projected/actual/variance. Auto-color goals ignore color. If the user has not specified notifyUserIds, call follower-list for the goal, summarize, and ask which to notify before sending — notifications only sent when commentHtml is provided.
goal-status-create
Creates a new idea board on a meeting. Use this when: the user wants to add a new idea board to a meeting. See also: To update an existing board use idea-board-update. To list existing boards use idea-board-list. Returns: the created idea board with its id. Notes: Rank defaults to the end of the existing boards.
idea-board-create
Creates a new job scorecard (role definition). Use this when: the user wants to define a new role or position in the company. See also: To update an existing scorecard use job-scorecard-update. To add a single skill after creation use job-scorecard-skill-add. To add a single responsibility after creation use job-scorecard-responsibility-add. Returns: the created job scorecard with its id; when userIds is provided, returns an array of created scorecards. Notes: Skills and responsibilities can be supplied inline at creation time. Optionally copies structure from an existing scorecard via copyFromId — inline skills/responsibilities take precedence over copied ones. Use userIds (not userId) to create one scorecard per user in a single call — userId and userIds are mutually exclusive. No delete via MCP — use the Rhythm UI to delete scorecards.
job-scorecard-create
Creates a new KPI Target on a strategic plan. Use this when: the user wants to add a KPI Target to a strategic plan. See also: To rename it later use kpi-target-rename. To link a KPI goal (goalType=KPI) to it use kpi-target-goal-link. Do NOT use to create a goal of type KPI — use goal-create. Returns: the created KPI Target with its id. Notes: Requires company-level access.
kpi-target-create
Creates a new meeting (single occurrence or recurring series). Use this when: the user asks to schedule, add, or create a meeting. See also: To update an existing meeting use meeting-update. To add attendees after creation use meeting-attendee-manage. Returns: the created meeting with its id and full details. Notes: The creator is automatically added as an attendee. timezone is always required — used to interpret meetingDate and endDate. If the user describes a repeating meeting, ask whether it is one-off or recurring before calling — if recurring, confirm frequency and limits then pass recurrence.
meeting-create
Creates a new parking lot item to park a topic for future consideration. Use this when: the user wants to add a topic to the parking lot during a planning session. See also: To update or close an item use parking-lot-item-update. Returns: the created item with its id and full fields.
parking-lot-item-create
Creates a draft goal inside an annual plan's Plan Builder during planning. Use this when: the user is building/editing an annual plan in the Plan Builder and wants to add a planning-stage goal. See also: Do NOT use to create a live, active goal — use goal-create. Only valid inside an existing annual plan (see annual-plan-list). Returns: the created planning goal with its id. Notes: Requires an annualPlanId; the goal stays a draft in the Plan Builder until published (see planning-goal-get's published field).
planning-goal-create
Creates a new SWOT item on a strategic plan. Use this when: the user wants to add a strength, weakness, opportunity, or threat. See also: To update an existing item use swot-update. To list the current SWOT use swot-list. Returns: the created SWOT item with its id. Notes: Omit strategicPlanId to automatically use the company's most recent plan.
swot-create
Creates a new task, optionally linked to a parent goal, meeting, or feedback item. Use this when: the user wants to add a task or to-do item. See also: To update a task use task-update. Returns: the created task with its id. Notes: Ask the user if repeating before passing recurrence. If the user describes a repeating task, confirm frequency and limits first.
task-create
Creates a new Week in Sync note owned by the authenticated user. Use this when: the user wants to write or record a weekly check-in note. See also: To update an existing note use wis-note-update. For a Daily Huddle note use daily-huddle-create. Returns: the created note with its id and full fields.
wis-note-create
Returns the Annual Focus plan for a given annual plan, including the annual theme, success criteria, reward, and postcard notes. Use this when: the user asks about the annual theme, yearly goals, or annual focus plan. See also: For the quarterly theme use company-plan-quarter-focus-get. For the composite quarter+annual view use company-plan-get. Returns: annual focus with theme, success criteria, reward, postcard notes, and image metadata; full detail adds rich-text delta and HTML fields. Notes: Pass teamId to get a team-level plan instead of the company-level plan.
company-plan-annual-focus-get
Returns the composite Company Plan view for a given quarter, combining the Quarter Focus and Annual Focus in one response. Use this when: the user asks for the full company plan or needs both quarterly and annual focus in a single call. See also: For quarterly focus alone use company-plan-quarter-focus-get. For annual focus alone use company-plan-annual-focus-get. Returns: composite plan with qtrFocus, annFocus, and top-level config masks; pass include="goals" to also load the goal dashboard and goals list.
company-plan-get
Gets the currently effective job scorecard for a specific user. Use this when: the user asks what role definition is active for a person right now. See also: To list all scorecards use job-scorecard-list. For goals linked to a scorecard use job-scorecard-goals-get. Returns: the most recent scorecard effective on or before today, or { data: null } if none exists. Notes: Returns { data: null } if no current scorecard exists for the user.
job-scorecard-get-current-for-user
Gets the current (active) quarter for a company, determined server-side from today's date. Use this when: you need to resolve "this quarter" or "current quarter" to a quarterId. See also: For a specific past or future quarter use quarter-list. Returns: the active quarter with id, name, start/end dates, current week number, and all 13 week boundaries. Notes: If no quarter spans today (inter-quarter gap) returns the most recently ended quarter. Returns 404 only if the company has no quarters at all.
quarter-get-current
Gets the current authenticated user. Use this when: you need to resolve "me" or "my" to a user id, or need the caller's identity. See also: To find other users use user-search or user-list. Returns: the current user with id, name, email, roles, and team memberships.
user-get-current
Gets a single Daily Huddle note by id, including full HTML content. Use this when: you have a daily huddle note id and need the complete details. See also: To list daily huddles use daily-huddle-list-by-owner or daily-huddle-list-by-team. Returns: the full note with id, noteDate, wisNoteType, owner, team, and notesHtml.
daily-huddle-get
Retrieves a single dashboard by id. Use this when: you have a dashboard id and need its full details or goal previews for a quarter. See also: To find dashboard ids use dashboard-list. For a team's KPI scorecard use dashboard-scorecard-get. Returns: the dashboard with its configuration and, if include=goals, goal previews for the requested quarter. Notes: Pass include="goals" to include the goal list for a specific quarter. If quarterId is omitted with include=goals, defaults to the current quarter.
dashboard-get
Retrieves the KPI scorecard for a team and quarter. Use this when: the user wants to see a team's KPI scorecard or scorecard categories with their goals. See also: This is the team KPI scorecard — for an employee's role definition (skills/responsibilities) use job-scorecard-get instead. For a general dashboard view use dashboard-get or dashboard-list. To look up the team id use team-list. Returns: scorecard categories with their KPI goals; category names and order are company-configured — use the stable type field (EMP, CUST, REV, PROC) to identify categories, not their names or positions. Notes: If quarterId is omitted, defaults to the current quarter.
dashboard-scorecard-get
Gets a single goal by id with optional related data. Use this when: you know the goal id and need its full details, status history, or parent/child structure. See also: To find goals without an id use goal-list-by-owner or goal-list-by-team. Returns: the goal with id, name, type, owner, criteria, its latest status color (latestStatus), and requested includes. Notes: latestStatus is the current in-quarter color; use include=status for the 13-week history, include=children/parents for hierarchy.
goal-get
Batch-fetches chart series data for multiple goals. Use this when: the user wants to see goal progress charts or trend data over a range. See also: To get a single goal's current status use goal-get with include=status. Returns: chart series per goal grouped by chart config. Notes: Goals sharing the same chart config are batched together. Missing goals are silently omitted.
goal-charts-get
Gets a single idea board with its categories and nested ideas. Use this when: the user wants to see the ideas on a specific board (e.g. a Lessons Learned board). See also: To list all boards on a meeting use idea-board-list. To modify ideas use idea-manage. Returns: the board with categories and ideas; each idea includes impact, easiness, owner, like count, and whether the current user has liked it. Notes: Nested ideas are included by default; pass a non-blank include that omits "ideas" (e.g. include="categories") to return only the categories.
idea-board-get
Returns the audit trail (item history) for a specific entity — the record of changes made to it over time. Use this when: the user asks what changed on an entity, who made a change, when it was last updated, or whether it was deleted (e.g. "what changed on this goal?", "who last updated this task?", "was this goal deleted?"). See also: For an entity's current values use its own get/list tool (e.g. goal-get). For a goal's RYG status history, current status color, or an explanation of why a goal is red, use goal-get with include "status"; do NOT call this tool for that, even when statuses changed several times. Call this only when the user explicitly asks who changed something, or what a field was before. Results can be very large; keep maxResults small. Returns: history entries sorted newest-first, each with the action type, who made the change, when, and the source (UI, API, MCP, or Zapier). Most entries carry field-level before/after values; a deleted entity instead shows a terminal entry with actionType "DELETE" and an entityName (no field values, no full snapshot). Notes: Defaults: maxResults=25, max 100. The entity must be one of the supported entityType values. entityType=api-client requires API Admin access or higher; other callers get 403.
item-history-get
Gets a single job scorecard by id. Use this when: you have a scorecard id and need its full details. See also: This is an employee role definition (skills/responsibilities) — for a team's KPI scorecard use dashboard-scorecard-get instead. To list all scorecards use job-scorecard-list. For the current scorecard for a user use job-scorecard-get-current-for-user. Returns: summary: id, name, effectiveDate, user, department; detail=full adds purpose, skills, responsibilities, and other role fields. Desired-result goal links are not included — use job-scorecard-goals-get.
job-scorecard-get
Gets the desired-result goals linked to a job scorecard. Use this when: the user wants to see which goals are attached to a role definition as measurable outcomes. See also: For the scorecard itself use job-scorecard-get. To link goals use job-scorecard-goal-link. Returns: goals that define the measurable outcomes expected for the role. Notes: Optionally filter by quarter. Defaults to the current quarter if not specified. Pass include="status" to include goal status updates.
job-scorecard-goals-get
Gets the goals linked to KPI Targets for a given quarter (the KPI Target dashboard) — returns goals, not the targets themselves. Use this when: the user asks which goals are driving or linked to each KPI Target, or wants target progress by goal status for a quarter. See also: To list the KPI Targets themselves (names, values per column) use kpi-target-list, even when the user says "this quarter". For goal details use goal-get. Returns: goals grouped by KPI Target with latest weekly status, owner, and team.
kpi-target-dashboard-get
Gets a meeting by id with full details including attendees and agenda items. Use this when: you have a meeting id and need its full details, agenda, or attendee list. See also: For a list of meetings use meeting-list-by-team or meeting-list-by-owner. Attached idea boards (e.g. "Lessons Learned / Victories") are readable via the idea-board-get tool. Returns: meeting with id, name, type, dates, owner, team, attendees, agenda items, and eventRecurrenceId. Notes: eventRecurrenceId non-null means the meeting is part of a recurring series — ask the user whether updates should apply to CURRENT, FUTURE, or ALL.
meeting-get
Gets a single meeting agenda item by id with all fields including rich text notes. Use this when: you have an agenda item id and need its full details including notesHtml. See also: To update this item use meeting-agenda-item-update. To see all agenda items for a meeting use meeting-get. Returns: agenda item with id, name, rank, hours, minutes, completed, url, and notesHtml.
meeting-agenda-item-get
Gets a single Plan Builder draft goal by id, including its direct children. Use this when: the user wants to inspect a specific Annual Priority or Quarter Priority inside an annual plan's Plan Builder. See also: For live, active goals (not Plan Builder drafts) use goal-get. To list all planning goals use planning-goal-list. Returns: planning goal with id, name, goalType, quarterNo, teamId, ownerId, published flag, linkedGoal, and children array. Notes: published=true means this draft is linked to a live goal; linkedGoal contains that goal's id and name.
planning-goal-get
Returns the Quarter Focus plan for a given quarter, including the quarterly theme, success criteria, and reward. Use this when: the user asks about the quarter's theme, success criteria, or quarterly focus plan. See also: For the full composite view of both quarter and annual focus together use company-plan-get. For the annual theme use company-plan-annual-focus-get. Returns: quarter focus with theme, success criteria, reward, and config masks; full detail adds rich-text delta and HTML fields. Notes: Pass teamId to get a team-level plan instead of the company-level plan.
company-plan-quarter-focus-get
Gets a strategic plan by id. Use this when: you have a plan id and need its full details including strategy fields. See also: To list all plans use strategic-plan-list. To update a plan use strategic-plan-update. Returns: the strategic plan with id, effectiveDate, and strategy fields. Notes: Pass include="values,competencies,wmDashboards" (comma-separated) to expand sections. Unknown include values are silently ignored.
strategic-plan-get
Gets a single task by id, including parent entity and recurrence information. Use this when: you have a task id and need its full details, or to check if it is a recurring task. See also: To list tasks use task-list-by-owner or task-list-by-team. Returns: the full task with id, name, owner, dueDate, completed, parent, eventRecurrenceId. Notes: If eventRecurrenceId is non-null, task is part of a recurring series — ask user for CURRENT/FUTURE/ALL scope before updating.
task-get
Gets a specific team by id, optionally including the list of team members. Use this when: you have a teamId and need the team's details or its member list. See also: To find teamIds use team-list. For all users in a company use user-list. Returns: team id, name, active status, leader, and optionally team members.
team-get
Gets a specific user by id with their team memberships. Use this when: you have a userId and need the user's full profile. See also: To find a user by name or email use user-search. For the calling user use user-get-current. Returns: the user's id, name, email, role, and team memberships.
user-get
Gets a single Week in Sync note by id, including full HTML content. Use this when: you have a note id and need the complete note details. See also: To list notes use wis-note-list-by-owner or wis-note-list-by-team. Returns: the full note with id, noteDate, wisNoteType, owner, team, and notesHtml.
wis-note-get
Gets the Week in Sync note template for the authenticated user's company. Use this when: the user asks to draft or fill in a Week in Sync note and you need to know the company's WIS template format. See also: To read WIS notes use wis-note-get, wis-note-list-by-team, or wis-note-list-by-owner. To write a WIS note use wis-note-create. Returns: data object with id (null if using system default), templateType, teamId (if team-specific), notes, and notesHtml; data is null if no template is configured. Notes: Pass teamId to get a team-specific template override; omit for the company-level template. If no team-specific template is configured for the given teamId, the company-level template is returned instead (response teamId will be null). Read-only — cannot create, edit, or delete templates.
wis-template-get
Links a goal (goalType KPI) to a KPI Target so the target tracks that goal's green criteria values. Use this when: the user wants to connect a KPI goal to a KPI Target. See also: To link two goals together (goal↔goal parent/child) use goal-link instead. To unlink use kpi-target-goal-unlink. To get the goal id use goal-list-by-owner/team with goalTypes=[KPI]. Returns: the updated KPI Target with the linked goal id. Notes: Requires company-level access. The target's column values are populated from the goal's green criteria; names are kept in sync.
kpi-target-goal-link
Links goals in parent-child relationships. Use this when: the user wants to add a parent or child connection between goals. See also: To remove links use goal-unlink. To link a goal to a KPI Target use kpi-target-goal-link. Returns: confirmation of the link operation. Notes: Validates linking rules: no self-links, no circular references, type hierarchy, frequency alignment.
goal-link
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Rhythm Systems alternatives on ChatGPT?
As of 2026-09-28, Rhythm Systems competes with Genchi, Perdoo, Profit.co, Rhythms, Steady, Stratws, Strety, Success.co in ChatGPT OKR & Strategy Execution, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.