Skip to content
Notis

Review new Canvas submissions with a Python check

Run a repeatable submission check as soon as Canvas receives new work, then focus your attention where it is needed.

Trigger

New Canvas Assignment Submission

Polls Canvas for new submissions to a specific assignment.

Action

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

Why this helps

Opening every new submission to check the same basic details creates repetitive work and makes exceptions easier to miss.

  • Apply the same review checklist to each new submission.
  • Surface possible missing or unexpected content for a person to verify.
  • Cut down repetitive opening and inspection of submissions.

Setup

Build it in a few focused steps.

  • 1Connect Canvas and Codeinterpreter once in the Notis portal.
  • 2Create an automation and describe the submission checks in plain language.
  • 3Pick New Canvas Assignment Submission as the trigger.
  • 4Choose where Notis should send run reports.
  • 5Test the automation with one real submission.

Questions about this workflow

Can it determine whether an answer is correct?

It can analyze available submission content against criteria you provide, but any correctness judgment should be reviewed by an instructor.

Can I choose what counts as incomplete?

Yes. State the checks you want Notis to run in the automation instruction. Do not assume a missing requirement unless you specify it.

Will the workflow modify a submission?

No. This workflow runs Python analysis and reports results; it does not edit the Canvas submission.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Canvas to Codeinterpreter. A trigger fires from one place; an action lands in another.

Canvas triggers

Codeinterpreter actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Create Sandbox

Create a sandbox to execute python code in a jupyter notebook cell. this is useful for agents to communicate, execute code, see output, read files, write files, etc. it's like you own personal computer, but in the cloud. use /home/user folder to write/read files.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

ActionInstant

Canvas Assignment Graded

Polls Canvas for newly graded submissions for a specific assignment.

TriggerPolling

Get File

Get a file from the sandbox and returns the file. the files should be read from /home/user folder.

ActionInstant

New Canvas Assignment Submission

Polls Canvas for new submissions to a specific assignment.

TriggerPolling

Run Terminal Command

Run a command in the terminal and returns the stdout, stderr, and error code. use /home/user folder to write/read files.

ActionInstant

New Canvas Discussion Message

Polls Canvas discussion topics for new messages.

TriggerPolling

Upload File

Upload a file to the sandbox environment. the files should be uploaded to the /home/user folder.

ActionInstant

New Canvas Discussion Topic

Polls a Canvas course for new discussion topics.

TriggerPolling

New Course Created for User

Polls Canvas for newly created courses for a specific user.

TriggerPolling

New Canvas File Upload

Polls a Canvas course for new file uploads.

TriggerPolling

Connect any two apps with Notis in the middle.

Canvas and Codeinterpreter, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Codeinterpreter.