Connect your AI Agents to Articulate Reach 360 in minutes

Merge lets you securely connect your agents to Articulate Reach 360 and thousands of tools instantly

Available tools

list_courses

List all courses in Reach 360 with optional filtering by content type (rise, storyline, microlearning, imported). Supports pagination.

get_course

Get details of a specific course in Reach 360 by its ID including title, description, content type, and enrollment URLs.

enroll_user_in_course

Enroll a single user in a course in Reach 360. Optionally set a due date. Use list_courses and list_users to find IDs.

unenroll_user_from_course

Unenroll a user from a course in Reach 360. Use list_courses and list_users to find IDs.

enroll_group_in_course

Enroll a group in a course in Reach 360. Use 'everyone' as group_id to enroll all users. Optionally set a due date.

unenroll_group_from_course

Unenroll a group from a course in Reach 360. Use 'everyone' as group_id to unenroll all users.

import_course_completion

Import completion data for a course/user pair into Reach 360. Use to record historical completions with timestamps and optional score.

list_user_favorites

List a user's favorite courses and learning paths in Reach 360. Use list_users to find user IDs.

list_groups

List all groups in Reach 360 with optional filtering by name. Returns group details including member URLs.

get_group

Get details of a specific group in Reach 360 by its ID including name, description, and member URLs.

create_group

Create a new group in Reach 360 with a name and optional description.

update_group

Update an existing group in Reach 360. Can update name and/or description. Use list_groups to find group IDs.

delete_group

Delete a group from Reach 360 by its ID. Use list_groups to find group IDs.

list_group_members

List all members of a specific group in Reach 360. Returns user details for each member.

list_user_groups

List all groups that a specific user belongs to in Reach 360.

add_user_to_group

Add a user to a group in Reach 360. Use list_users and list_groups to find valid IDs.

remove_user_from_group

Remove a user from a group in Reach 360. Use list_group_members to find users in a group.

list_invitations

List all pending invitations in Reach 360. Returns invitation details including email, role, and expiration.

get_invitation

Get details of a specific pending invitation in Reach 360 by its ID.

create_invitation

Send an invitation to a user to join your Reach 360 team. Specify email, optional name, role, and groups to assign.

delete_invitation

Delete a pending invitation in Reach 360 by its ID. Use list_invitations to find invitation IDs.

list_learning_paths

List all learning paths in Reach 360. Returns learning path details including title, description, and course count.

get_learning_path

Get details of a specific learning path in Reach 360 by its ID including title, description, and courses URL.

list_learning_path_courses

List all courses in a specific learning path in Reach 360. Returns course details with position in the path.

enroll_user_in_learning_path

Enroll a user in a learning path in Reach 360. Optionally set a due date. Use list_learning_paths and list_users to find IDs.

unenroll_user_from_learning_path

Unenroll a user from a learning path in Reach 360. Use list_learning_paths and list_users to find IDs.

enroll_group_in_learning_path

Enroll a group in a learning path in Reach 360. Use 'everyone' as group_id to enroll all users. Optionally set a due date.

unenroll_group_from_learning_path

Unenroll a group from a learning path in Reach 360. Use 'everyone' as group_id to unenroll all users.

get_learner_report

Get learning report for a specific user in Reach 360. Returns course completion data including status, score, and duration.

get_course_report

Get learner completion report for a specific course in Reach 360. Returns completion status, scores, and duration for all enrolled learners.

get_group_courses_report

Get courses report for a specific group in Reach 360. Returns enrollment and completion statistics for each course.

get_learning_path_courses_report

Get courses report for a learning path in Reach 360. Returns enrollment and completion statistics for each course in the path.

get_learning_path_learners_report

Get learners report for a learning path in Reach 360. Returns completion status and due dates for all enrolled learners.

list_users

List all users in Reach 360 with optional filtering by email. Returns user details including role, groups URL, and learner report URL.

get_user

Get details of a specific user in Reach 360 by their ID including email, name, role, and associated URLs.

delete_user

Delete a user from Reach 360. Only learners without SSO or Articulate ID can be deleted. Use list_users to find valid user IDs.

validate_credential

Validate Articulate credentials. Verifies credentials during setup.

list_webhooks

List all webhooks in Reach 360. Returns webhook details including target URL, subscribed events, and API version.

get_webhook

Get details of a specific webhook in Reach 360 by its ID including target URL and subscribed events.

create_webhook

Create a webhook in Reach 360 to receive notifications for events like course completion, user creation, or enrollments.

delete_webhook

Delete a webhook from Reach 360 by its ID. Use list_webhooks to find webhook IDs.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Articulate Reach 360  MCP server

