Canvas LMS icon

Canvas LMS

Work with Canvas LMS API and receive events

Overview

This node integrates with the Canvas LMS API to create a new submission for an assignment in a course. It allows users to submit content on behalf of a specific user for a particular assignment within a course. This is useful in educational automation workflows where submissions need to be programmatically created, such as bulk uploading student assignments, integrating external grading systems, or automating submission processes.

Practical example:
A teacher uses this node to automatically submit assignments for students who have completed work outside the LMS, ensuring all submissions are recorded in Canvas without manual entry.

Properties

Name Meaning
Course ID The unique identifier of the course where the assignment exists.
Assignment ID The unique identifier of the assignment to which the submission belongs.
User ID The unique identifier of the user (student) making the submission.
Submission Content The actual content/body of the submission being created (e.g., text, HTML).

Output

The node outputs a JSON object under the json field containing the response data from the Canvas API about the created submission. This typically includes details such as submission status, timestamps, and any metadata returned by Canvas regarding the newly created submission.

No binary data output is produced by this operation.

Example output structure:

{
  "data": {
    // Canvas API response object representing the created submission
  }
}

Dependencies

  • Requires an API key credential for authenticating with the Canvas LMS API.
  • The node expects the Canvas instance URL and access token to be configured in the credentials.
  • Network connectivity to the Canvas LMS API endpoint is necessary.

Troubleshooting

  • Common issues:

    • Invalid or missing Course ID, Assignment ID, or User ID will cause the API call to fail.
    • Insufficient permissions for the API token may result in authorization errors.
    • Incorrect submission content format might lead to rejection by the API.
  • Error messages:

    • Errors from the Canvas API are wrapped and thrown as node operation errors with messages indicating the resource and operation involved.
    • Example: Error in "submission" operation "create": <API error message>
  • Resolution tips:

    • Verify that all required IDs correspond to existing entities in Canvas.
    • Ensure the API token has the necessary scopes/permissions to create submissions.
    • Check the submission content for proper formatting and encoding.

Links and References

Discussion