ClassMarker is a professional, flexible, and easy-to-use online quiz maker for business and education, offering customizable exams, instant grading, and detailed reporting.
ClassMarker is a professional, flexible, and easy-to-use online quiz maker for business and education, offering customizable exams, instant grading, and detailed reporting. On Nagent, Classmarker is exposed as a fully-configurable education integration that any agent can call — 28 actions, and API key authentication. No code is required to wire Classmarker into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Classmarker to automate the kinds of tasks education teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Classmarker into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Classmarker, with input parameters and output schema. Drop these into any step of an agent built in Helix.
CLASSMARKER_CREATE_ACCESS_LIST_ITEMTool to add one or more access codes to an access list. Use after obtaining a valid access_list_id to grant exam access.
Input parameters
List of access codes to add; up to 100 codes, each up to 255 characters
ID of the access list to modify
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_CREATE_CATEGORYTool to create a new question category. Use after confirming the parent category ID.
Input parameters
Name for the new category
ID of the existing parent category under which this will be created
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_CREATE_GROUPTool to create a new group. Use when you need to organize users into a specific group after planning your user structure.
Input parameters
Name of the group to create
Optional description for the group
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_CREATE_QUESTIONTool to create a new question with specified text, type, and category in ClassMarker. Supports multiplechoice, multipleresponse, truefalse, and essay question types.
Input parameters
Points awarded for a correct answer.
Answer choices as a dictionary mapping option letters (A-J) to {'content': 'option text'}. Required for multiplechoice, multipleresponse, and truefalse types. Not used for essay questions.
The text of the question to create.
Category identifier to assign this question.
Grading style for multipleresponse questions: 'partial_with_deduction' (partial credit with penalties for wrong choices), 'partial_without_deduction' (partial credit without penalties), or 'off' (all-or-nothing grading). Only valid for multipleresponse type.
Type of question to create: 'multiplechoice' (one correct answer), 'multipleresponse' (multiple correct answers), 'truefalse' (True/False question), or 'essay' (open-ended text response)
Whether to randomize the order of options. Note: Ignored for truefalse and essay question types.
List of correct option letters. Must contain exactly one letter for multiplechoice and truefalse questions, can contain multiple letters for multipleresponse. Not used for essay questions.
Optional feedback for a correct answer.
Optional feedback for an incorrect answer.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_CREATE_USERTool to create a new user in ClassMarker. Use after gathering user details to provision accounts. Provide user info and optional group assignments. Returns the complete API response.
Input parameters
User's email address
Indicates if the user should have admin privileges
User's password, minimum length 8
List of group IDs to assign the user to
User's last name
User's first name
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_DELETE_ACCESS_LIST_ITEMRemoves one or more access codes from a ClassMarker access list. Access lists are used to control exam access by requiring users to provide unique identifiers (e.g., email addresses, employee IDs, student numbers). Each code can be used a limited number of times per exam, and codes are recorded with exam results. To use this action: 1. First call GET_ALL_GROUPS_LINKS_EXAMS to find available access list IDs 2. Provide the access_list_id and the list of codes to remove 3. Up to 100 codes can be removed per request Note: This action is idempotent - deleting codes that don't exist will not cause an error.
Input parameters
List of access code strings to remove from the access list. Minimum 1, maximum 100 codes per request. Each code can be up to 255 characters.
Numeric ID of the access list to remove codes from. Use GET_ALL_GROUPS_LINKS_EXAMS to find available access list IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_DELETE_API_KEYTool to delete an API key by its ID. Use when you need to revoke an API key immediately.
Input parameters
Unique identifier of the API key to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_DELETE_GROUPTool to delete a group by its ID. Use when you need to remove a group from ClassMarker.
Input parameters
ID of the group to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_DELETE_TEST_LINKDeletes a specific link assignment from a test/exam in ClassMarker. Links are unique URLs that provide access to tests. This action is idempotent - deleting a non-existent link returns success. Use this when you need to remove a link from a test to revoke access via that specific URL.
Input parameters
The unique identifier of the specific link to delete from the test
The unique identifier of the test/exam that contains the link you want to remove
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_DELETE_USERTool to delete a specific user by ID. Use when you need to remove a user from ClassMarker after verifying the user's identity.
Input parameters
ID of the user to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_DELETE_WEBHOOKDeletes a webhook listener from your ClassMarker account. This action removes a webhook configuration that was previously set up to receive real-time exam results. The ClassMarker API is idempotent - attempting to delete a non-existent webhook will return success without error. Webhook IDs are typically obtained from the ClassMarker web interface (My Account > Webhooks / API Keys) or through other webhook management tools if available. Note: This is a destructive operation and cannot be undone through the API.
Input parameters
The unique identifier of the webhook to delete. Note: The ClassMarker API is idempotent and returns success even if the webhook doesn't exist. Webhook IDs are typically managed through the ClassMarker web interface at My Account > Webhooks / API Keys.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_GET_GROUP_DETAILSRetrieve detailed information about a specific group by ID. Returns group name and assigned tests. Note: This fetches all accessible groups and filters for the specified group_id, as ClassMarker API doesn't provide a direct single-group endpoint.
Input parameters
Unique identifier of the group to retrieve. Obtain from LIST_GROUPS action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_GET_INITIAL_FINISHED_AFTER_TIMESTAMPCompute the initial finishedAfterTimestamp for paginating ClassMarker test results. Use this action when you need to retrieve recent test results for the first time and don't have a previous 'next_finished_after_timestamp' value. This returns a Unix timestamp set to 2 weeks ago, which is the ClassMarker API's default starting point for result pagination. **When to use this:** - Starting a new pagination sequence for test results - You don't have a stored 'next_finished_after_timestamp' from a previous request **When NOT to use this:** - You have a 'next_finished_after_timestamp' from a previous response - use that value instead - For subsequent pagination requests - use the timestamp from the last successful response **Important:** ClassMarker API requires the finishedAfterTimestamp to be less than 3 months old. This action ensures compliance by setting it to 2 weeks ago.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_GET_QUESTIONTool to retrieve a specific question by its ID. Use when you need detailed information of a question after confirming the question_id.
Input parameters
Unique identifier of the question to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_GET_RECENT_RESULTS_GROUP_EXAMTool to fetch recent test results for a specific group and exam. Use after determining a UNIX timestamp to retrieve only results finished after that time for the group and exam.
Input parameters
Number of results to return; default 200; maximum 200.
Unique identifier of the test/exam
Unique identifier of the group
UNIX timestamp to return only results finished after this time. Defaults to 2 weeks ago if not provided. Must be < 3 months old.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_GET_RECENT_RESULTS_LINK_EXAMFetch recent exam results for a specific link and test combination. Use CLASSMARKER_GET_ALL_GROUPS_LINKS_EXAMS first to obtain valid link_id and test_id values. This endpoint returns paginated results based on finishedAfterTimestamp for efficient incremental data retrieval. Supports up to 200 results per request.
Input parameters
Number of results to return; default 200; maximum 200.
Unique identifier of the link. Obtain via CLASSMARKER_GET_ALL_GROUPS_LINKS_EXAMS action.
Unique identifier of the test/exam. Obtain via CLASSMARKER_GET_ALL_GROUPS_LINKS_EXAMS action.
UNIX timestamp to return only results finished after this time. Defaults to 2 weeks ago if not provided. Must be < 3 months old.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_GET_TEST_DETAILSRetrieves detailed information for a specific test (exam) including its name and all assignment contexts. Returns a list of groups and/or links where the test is assigned, with their IDs, names, and URL identifiers. Use when you need to find where a specific test is deployed or to get the complete deployment context for a test. Returns 'no_results' status if test ID doesn't exist.
Input parameters
Unique identifier of the test (exam) to retrieve. Returns the test name and all contexts (groups/links) where this test is assigned. Use LIST_TESTS to discover available test IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_GET_USER_DETAILSTool to retrieve detailed information about a specific user. Use after you have the user's ID and need the full user profile.
Input parameters
ID of the user to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_LIST_CATEGORIESRetrieves all question categories organized in a hierarchical structure. Returns parent categories with their nested sub-categories. Use this to browse available categories before creating questions or filtering content.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_LIST_CERTIFICATESTool to list all certificates. Use when you need to retrieve all certificates available in the account.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_LIST_QUESTIONSRetrieve a paginated list of questions from your question bank. Returns up to 200 questions per page. Use the optional 'page' parameter to navigate through multiple pages. Each question includes type, content, points, options, correct answers, and metadata.
Input parameters
Page number to retrieve; defaults to 1 if omitted. Each page returns up to 200 questions.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_LIST_RECENT_RESULTS_FOR_GROUPSRetrieve recent exam results for all groups in your ClassMarker account. Returns results from the last 2 weeks by default, or from a specified timestamp (must be within 3 months). Use this to fetch user performance data including scores, pass/fail status, and certificates.
Input parameters
Number of results to return; default 200; maximum 200.
UNIX timestamp to return only results finished after this time. Defaults to 2 weeks ago if not provided. Must be < 3 months old.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_LIST_RECENT_RESULTS_FOR_LINKSRetrieves recent test results from ALL links accessible to your API key. Returns results completed after a specified timestamp (defaults to 2 weeks ago). Supports pagination for large result sets (max 200 per request). Use the next_finished_after_timestamp from the response for subsequent requests to fetch newer results without duplicates. Ideal for syncing or monitoring exam completions across all your test links.
Input parameters
Number of results to return; default and maximum is 200. Set lower to reduce payload size.
UNIX timestamp to return only results finished after this time. Defaults to 2 weeks ago if not provided. Must be < 3 months old.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_LIST_USERSTool to list all users. Use when you need to retrieve every user in your account after confirming authentication.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_LIST_WEBHOOKSTool to retrieve all configured webhooks. Use when you need to programmatically list your webhook configurations.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_PUT_CATEGORYTool to update an existing sub-category. Use when you need to rename or move a sub-category after confirming its IDs.
Input parameters
ID of the sub-category to update
New name for the sub-category
Parent category ID for the sub-category (can be used to move the sub-category to a different parent)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_PUT_PARENT_CATEGORYTool to update an existing parent category. Use after confirming the parent category ID.
Input parameters
If true, only validates parameters without updating the category
ID of the parent category to update
New name for the parent category
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CLASSMARKER_PUT_QUESTIONUpdates an existing question in the ClassMarker question bank. IMPORTANT CONSTRAINTS: - Cannot change the question_type of an existing question (must match original) - random_answers is only valid for multiplechoice and multipleresponse types - grade_style is only valid for multipleresponse type - options and correct_options are required for multiplechoice, multipleresponse, and truefalse - essay questions cannot have options, correct_options, or grade_style Set verify_only=True to validate changes without applying them.
Input parameters
Points awarded for a correct answer.
Map of option letters (A-J) to {'content': text}; required for choice and truefalse types.
The question text.
Category identifier for this question.
Grading style for multipleresponse type only.
ID of the existing question to update
If true, payload is validated without updating; returns status 'verified'.
Question type - MUST match the original question's type (cannot be changed during update). Options: multiplechoice, multipleresponse, truefalse, essay.
Whether to randomize the order of options (only valid for multiplechoice and multipleresponse types).
List of letters for correct options; single value for multiplechoice/truefalse, multiple allowed for multipleresponse.
Optional feedback message for correct answers.
Optional feedback message for incorrect answers.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 54 agents privately built on Nagent that already use Classmarker.
Build on Nagent
Connect Classmarker to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Classmarker, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Classmarker is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Classmarker is connected, you configure its 28 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Classmarker steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Classmarker event fires, the agent kicks off automatically.
Every Classmarker action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Classmarker ships with 28 pre-built education actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Classmarker together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Classmarker-based workflows tailored to your business.