FAQs on using Merge's Articulate Reach 360  MCP server

What is an Articulate Reach 360 MCP?

It's an MCP server that gives your agents access to learning data and course management in Articulate Reach 360 via tools. Your agents can invoke these tools to enroll learners in courses, check completion status, retrieve course libraries, pull registration records, and more.

Articulate doesn't offer an MCP server purpose built for Reach 360, but you can use one from a third-party platform, like Merge Agent Handler.

How can I use the Articulate Reach 360 MCP server?

The use cases naturally depend on the agent you've built, but here are a few common ones:

  • New hire onboarding enrollment: When a new employee is added to an HR system like Workday, an agent enrolls them in the required onboarding courses in Reach 360 and logs the enrollment details back to the HR record
  • Compliance deadline monitoring: An agent checks for learners whose mandatory compliance course registrations haven't reached completion status within five days of the deadline, then sends a reminder via Slack or email to the learner and their manager
  • Course sequence gating: When a learner completes a prerequisite course in Reach 360, an agent detects the completion and automatically enrolls them in the next course in the sequence, without any manual intervention
  • Learning progress reporting: On a scheduled cadence, an agent pulls completion data across a set of required courses and posts a structured summary to a manager's Slack channel with a breakdown by learner status

What are popular tools for Articulate Reach 360's MCP server?

Here are some of the most commonly used tools:

  • list_courses: retrieves the catalog of courses available in Reach 360, including title, duration, and status. Good for agents that need to identify which courses to enroll a learner in or include in a compliance report
  • get_course: fetches details for a single course by ID, including modules, estimated duration, and completion requirements. Use this when an agent needs to verify course attributes before enrolling a learner or surfacing course info to a user
  • create_enrollment: enrolls a learner in a specified course and triggers access and tracking. Call this when an agent detects a qualifying condition in another system, like a new hire event or a certification trigger
  • list_enrollments: retrieves enrollment records filtered by learner, course, or status. Helpful when an agent needs to check whether a learner is already enrolled before attempting to create a duplicate record
  • get_registration: fetches the completion status, score, and progress for a specific learner-course pair. Use this when an agent needs to confirm that a learner has met a course requirement before triggering a downstream action
  • list_registrations: retrieves all registration records across a course or learner group. Good for workflows that generate compliance summaries or flag learners who haven't completed required training by a deadline

What makes Merge Agent Handler's Articulate Reach 360 MCP server better than alternative Articulate Reach 360 MCP servers?

Here's what sets Merge Agent Handler's Reach 360 MCP server apart from a custom build or community alternative:

  • Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Reach 360, this means you can prevent learner completion scores, enrollment records, and personally identifiable training data from being exposed even when the agent has broad read access
  • Managed authentication and credentials: Merge stores and refreshes Reach 360 credentials on your behalf. You never expose raw API keys or OAuth tokens to an agent or rebuild your auth setup when credentials change
  • Real-time observability and audit trail: Every tool call made against Reach 360 is logged with timestamp, tool name, input parameters, and response metadata. L&D and compliance teams can audit exactly which learner records an agent accessed without writing any logging infrastructure themselves
  • Tool Packs and controlled access: Tool Packs let you bundle specific Reach 360 tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An agent gets exactly the tools it needs, nothing more

How can I start using Merge Agent Handler's Articulate Reach 360 MCP server?

You can take the following steps:

1. Create or log into your Merge Agent Handler account.

2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.

3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.

4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose Articulate Reach 360 and complete the auth flow. Merge stores and manages the credentials going forward.

5. Open a Claude Code session and start querying Reach 360 data directly. The first time you use a Reach 360 tool, a Magic Link may appear to complete connector authentication.

If you want to connect Merge Agent Handler's Articulate Reach 360 MCP with internal or customer-facing agentic products, you can follow the steps in our docs.

Explore other MCP servers built and managed by Merge

activecampaign
ActiveCampaign
ahrefs
Ahrefs
airtable
Airtable
amadeus
Amadeus
amazon_s3
Amazon S3
amplitude
Amplitude
anaplan
Anaplan
apollo
Apollo
arize
Arize
asana
Asana
attio
Attio
aviationstack
Aviationstack
bamboohr
BambooHR
basecamp
Basecamp
biorxiv
bioRxiv
bitbucket
Bitbucket
bitly
Bitly
box
Box
calendly
Calendly
canva
Canva
clickup
ClickUp
clinicaltrials
ClinicalTrials.gov
cloudflare
Cloudflare
cms_coverage
CMS Coverage

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now