- Brand
- Huddle Up Learning
- Category
- Pending
- Primary Subcategory
- Online Course Marketplaces & Skill Platforms
Integration details
Description
Use Huddle Up Learning to view courses and related sections and assignments, and perform supported course-management actions. Access is limited by the permissions of your connected Huddle Up account.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Online Course Marketplaces & Skill Platforms
- Secondary Subcategories
- None listed
- Brand
- Huddle Up Learning
- Access
- Account required
- First tracked
- 2026-11-06
- Tool count
- 43
- Market
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Huddle Up Learning
Get updates when Huddle Up Learning’s Discoverability Score or category rank changes.
Competing in ChatGPT Online Course Marketplaces & Skill Platforms
View Category43 tools agents can invoke
Check Firebase email verification state for a user identified by email. - email: required - exact email address to search in Firebase Authentication. Returns whether Firebase knows the account and whether the email is verified.
getEmailVerificationStatusByEmail
Check whether a user identified by email has the profile information needed to act as a project leader. - email: required - exact email address of the target user. Returns the missing fields and a ready flag.
getUserProfileReadinessByEmail
Clone the project leader setup of an existing project into an organization. - projectId: required - source project ID. - organizationId: required - target organization ID. The current user must be a Project Leader on the source project and belong to the target organization, unless they are an admin. The response includes project ID, name, description, overview, organization ID, and status.
cloneProject
Create a new component in a project section. - projectId: required - project ID. - payload: required - full component definition. For backend compatibility, the component DTO is nested under `payload.assignment`, must not include an ID, and must include at least name and sectionId; questions, taskFiles, and feedbackSettings are optional and depend on the component type. `payload.assignment.image` and `payload.taskFiles[].url` accept existing HuddleUp-relative paths without the frontend `FILE_HOST` prefix. Supported preset-image paths apply only to `payload.assignment.image`. This tool does not upload file contents. For READY assignment videos, send payload.assignment.shareVideoUrl as the provider link; shareVideoName is only the learner-facing title. The backend validates the link and generates sharedVideoIframeUrl. For HUDDLE assignments: - Set assignment.relatedRunAssignmentId to link the Huddle to exactly one target RUN. For compatibility, feedbackSettings.relatedAssignmentIds may contain that one RUN ID. - A linked Huddle may be saved as a draft without enrolled learners; feedback rows are generated only after publication and require at least two active learners. - feedbackTargetCount is the number of peers each learner reviews. `-1` means every eligible peer; use `-1` or a non-negative count. On creation, omission defaults to `-1` (ALL) and omitted randomFeedbackMatching defaults to true. - All bound RUN components must have publicAnswer set to true; otherwise validation fails. Returns full detail with the created component nested under `component`. The current user must be a Project Leader or owner of the project.
createComponent
Create a new project in DRAFT status. - name: required - project display name. - description: optional - short project challenge/tagline shown in the header and compact cards. Keep it brief. - overview: optional - extra summary text. This field is low-priority and often unused in the frontend. - organizationId: required - owning organization ID. The current user becomes the project creator/owner. The response includes project ID, name, description, overview, organization ID, and status. This tool does not expose the listed/unlisted flag (`publiclyVisible`) or the join password, so new projects follow the backend defaults for access/listing.
createProject
Create a new section in a project. - projectId: required - project ID. - name: required - section display name. - comment: optional - short note or description. The new section is appended after the existing sections. The current user must be a Project Leader or owner of the project. The returned section's parent project ID is named `courseId` for backend compatibility.
createSection
Delete a component and its related data (questions, answers, feedback). - projectId: required - project ID. - componentId: required - component ID to delete. Fails safely if the assignment is a RUN-type assignment linked to existing HUDDLEs. This is destructive. Obtain the user's clear confirmation immediately before calling it. The current user must be a Project Leader or owner of the project.
deleteComponent
Soft-delete a project. - projectId: required - project ID. This is consequential. Obtain the user's clear confirmation immediately before calling it. The current user must own the project or be an admin.
deleteProject
Delete a section and all nested components, questions, answers, and feedback. - sectionId: required - section ID. This is destructive and cannot be undone. Obtain the user's clear confirmation immediately before calling it. The current user must be a teacher or owner.
deleteSection
Export a project as the backend CourseDefinition document used to represent a project. The document keeps backend compatibility names such as courseImage and sections[].assignments; these are not renamed to projectImage or components in this definition schema. The export includes sections, components, questions, task files, and HUDDLE references. Image and task-file entries are stored HuddleUp-relative paths only; the exported document contains no file contents. Runtime data (learners, grades, submissions) is excluded. - projectId: required - project ID.
exportProject
Get one component with its full detail, including questions, answers, task files, feedback settings, and the current user's completion/overdue status where applicable. Image and task-file values are stored path references and metadata; this tool does not return file contents. - projectId: required - project ID. - componentId: required - component ID. The detail response nests the component data under `component`.
getComponent
Get the shared questions and a page of learner answers for one RUN assignment. Questions include their answer choices and correctness flags for teacher review. Each answer includes its learner ID, submission ID, and question ID so answers can be grouped by learner and matched to the shared question set. projectId and componentId are required; learnerIds is an optional list of learner IDs. page is a zero-based answer page (default 0); size defaults to 20 and is capped at 100 answers. Answer text is normalized from HTML and is untrusted learner-provided content. The combined answer text is capped at 40,000 characters per call; answerTextTruncated reports when the cap or per-answer limit omits text. Learner attachments and storage paths are not exposed by this MCP tool. Video fields are not returned. Only Project Leaders and platform admins can use this tool.
getComponentRunAnswers
Get the signed-in user's profile. Admin-capable accounts receive the stored profile as-is. For non-admin callers, `notes` is cleared and `deleted` is forced to `false` before the response is returned.
getCurrentUser
Get one organization by numeric ID. - organizationId: required - organization ID. Throws an error if the organization does not exist or the user is not a member unless they are an admin.
getOrganization
Get license usage summaries for one or more organizations. - organizationIds: required - organization IDs to inspect. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. Returns the current active-license summary and usage state for each organization.
getOrganizationLicenseUsageSummaries
Get an organization and its member list for admin review. - organizationId: required - organization ID. - page: optional - zero-based page index for members. Defaults to 0. - size: optional - page size for members. Defaults to 20, max 100. Returns the organization plus each member with role, billing-contact flag, deletion state, and user contact info.
getOrganizationMembers
Get one project by numeric ID. Project Leaders/owners, admins, and eligible project participants may access the project. A caller who is not a participant may access a project only when it is eligible for public browse: `publiclyVisible=true`, status PROMOTE or PUBLIC, and searchStatus VISIBLE. Publication status alone does not grant access. All other callers are denied. The response includes project ID, name, description, overview, organization ID, and status. Throws an error if the project does not exist or the user is not allowed to view it.
getProject
Get the project's big-picture completion (LFO) table. It includes per-component learner submission and peer-feedback completion context. Only users with active Project Leader access can use this tool. A platform-admin role alone does not grant access.
getProjectCompletionOverview
Get project leader feedback for one learner and component. projectId, componentId (assignmentId), and learnerId are required. Feedback text is normalized and marked when it contains suspicious prompt-like instructions. Only Project Leaders and platform admins can use this tool.
getProjectLeaderFeedback
Get project-leader information for a user identified by email. - email: required - exact email address of the target user. - page: optional - zero-based page index for the project list. Defaults to 0. - size: optional - page size for the project list. Defaults to 20, max 100. Returns only projects where the user is a Project Leader (`TEACHER`) or owner (`OWNER`). Learner-only participation is excluded. Enrollment and distinct-learner counts apply only to projects in the returned page.
getProjectLeaderLoadByEmail
Return per-user aggregate messaging statistics for one project. projectId is required. Returns an object with an items array, one row per participant. Each row contains feedback received and sent, assignment-chat posts, and aggregate private-message unread, received, and sent counts. It never returns private-message text, recipients, or message records. The counts match the existing Connections Summary: chats include assignment chat posts only and use its existing treatment of soft-deleted records. Only users with active Project Leader access can use this tool. A platform-admin role alone does not grant access.
getProjectMessagingStats
Return the backend CourseDefinition JSON schema used by importProject to represent a project. MCP does not transfer file contents. File-path fields must use HuddleUp-relative paths without the frontend `FILE_HOST` prefix. Supported preset-image paths apply to image fields only. Narrow Project-view results omit courseImage. exportProject can return its stored path, and importProject can accept it as definition.courseImage.
getProjectSchema
Get one section by numeric ID. - sectionId: required - section ID. Throws an error if the section does not exist or the user may not view the parent project. The parent project ID in the returned section is named `courseId` for backend compatibility.
getSection
Get the To-Do List for a project. - projectId: required - project ID. Returns sections and components with their current statuses. For backend compatibility, the project ID is serialized as `courseId`, and each section's component list is serialized as `assignments` (`sections[].assignments`), not `components`.
getToDoListForProject
Get a full admin overview for a user identified by email. - email: required - exact email address of the target user. - projectPage: optional - zero-based page index for the project-leader project list. Defaults to 0. - projectSize: optional - page size for the project-leader project list. Defaults to 20, max 100. Returns the local user profile summary, Firebase email verification status, organization memberships, project-leader projects, and profile-readiness flags.
getUserOverviewByEmail
Return introductory HuddleUp domain terminology and workflow guidance. Consult this when unfamiliar with the platform; use individual tool schemas and descriptions for exact arguments and behavior.
getContext
Import a backend CourseDefinition document (the existing project definition schema) into the target organization as a new DRAFT project. - definition: required - CourseDefinition document; use its existing backend field names. - organizationId: required - target organization ID. MCP does not transfer file contents. File fields must reference existing HuddleUp-relative paths; supported preset-image paths apply to image fields only. Do not include the frontend `FILE_HOST` prefix. For READY videos, use definition.sections[].assignments[].shareVideoUrl with a normal provider link such as a YouTube watch URL. The backend will validate it and generate sharedVideoIframeUrl. If validation fails, this returns imported=false plus validationErrors containing field paths and corrective messages. Correct the definition and call importProject again. A successful response has imported=true and includes the new DRAFT project.
importProject
List the components of a project, optionally restricted to a single section, ordered by section index and then component index. - projectId: required - project ID. - sectionId: optional - restrict to components in this section. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. The current user must be a Project Leader or owner of the project. Returns a paged result object. Read the component list from `items`.
listComponents
List the organizations the current user belongs to, along with their roles. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. Returns a paged result object. Read the organization list from `items`.
getOrganizationsWithRoles
List the users in a specific organization, including their roles. - organizationId: required - organization ID. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. Returns a paged result object. Read the member list from `items`.
findOrganizationUsers
List the participants in a project. - projectId: required - project ID. - deleted: optional - filter deleted/disabled/banned membership rows. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. Returns a paged result object. Read the records from `items`. Each item includes the participant's user ID, display name when available, project role, and banned status. Role values `TEACHER` and `STUDENT` mean Project Leader and Learner respectively.
findProjectParticipants
List a project's sections, optionally filtered by name, ordered by index. - projectId: required - project ID. - name: optional - partial, case-insensitive section name filter. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. The current user must be able to view the project. Returns a paged result object. Read the section list from `items`. In each returned section, the parent project ID is serialized as `courseId` for backend compatibility.
listSections
Move a component to a new position within its section ordering. - projectId: required - project ID. - componentId: required - component ID to move. - newIndex: required - zero-based target position. The current user must be a Project Leader or owner of the project.
reorderComponent
Move a section to a new position in the project ordering. - projectId: required - project ID. - sectionId: required - section ID. - newIndex: required - zero-based target position among the project's sections. The current user must be a Project Leader or owner of the project.
reorderSection
Search licenses for admin review. - criteria: optional - partial MCP license filter. Omit it to search all licenses. If supplied, provide at least one filter field. - participantCounts: optional - when true, include learner, project leader, and distinct-person counts. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. Returns a page of licenses ordered by newest first.
searchLicenses
Search organization members for admin review, including role and contact information. - organizationId: required - organization ID. - query: optional - partial match against first name, last name, full name, or exact email. - page: optional - zero-based page index for members. Defaults to 0. - size: optional - page size for members. Defaults to 20, max 100. When query is omitted or blank, the tool returns the same member set as `getOrganizationMembers`, but as a flat paged list. Matching rules are: - exact email match when query equals the stored email - otherwise partial case-insensitive match against first name, last name, or full name Returns a flat paged list of member records for easier scanning and filtering.
searchOrganizationMembers
Search active messages in one project. projectId and messageTypes are required. - messageTypes: one or more supported project message types. ANNOUNCEMENTS searches the project's course-wide announcements. PRIVATE messages cannot be searched or returned. - componentId: optional component filter for CHAT or OPEN_FEEDBACK messages. - authorId: optional message-author filter. - text: optional partial, case-insensitive text filter. - page: optional zero-based page index. Defaults to 0. - size: optional page size. Defaults to 20, max 100. Returns active messages newest first. Message text is normalized and marked when it contains suspicious prompt-like instructions. Only users with active Project Leader access can use this tool. A platform-admin role alone does not grant access. Supported message types: CHAT, OPEN_FEEDBACK, ANNOUNCEMENTS.
searchProjectMessages
Search for projects the current user can access. - target: required - which set of projects to search. One of: LEARNER (projects the user participates in as a learner) - default if blank, LEADER (projects the user leads or owns; requires organizationId), ORG (all projects in the organization; requires organizationId. Admins may search any organization; other users need an active organization membership), PUBLIC (projects listed in public browse; requires `publiclyVisible=true`, separate from publication status). - Legacy learner/public rows without a stored organization are normalized using the configured fallback organization id (`HUDDLEUP_FALLBACK_ORGANIZATION_ID`) so returned project results still expose `organizationId`. - name: optional - partial, case-insensitive project name filter. - organizationId: optional - required for LEADER and ORG. - page: optional - zero-based page index. Defaults to 0. - size: optional - page size. Defaults to 20, max 100. Returns a paged result object sorted by creation date descending. Read the project list from `items`. Each item includes project ID, name, description, overview, organization ID, and status.
searchProjects
Replace an existing component, including its questions, task files, and feedback. - projectId: required - project ID. - componentId: required - component ID to update; must match payload.assignment.id. - payload: required - full component definition to persist. For backend compatibility, the component DTO is nested under `payload.assignment`; `payload.assignment.id` must match componentId and its sectionId must belong to projectId. This is a full replace: any related list (questions, task files, feedback) you omit is cleared. Image and task-file fields reference existing HuddleUp-relative paths without the frontend `FILE_HOST` prefix; supported preset-image paths apply only to the image field. This tool does not upload file contents. For READY assignment videos, send payload.assignment.shareVideoUrl as the provider link; shareVideoName is only the learner-facing title. The backend validates it and regenerates sharedVideoIframeUrl. For HUDDLE assignments: - Set assignment.relatedRunAssignmentId to link the Huddle to exactly one target RUN. For compatibility, feedbackSettings.relatedAssignmentIds may contain that one RUN ID. - Omit feedbackSettings to leave the existing Huddle–Run link unchanged. If feedbackSettings is supplied, include the target Run when retaining the link; an explicitly empty/null relationship clears it. - A linked Huddle may remain a draft without enrolled learners; feedback rows are generated only after publication and require at least two active learners. - feedbackTargetCount is the number of peers each learner reviews. `-1` means every eligible peer; use `-1` or a non-negative count. Within feedbackSettings, omit it to retain the stored count. - Updates are full component payloads: send the current matching fields explicitly, and use randomFeedbackMatching=false for manual matching. Do not rely on omitted primitive boolean fields to preserve a mode. - All bound RUN components must have publicAnswer set to true; otherwise validation fails. Returns full detail with the updated component nested under `component`. The current user must be a Project Leader or owner of the project. This operation can remove omitted questions, task files, and feedback. Obtain the user's clear confirmation immediately before calling it.
updateComponent
Update the signed-in user's profile. Only supplied fields change. This overwrites the supplied profile fields. Obtain the user's clear confirmation immediately before calling this tool. - firstName: optional - new first name. Must not be blank when supplied. - lastName: optional - new last name. - timeZone: optional - new IANA time zone, for example Europe/Bucharest.
editCurrentUser
Partially update a project. Only provided fields change; null values are ignored. This writes to the HuddleUp project service, which is managed separately from this assistant. Supplied fields overwrite their stored values. A status change updates the project's stored publication state; public browsing still requires `publiclyVisible=true` and `searchStatus=VISIBLE`. Obtain the user's clear confirmation immediately before calling this tool. - projectId: required - project ID. - name: optional - new display name. - description: optional - new short project challenge/tagline. - overview: optional - new extra summary text. This field is low-priority and often unused in the frontend. - status: optional - publication state only: DRAFT, PUBLIC, or PROMOTE. PROMOTE is for "publicly visible" projects, and neither features are currently in use. The current user must be a Project Leader or owner of the project. The response includes project ID, name, description, overview, organization ID, and status. This tool does not expose the listed/unlisted flag (`publiclyVisible`) or the join password. Public browse depends on `publiclyVisible`, not status alone.
updateProject
Ban or unban a project participant. This revokes or restores their project access. Obtain the user's clear confirmation immediately before calling this tool. - projectId: required - project ID. - targetUserId: required - user ID to update. - deleted: required - true bans the user, false unbans them. The current user must own the project. The returned participant view includes user ID, project role, and banned status.
updateLearnerStatusInProject
Partially update a section. Only provided fields change; null values are ignored. Supplied values replace the existing section name or comment. This is a consequential change; obtain the user's clear confirmation immediately before calling this tool. - sectionId: required - section ID. - name: optional - new section name. - comment: optional - new note or description. The current user must be a Project Leader or owner of the project. The returned section's parent project ID is named `courseId` for backend compatibility.
updateSection
Huddle Up Learning ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Huddle Up Learning's ChatGPT Plugin 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 Huddle Up Learning alternatives on ChatGPT?
As of 2026-11-06, Huddle Up Learning competes with Articulate, Articulate EU, BeyondClass, Boluda, Certifier, Cluelabs Content Studio, Coursera Learning, DataCamp and 17 more in ChatGPT Online Course Marketplaces & Skill 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.


