Integration details
Description
Riido helps users inspect workspaces and teams, manage components, backlogs, and meetings, and update meeting bodies, links, board entries, statuses, labels, members, priorities, and comments through authenticated Riido workflows.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Project & Task Management Platforms
- Secondary Subcategories
- None listed
- Brand
- Riido
- Access
- Account required
- First tracked
- 2026-07-20
- Tool count
- 53
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Riido
Get updates when Riido’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 Project & Task Management Platforms
View Category53 tools agents can invoke
Add a new backlog to a specific team. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: You MUST follow these steps in order and ask the user at each step if the information is not already provided. Do NOT skip steps or assume values. 1. Call list_my_workspaces -> show the list to the user -> ask which workspace to use 2. Call list_teams(workspace_id) -> show the list to the user -> ask which team to use 3. Call list_backlog_sections(team_id) -> show the list to the user -> ask which section to use 4. Ask the user for the backlog title if not provided 5. Only then call this tool with all confirmed values
Add a label to an existing backlog. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: Identify the target backlog first. Ask the user: "Which backlog? Provide a Riido page URL or I'll look it up step by step." Then call list_team_labels to show available labels and ask the user to select. Note: Only labels with status 'active' can be added.
Add a new backlog section to a specific team. Requires: OAuth 'write' scope IMPORTANT - If team_id is not already known: Ask the user: "Which team? Provide a Riido URL or I'll look it up (workspace → team)." Also confirm the section name with the user before creating. Backlog sections are organizational containers for grouping backlogs. Each backlog must belong to a section.
Add a new component to a specific team. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: You MUST follow these steps in order and ask the user at each step if the information is not already provided. Do NOT skip steps or assume values. 1. Ask the user: "Do you have a Riido page URL, or should I look up the workspace and team?" - If URL provided: extract workspace_id, team_key from URL pattern /{workspace_id}/teams/{team_key}/... then use list_teams to find the matching team_id - If no URL: proceed to step 2 2. Call list_my_workspaces -> show the list to the user -> ask which workspace to use 3. Call list_teams(workspace_id) -> show the list to the user -> ask which team to use 4. Ask the user for the component type (project, milestone, task, subtask) and title 5. For non-PROJECT types, call list_components to show existing parents and ask the user to select 6. Only then call this tool with all confirmed values Component hierarchy: PROJECT > MILESTONE > TASK > SUBTASK Component creation rules: - PROJECT: Only requires componentType and title - MILESTONE: Requires projectId (from existing project) - TASK: Requires milestoneId (from existing milestone) - SUBTASK: Requires both milestoneId and taskId (from existing task)
Add a comment to a component. Requires: OAuth 'write' scope Thin wrapper over POST /teams/{team_id}/components/{component_id}/comments with body {"body": body, "parentId": parent_id}. It does not format or summarize report content.
Add a label to an existing component in a specific team. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: Identify the target component first. Ask the user: "Which component? Provide a Riido page URL or I'll look it up step by step." Then call list_team_labels to show available labels and ask the user to select. This tool allows you to add labels to components for better organization and categorization. Labels help identify component types, priorities, status, or any custom categorization your team uses (e.g., 'urgent', 'backend', 'customer request', 'bug', 'feature'). The tool automatically retrieves the component details to determine its type and build the correct URL based on ComponentType (project -> /projects/, milestone -> /milestones/, task/subtask -> /tasks/). Use list_components to get existing component IDs. Use list_team_labels to get available label IDs for the team. Note: Only labels with status 'active' can be added to components.
Add a member to a component using the Riido API's native behavior. Requires: OAuth 'write' scope Guarded thin wrapper over POST /teams/{team_id}/components/{component_id}/members with body {"memberId": member_id}. API behavior by component type: - project: replaces the existing single project owner - task/subtask: appends the member; existing member is idempotently skipped - milestone: rejected by this MCP wrapper because milestones have no assignees This tool performs only transport-level referential guards. AI-driven assignment is restricted to active TeamMembers in the route team. Cross-team assignment, even when Riido API permits it, must be done manually in Riido. Workflow policy remains client-owned.
Add an agenda, note, decision, or action entry to a meeting board.
Attach an explicitly named web link to a meeting. ``name`` is required so the MCP server never needs to fetch arbitrary page HTML to guess a title. Riido may fetch a favicon through its icon provider.
Archive a component. Requires: OAuth 'write' scope Thin wrapper over POST /teams/{team_id}/components/archives with {"archiveType": "archive", "componentId": component_id, "componentType": component_type}. It does not confirm destructive intent.
Convert a backlog into a component (project, milestone, or task). Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: This is a significant action. Follow these steps and ask the user at each step: 1. Identify the backlog to convert. Ask the user: "Which backlog do you want to convert? Provide a Riido page URL or I'll look it up step by step." If no URL: list_my_workspaces → list_teams → list_backlog_sections → list_backlogs to find it 2. Ask the user: "What component type should this become? (project, milestone, task)" 3. For non-PROJECT types, call list_components to show existing parents and ask user to select 4. Confirm with the user before converting: "Convert backlog '{title}' to {component_type}?" 5. Only then call this tool Component hierarchy: PROJECT > MILESTONE > TASK. Backlog conversion does not support SUBTASK because the API accepts only one parent_id. The backlog will be marked as "conversed" after conversion.
Create a Riido meeting. This may synchronize the meeting to Google Calendar and notify participants according to the user's Riido integration settings.
Create a dated meeting by copying a team meeting template.
Create or replace recurrence for a meeting template. ``repeat_type`` is daily, weekly, or monthly. Weekly recurrences require ``days_of_week`` using Riido's numeric day strings (0 through 6).
Convert a meeting-board entry to a Riido project, milestone, or task. Milestones require a project ``parent_id`` and tasks require a milestone ``parent_id``. Subtasks cannot be created from meeting-board entries.
Delete a backlog from a specific team. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: Identify the target backlog first. Ask the user: "Which backlog do you want to delete? Provide a Riido page URL or I'll look it up step by step." ALWAYS confirm with the user before deleting: "Are you sure you want to delete backlog '{title}'?"
Remove a label from an existing backlog. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: Identify the target backlog first. Ask the user: "Which backlog? Provide a Riido page URL or I'll look it up step by step." Show current labels on the backlog (via get_backlog) and ask the user which to remove.
Delete a backlog section from a specific team. Requires: OAuth 'write' scope IMPORTANT - If team_id is not already known: Ask the user: "Which team? Provide a Riido URL or I'll look it up (workspace → team)." WARNING: Deleting a section may affect backlogs within it.
Soft-delete a component. Requires: OAuth 'write' scope Thin wrapper over DELETE /teams/{team_id}/components/{component_id}. The API performs the delete semantics. This tool does not ask for confirmation; clients must confirm before calling.
Delete a meeting after the user has explicitly confirmed the target. Riido may also delete the corresponding connected-calendar event.
Delete a meeting-board entry after the user confirms the target.
Get detailed information about a single backlog. Requires: OAuth 'read' scope IMPORTANT - Identifying the backlog: If the user hasn't provided team_id and backlog_id, ask: "Which backlog? You can provide a Riido page URL or I'll look it up step by step (workspace → team → backlog list)." Extract IDs from URL if provided, otherwise follow the step-by-step lookup. This tool retrieves comprehensive information about a backlog, including: - Basic details (title, description, importance, urgency, estimate) - Section information (which section it belongs to) - Dates (expectedStartingDate, createdAt, updatedAt) - Document content (if available) - Assigned team member - Labels and voters - Created by / last updated by info
Get detailed information about a single component. Requires: OAuth 'read' scope IMPORTANT - Identifying the component: If the user hasn't provided team_id and component_id, ask: "Which component? You can provide a Riido page URL or I'll look it up step by step (workspace → team → component list)." Extract IDs from URL if provided, otherwise follow the step-by-step lookup. This tool retrieves the most comprehensive information available about a component, including: - Basic component details (title, description, dates, status) - Component type and hierarchy relationships (project, milestone, task, subtask) - Team members assigned to the component - Labels and their details - Status information with color coding - Document content (if available, in HTML format) - Creation and modification history - Priority scores and component settings - Notification subscription status Use list_components to get existing component IDs. Use list_teams to get valid team IDs.
Get priority rows for one component. Requires: OAuth 'read' scope Thin wrapper over GET /teams/{team_id}/components/{component_id}/priorities. The returned component priority row IDs are the IDs accepted by update_component_priority; they are not the same as team priority IDs.
Get a meeting with its participants, board entries, links, and relations.
Get the authenticated user's profile from Riido API. Requires: OAuth 'read' scope Returns: A dictionary containing the user's profile information including: - id: User's unique identifier - username: User's display name - email: User's email address - Additional profile fields
Link an existing Riido work item to a meeting.
Get all backlog sections within a specific team. Requires: OAuth 'read' scope IMPORTANT - If team_id is not already known: Ask the user: "Which team's backlog sections? Provide a Riido URL or I'll look it up (workspace → team)." Backlog sections are organizational containers for backlogs. You MUST use this tool first to get a valid backlogSectionId before creating a backlog.
Get backlogs within a specific team with pagination, filtering, and sorting. Requires: OAuth 'read' scope IMPORTANT - If team_id is not already known: Ask the user: "Which team's backlogs? Provide a Riido URL or I'll look it up (workspace → team)."
List top-level comments for a component. Requires: OAuth 'read' scope This is a guarded thin read wrapper for component comments. It verifies the component belongs to the route team before reading comments. It returns the comment bodies as stored by Riido and does not transform, summarize, mask, or interpret comment content.
Get components within a specific team with pagination support. Requires: OAuth 'read' scope This is typically the third step in the workflow: 1. list_my_workspaces -> get workspace IDs 2. list_teams -> get team IDs for a specific workspace 3. list_components -> get components for a specific team
List meeting templates available in a Riido team.
Get all workspaces that the authenticated user has access to. Requires: OAuth 'read' scope This is typically the first step in the workflow: 1. list_my_workspaces -> get workspace IDs 2. list_teams -> get team IDs for a specific workspace 3. list_components -> get components for a specific team Returns: A dictionary containing: - workspaces: List of workspace objects - count: Number of workspaces
Get all team labels within a specific team. Requires: OAuth 'read' scope Team labels are used to provide additional info about components. The label IDs returned from this tool can be used in the add_component_label tool.
Get all members in a specific team. Requires: OAuth 'read' scope This is a thin wrapper over GET /teams/{team_id}/members. It does not choose assignees or apply component-type policy.
Get all team priorities in a specific team. Requires: OAuth 'read' scope This is a thin wrapper over GET /teams/{team_id}/priorities. It does not select a default priority or map task importance.
Get all team statuses within a specific team. Requires: OAuth 'read' scope Team statuses correspond to components' status field (ex. done, in progress, etc.). The status IDs returned from this tool can be used in the update_component tool.
Get all teams within a specific workspace. Requires: OAuth 'read' scope This is typically the second step in the workflow: 1. list_my_workspaces -> get workspace IDs 2. list_teams -> get team IDs for a specific workspace 3. list_components -> get components for a specific team
Remove a label from an existing component. Requires: OAuth 'write' scope Thin wrapper over DELETE /teams/{team_id}/components/{component_id}/labels with body {"labelId": label_id}. It does not choose labels or enforce priority-label policy.
Remove one member from a component. Requires: OAuth 'write' scope Guarded thin wrapper over DELETE /teams/{team_id}/components/{component_id}/members with body {"memberId": member_id}. The member must already be assigned to this component. Current TeamMember status/team membership is not used for removal.
Remove a meeting web link after the user confirms the target.
Search meetings in a Riido team. Requires OAuth ``read`` scope. Results are always scoped to ``team_id``. Use an empty query to list recent non-template meetings.
Unarchive a component. Requires: OAuth 'write' scope Thin wrapper over POST /teams/{team_id}/components/archives with {"archiveType": "unarchive", "componentId": component_id, "componentType": component_type}.
Remove a work-item relation from a meeting after confirmation.
Update an existing backlog in a specific team. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: Identify the target backlog first. Ask the user: "Which backlog do you want to update? You can provide: - A Riido page URL (e.g., https://app.riido.io/{workspace_id}/teams/{team_key}/backlogs/{backlog_id}) - Or I can look it up by workspace → team → backlog list" If URL provided: extract team_key and backlog_id from the URL, resolve team_id via list_teams. If no URL: follow step-by-step lookup: 1. Call list_my_workspaces -> ask user to select workspace 2. Call list_teams(workspace_id) -> ask user to select team 3. Call list_backlog_sections(team_id), then list_backlogs(team_id, section_id) for the selected section -> ask user to select backlog 4. Only then call this tool Updatable properties: - Title, description - Importance (0-5 scale) - Urgency (low, medium, high, critical) - Estimate (numeric) - Expected starting date - Section (move backlog to a different section — use list_backlog_sections to get valid IDs) - Assignee (team member ID) - Order position within section
Update an existing backlog section. Requires: OAuth 'write' scope IMPORTANT - If team_id is not already known: Ask the user: "Which team? Provide a Riido URL or I'll look it up (workspace → team)."
Update an existing component in a specific team. Requires: OAuth 'write' scope IMPORTANT - Required workflow before calling this tool: You MUST identify the target component before calling. Ask the user: "Which component do you want to update? You can provide: - A Riido page URL (e.g., https://app.riido.io/{workspace_id}/teams/{team_key}/tasks/{component_id}) - Or I can look it up by workspace → team → component list" If URL provided: extract team_key and component_id from the URL, then resolve team_id via list_teams. If no URL: follow the step-by-step lookup: 1. Call list_my_workspaces -> ask user to select workspace 2. Call list_teams(workspace_id) -> ask user to select team 3. Call list_components(team_id) -> ask user to select component 4. Only then call this tool Updatable properties: - Title: Change the component's name/title - Start Date: Set or update the component's start date - End Date: Set or update the component's end date - Status: Change the component's status (use list_team_statuses for valid IDs) - Estimate: Set or update the component estimate. The API accepts this field; clients should apply their own component-type policy before calling.
Update one component priority score. Requires: OAuth 'write' scope Thin wrapper over PATCH /teams/{team_id}/components/{component_id}/priorities/{component_priority_id} with body {"score": score}. component_priority_id must be the row id from get_component_priorities, not a team priority id.
Update meeting metadata and schedule. Riido may synchronize schedule changes to the user's connected calendar. Only supplied fields are changed.
Replace the body of an existing meeting board entry.
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 Riido alternatives on ChatGPT?
As of 2026-09-28, Riido competes with Adobe Workfront, Agiflow, AIOProductOS, Aphex, Asana, Atlassian Rovo (Legacy), Atoll, awork, BasicOps, Breeze, CampusThreads, Cinch, ClickUp, Constructable, COR, Fenra, flow - AI Collaboration tool, Frasma, GetItDone, Hive, Jaggle, JobTread, Linear, monday.com, MotionHub, Namp, Nifty, Olie Flow AI, Onplana, Orchetta, Plane, Plate, Project Kickoff Pack, Project Plan 365, Runrun.it, Simply-Useful, SmartFlow Portal, Smartsheet AU, Smartsheet EU, Smartsheet US, Sonjapgo, TaskView, Trello, Voarq, Weft, Wrike in ChatGPT Project & Task Management Platforms, 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.