DataCamp
DataCamp catalog & team admin
- Category
- Education
- Primary Subcategory
- Online Course Marketplaces & Skill Platforms
Integration details
Description
Give your AI assistant direct access to DataCamp's full catalog of courses, tutorials, projects, and exercises. Search by keyword, look up any course or exercise by ID, or retrieve summaries on demand—no sign-in required. Authenticate to unlock team admin: manage groups, members, and assignments. Run live reporting on progress, engagement, and adoption to track how learning is landing across your organization.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Online Course Marketplaces & Skill Platforms
- Secondary Subcategories
- None listed
- Brand
- DataCamp
- Access
- Account optional
- First tracked
- 2026-07-27
- Tool count
- 101
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for DataCamp
Get updates when DataCamp’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 Online Course Marketplaces & Skill Platforms
View Category101 tools agents can invoke
Add one or more existing group members to an existing DataCamp group assignment. Takes the `assignmentId` and the `userIds` to add. Permissions are enforced upstream: the caller must have permission to modify the target assignment (e.g. group admins, or managers of the assignment's team). Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Add one or more existing group members to one or more teams within a DataCamp group. Requires the group's id, the target team IDs, and the user IDs to add. Permissions are enforced upstream: team managers can only add members to teams they manage, while group admins can manage all teams. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Approve a single pending waitlist entry so that person joins the DataCamp group with the licenses they originally requested. Requires the entry `id` and the group's `groupId`. Permissions are enforced upstream — the caller must be allowed to manage the waitlist for the group. If the group is out of licenses or the entry is gone, the upstream error is surfaced verbatim. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Archive a custom track in a DataCamp group, hiding it from learners while preserving the record. Use when a track is no longer relevant but should not be permanently deleted. Requires the group's id and the custom track id. Returns only the track's id and its new `state` (`'archived'`) — fetch the track separately if the full updated record is needed. The operation is idempotent: calling it on an already-archived track returns the same shape without changing anything. Permissions are enforced upstream — the caller must have permission to manage custom tracks in the group. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Archive a single assignment on a DataCamp group: it stops appearing in active/upcoming lists but remains available for historical reporting (queryable with `filters.status: "archived"`). Requires the assignment's `assignmentId` and the group's `groupId`. Admins and group managers can archive any assignment; team managers can archive assignments scoped to teams they manage. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Create a new custom track for a DataCamp group from previously discovered courses, projects, assessments, chapters, and resources. The track is created in `draft` state and must be published separately. Requires the group's id, a `title`, and a non-empty ordered `content` array; array order determines learner sequence. Standard content uses `type` (`course`, `project`, `assessment`, or `chapter`) with `contentId` (never `type: 'resource'`). Native catalog resources use `type: 'resource'` with the catalog search/detail id as `resourceId` and the canonical `resourceType`: code-along → `code_along`, tutorial → `tutorial`, cheat sheet → `cheatsheet`, webinar → `webinar`, podcast → `podcast`. URL-based external resources created with `create_custom_track_external_resource` use its returned `resourceId` and `resourceType: 'custom'`. Set `requiredForCompletion` to `true` or `false` for each item according to the author's intent. Optionally accepts a description and completion-badge icon and color. Returns the new track with id and URL. Permissions are enforced upstream; the caller must be allowed to author custom tracks for the group. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Create a URL-based external resource for a DataCamp group, such as a link to organization documentation, an article, or a video. Use native catalog resources directly instead of creating external-resource copies: code-alongs use `code_along`, tutorials use `tutorial`, and cheat sheets use `cheatsheet`. Requires the group's id, a non-empty `title`, and a fully formed `url`; an optional `description` is shown alongside the title. Returns the created resource. To embed it with `create_custom_track` or `edit_custom_track`, use its returned `resourceId` with `resourceType: 'custom'`. Permissions are enforced upstream. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Create an assignment in a DataCamp group for one of the supported content types (course, custom_course, chapter, xp, project, track, custom_track, assessment, certification, skill_verification). Deadline selection rule: when the request targets named, filtered, or otherwise specific users (`userIds`), a fixed calendar due date is the only supported option. Do not ask whether the user wants a fixed or rolling deadline; ask only which fixed due date to use. Offer a rolling deadline only for an assignment to the entire group or entire team. A rolling assignment requires a learner-specific rolling period and has a separate global cutoff for adding new assignees. Omit the global due date unless the user requests a different cutoff; it defaults to one year from now. Any explicit cutoff must be strictly later than the current time plus the rolling period, with sufficient processing time. Permissions are enforced upstream: the caller must be a group admin/manager, or a team manager for the target team. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Create a shareable invite link for a DataCamp group, scoped to one or more email domains. Anyone whose email matches one of the domains can use the link to join the group with the configured license access and team membership. Use this for the "share a link" path; to invite individual people by email, use the dedicated invite-by-email tool instead. Requires the group's id and a non-empty list of `domains` (e.g. `["example.com"]`). Optional: `teamIds` (numeric ids only — resolve names/slugs to ids first) and per-product access levels `learnLicense` and `datalabLicense`. When a license is omitted, the tool picks the highest access level the group has available (enterprise → teams → classroom → basic), falling back to basic. Permissions are enforced upstream. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Create a new team inside a DataCamp group. Requires the caller to have admin or manager permissions on the group. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Create an assignment for a single team within a DataCamp group, for one of the supported content types (course, custom_course, chapter, xp, project, track, custom_track, assessment, certification, skill_verification). The assignment is scoped to the given team, so every team member receives it unless `userIds` narrows it to specific members. Deadline selection rule: when the request targets named, filtered, or otherwise specific users (`userIds`), a fixed calendar due date is the only supported option. Do not ask whether the user wants a fixed or rolling deadline; ask only which fixed due date to use. Offer a rolling deadline only for an assignment to the entire team. A rolling assignment requires a learner-specific rolling period and has a separate global cutoff for adding new assignees. Omit the global due date unless the user requests a different cutoff; it defaults to one year from now. Any explicit cutoff must be strictly later than the current time plus the rolling period, with sufficient processing time. Permissions are enforced upstream: the caller must be a group admin/manager, or a manager of the target team. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Permanently delete a single assignment from a DataCamp group. **This is destructive and IRREVERSIBLE** — the assignment record is removed entirely along with any historical reporting tied to it. Confirm with the user before invoking. Prefer archiving for non-destructive removal: archived assignments stop appearing as active but remain available for historical reporting and can be restored later. Requires the assignment's `assignmentId` and the group's `groupId`. Admins and group managers can delete any assignment; team managers can delete assignments scoped to teams they manage. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Delete a team from a DataCamp group. Requires the team's id. Members of the team are NOT removed from the group — they remain as group members, just no longer assigned to this team. Permissions are enforced upstream. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Deny a single pending waitlist entry on a DataCamp group: the person stays out of the group and their entry is removed from the waitlist. This is NOT how you grant access — denying means rejecting. The user would have to request to join again if they want back on the list. Requires the entry id and the group's `groupId`. Permissions are enforced upstream — only group admins can manage the waitlist. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Edit an existing custom track in a DataCamp group. Supply any subset of `title`, `description`, `content`, `badgeIconName`, and `badgeIconStyle`; omitted fields are unchanged, and at least one must be supplied. Passing `content` **fully replaces** the list: first call `get_custom_track`, copy the complete content list, preserve every item that should remain, and edit that copy. For existing resources, use the returned `resourceId` with `resourceType`, never `contentId`. Native catalog mappings are code-along → `code_along`, tutorial → `tutorial`, and cheat sheet → `cheatsheet`; catalog search/detail ids become `resourceId`. Set `requiredForCompletion` to `true` or `false` according to the author's intent. After every attempted edit, call `get_custom_track` to verify the final list because a failed edit may have applied only part of the replacement. Editing a published track does not move it back to draft. Returns the updated track. Permissions are enforced upstream. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Get a DataCamp blog post by its ID, including its full text content, authors, category tags, and reading time.
Get a single DataCamp certification by its `slug` (e.g. `data-scientist-associate`) or numeric `certificationId`. Returns the catalog record — name, link, level, XP, and the caller's `userCertification` record when they have passed. Scoped upstream to the public catalog plus any restricted certifications the caller's organisations grant them access to. Requires authentication.
Get a DataCamp cheat sheet by its ID, including its full text content, downloadable reference image, authors, and category tags.
Get a code-along by its ID.
Get a single DataCamp competition by its `slug` (e.g. `predicting-credit-card-approvals`). Returns the full brief — background, challenge, judging criteria, prizes, rules, get-started steps, hero image, and winners. When the caller is authenticated, the competition additionally carries their submission status under `userContext`.
Get course details by its ID or slug. When the caller is authenticated, also returns private courses the user has access to (e.g. B2B custom courses); without authentication only public courses are available.
Get a single custom track by id within a DataCamp group. Returns the track's metadata and ordered embedded content. Resource items include a track `contentId` plus the public `resourceId` and `resourceType`; when recreating or preserving a resource with `create_custom_track` or `edit_custom_track`, use `resourceId` with `resourceType`, never `contentId`. Call this before replacing content so every item that should remain can be preserved, and call it after every attempted edit to verify the final list. Permissions are enforced upstream — the caller must have access to the group and the track. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
List a cursor-paginated page of learners enrolled in a custom track within a DataCamp group. Requires the group's id and the custom track id. Each enrollee includes their user id, full name, the timestamp they enrolled (`startedAt`), and the timestamp they completed every item (`completedAt`, `null` while still in progress). Pass `nextCursor` from the response as `cursor` to retrieve the next page. Feed the user ids into the reporting tools to drill into per-learner activity. Permissions are enforced upstream — the caller must have access to the group and the track. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Get an exercise by its chapter and course IDs. When the caller is authenticated, also returns exercises in private courses the user has access to (e.g. B2B custom courses); without authentication only public courses are available.
Get a single DataCamp group's id, slug, name, and subscription products by group id. Use this when the agent already has a group id and needs to confirm the slug or name (e.g. for display, or to render a link), or to check which subscription products the group holds. Product slugs starting with `learn.` are Learn products — DataCamp's main product, which gives access to courses. Scoped upstream to groups the authenticated user is permitted to view.
Group admin/manager view: list the assignees of a DataCamp assignment and their progress. This is for admins, managers, and team managers tracking who an assignment was given to — it is NOT the signed-in learner's own assignments or progress. Requires the assignment's ID. Returns each assignee's identity (user id, email, name, avatar) along with their progress (status, completed_at, due_date) and assessment level where applicable. Supports pagination, sorting (by email, full name, or completion date), filtering by status, and free-text search. Results are scoped upstream to the assignees the authenticated caller is permitted to see, based on their role on the assignment's group or team. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Get per-product license counts for a DataCamp group — licenses in use, purchased, and available, broken down across learn and datalab (× access level: basic, classroom, enterprise, teams). Requires the group's id. Results are scoped upstream to groups the authenticated user is permitted to read. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
List the members of a DataCamp group who have not earned any XP since registration — i.e. members the Adoption report counts as "not started". Useful when an admin wants to nudge stalled learners with a fresh assignment. **This is not live data** — it is a periodic snapshot and may lag real-time activity. The response includes `snapshot.lastUpdatedAt` indicating when the underlying snapshot was last refreshed; surface it to the user so they know how stale the result is (e.g. "as of 2 hours ago"). Requires the group's id. Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Returns each member's `userId`, `fullName`, and `email`. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Get a DataCamp podcast episode by its ID, including its transcript, hosts and guests, episode number, and links to listen on Spotify, Apple, Google, and YouTube.
Get a single DataCamp project variant by its numeric `projectId`. When the caller is authenticated, the response includes their progress on this variant.
Get a DataCamp project group by its string `groupKey` — returns all underlying variants (e.g. Python guided + Python case study + R guided). When the caller is authenticated, each variant in the response includes their progress.
List the valid values for the dynamic `search_content` filters: content types, technologies, and topics. Call this before using the `contentTypes`, `technologies`, or `topics` filters of `search_content` and pass back exact values from the response — `search_content` rejects values that are not in this list.
Get a single DataCamp skill assessment by its `slug` (e.g. `python`, `sql-fundamentals`). Returns the assessment's catalog metadata plus, when the caller is authenticated, the full history of their completed attempts. Use the `assessmentId` (or `slug`) — not the version-scoped `id` — when referencing this assessment from other tools.
Get a single DataCamp skill verification by its `slug` (e.g. `ai-fundamentals`, `data-literacy`) or numeric `skillVerificationId`. Returns the catalog record — name, link, type, assessment size, backing course for CPE-style verifications, and the caller's `userSkillVerification` record. Scoped upstream to the public catalog plus any restricted/specialist verifications the caller's organisations grant them access to. Requires authentication.
Returns personalized 'what to learn next' suggestions for the authenticated user, mirroring the DataCamp home page and dashboard. Includes: the track they're enrolled in, the single best course or project to continue (their most recent unfinished one, or the next course to start in their track), spaced-repetition review items, their most urgent upcoming assignments, and suggested practice, project, and assessment content. Use this when the user asks what to do next, what to study, how to continue learning, or to recommend content. Requires an authenticated user.
Get a single DataCamp track (career or skill) by its numeric id or slug, including the full content path, prerequisites, instructors, and partnership labels. When the caller is authenticated, the response also includes their enrollment, completion, and progress on this track.
Get a tutorial by its ID.
Get a webinar by its ID.
The group's adoption score — the percentage of members who have started learning. Returns the raw `score` (0–100) plus a `benchmarkLabel` band (`caution` 0–20, `on_track` 21–84, `excellent` 85+). **This is not live data.** It is sourced from a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. The response includes `snapshot.lastUpdatedAt` so you can tell the user how stale the value is (e.g. "as of 2 hours ago"). Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Group-level course overview — the same widget metrics shown at the top of the Group Hub Content Insights > Courses report: total course starts and completions, distinct members who started/completed at least one course, courses skipped, and the overall completion rate. Optionally scoped to a `startDate`/`endDate` window (both inclusive). Both bounds are optional and default to "all time" when omitted — omit them entirely unless the user explicitly specified a date range. **Never guess a date.** Optional `technology` and `topic` filters narrow every metric to courses tagged with the matching attribute (case-insensitive, exact match); combine them to require both. **This is not live data.** It is sourced from a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. The response includes `snapshot.lastUpdatedAt` so you can tell the user how stale the values are (e.g. "as of 2 hours ago"). Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Group-level engagement overview — the same widget metrics shown at the top of the Group Hub Engagement report: active users, total XP earned, hours spent on the platform, and course completions (including how many were skipped). Optionally scoped to a `startDate`/`endDate` window (both inclusive). Both bounds are optional and default to "all time" when omitted — omit them entirely unless the user explicitly specified a date range. **Never guess a date.** **This is not live data.** It is sourced from a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. The response includes `snapshot.lastUpdatedAt` so you can tell the user how stale the values are (e.g. "as of 2 hours ago"). Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
The group's engagement score — the percentage of current members who earned XP in the last 30 days. Returns the raw `score` (0–100) plus a `benchmarkLabel` band (`caution` 0–10, `on_track` 11–49, `excellent` 50+). **This is not live data.** It is sourced from a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. The response includes `snapshot.lastUpdatedAt` so you can tell the user how stale the value is (e.g. "as of 2 hours ago"). Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Group-level project overview — the same widget metrics shown at the top of the Group Hub Content Insights > Projects report: total project starts and completions, distinct members who started/completed at least one project, and the overall completion rate. Optionally scoped to a `startDate`/`endDate` window (both inclusive). Both bounds are optional and default to "all time" when omitted — omit them entirely unless the user explicitly specified a date range. **Never guess a date.** Optional `technology` and `topic` filters narrow every metric to projects tagged with the matching attribute (case-insensitive, exact match); combine them to require both. **This is not live data.** It is sourced from a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. The response includes `snapshot.lastUpdatedAt` so you can tell the user how stale the values are (e.g. "as of 2 hours ago"). Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
List the skills a group tracks in Skill Matrix reporting, with their numeric ids. This is the lookup step for any question that names a skill: skill ids are only unique within a dimension, so resolve names to their numeric ids here before using them elsewhere. Each row also reports how many assessed members count toward that skill, so you can spot skills nobody has been assessed on. Requires the group's id. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Cell-level Skill Matrix detail for a group: average proficiency for every technology-and-topic pair that has at least one assessed member, flattened into rows. Use it to locate where inside a skill the weakness sits, and to find coverage gaps — a pair that is missing from the output means nobody was assessed on it, which is different from a zero score. Requires the group's id and whether rows should be technologies or topics. Pagination covers the requested axis, not the flattened rows, so one page can return many rows; each row also reports how many members were assessed for that pair, and a small count next to a high score is a thin sample. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Group-wide skill proficiency summary from Skill Matrix reporting: the average score and assessed-member count for each requested skill, the group-wide strongest and weakest skills, and — when a comparison period is requested — how much each score moved versus that period. Requires the group's id and whether to aggregate by technology or by topic. The strongest/weakest rankings always cover the entire group regardless of which skills were requested; scores are on a 0-200 scale and are not percentages; a null delta means the change cannot be determined, not that there was no change. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
List the skills a group has pinned as its Skill Matrix priorities, in priority order, for one dimension. Requires the group's id and the dimension. Each skill is reported exactly as the group recorded it — a skill name or a numeric-id string — so match it against the group's tracked-skill list by name or id. There is no freshness snapshot: this reflects the group's live settings rather than a reporting snapshot. Empty output means nothing is pinned. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Where a group's learners are spending their time in DataCamp Learn — the up-to-ten content items with the most engagement (each with its own `timeSpentHours`), plus a total-hours breakdown split into AI Tutor course variants vs. DataCamp (everything else: DataCamp course variants, projects, practices, assessments). Optionally scoped to a `startDate`/`endDate` window (both inclusive). Both bounds are optional and default to "all time" when omitted — omit them entirely unless the user explicitly specified a date range. **Never guess a date.** Pass an optional `contentType` (`course`, `project`, `practice`, or `assessment`) to restrict the ranking and the hours breakdown to a single type; omit it to rank courses, projects, practices, and assessments together. The top-items list never returns chapters or exercises, even when their durations are included in the overall hours. **This is not live data.** Backed by a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. Use `snapshot.lastUpdatedAt` to tell the user how stale the data is. Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id and a DataCamp subscription that includes Time in Learn reporting. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Hours a group spent in DataCamp Learn over time — one row per time bucket (`day`, `week`, or `month`) with `totalHours`, `aiTutorHours`, and `dataCampHours`. Pick this tool when the user is asking how a learning-time metric **changes over time** ("trend over the last 90 days", "by month", "weekly engagement"). Pass `bucket` matching the user's wording — daily for short windows, weekly or monthly for longer ones. The series is zero-filled across the requested window so the line chart has no missing buckets; capped at 1,000 rows, so for very long windows pick a wider `bucket`. Optionally scope to `startDate`/`endDate` (both inclusive); both default to "all time" when omitted, but in practice you should always pass an explicit window for trend questions. **Never guess a date.** Pass an optional `contentType` (`course`, `project`, `practice`, or `assessment`) to restrict to a single content type. **This is not live data.** Backed by a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. Use `snapshot.lastUpdatedAt` to tell the user how stale the data is. Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id and a DataCamp subscription that includes Time in Learn reporting. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
Group-level track overview — the same widget metrics shown at the top of the Group Hub Content Insights > Tracks report: total track starts and completions, distinct members who started/completed at least one track, and the overall completion rate. A track is a cross-discipline learning path with no `topic` or `technology` dimension, so this tool takes no content filters. Optionally scoped to a `startDate`/`endDate` window (both inclusive). Both bounds are optional and default to "all time" when omitted — omit them entirely unless the user explicitly specified a date range. **Never guess a date.** Re-enrolling in the same track within the window contributes a fresh start. **This is not live data.** It is sourced from a periodic snapshot that refreshes daily; expect data to lag by up to ~24 hours. The response includes `snapshot.lastUpdatedAt` so you can tell the user how stale the values are (e.g. "as of 2 hours ago"). Only group admins are authorized; managers and team managers will be rejected. This is org-wide admin reporting, not the assignments or progress of the signed-in learner. Requires the group's id. Before using this tool, clearly state the name of the group you are accessing. Never mix data from different groups in the same task/session. If the user wants to access another group, ask them to start a new task/session or explicitly confirm the switch.
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 DataCamp alternatives on ChatGPT?
As of 2026-09-28, DataCamp competes with ADTraining, Articulate, Articulate EU, Boluda, Coursera Learning, edX, Inflearn, Lucebra, MGS Agile Toolkit, OpenAI Certified, Skillsail, Time Machine, Udemy 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.