Skip to content
Notis

Give each new submission a Python review space

Start a dedicated workspace for submission analysis as soon as new work arrives in Canvas.

Trigger

New Canvas Assignment Submission

Polls Canvas for new submissions to a specific assignment.

Action

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.

Why this helps

When a submission needs closer analysis, first setting up a notebook can interrupt the review flow.

  • Create an analysis workspace when new work arrives.
  • Avoid repeated manual setup for deeper submission review.
  • Keep environment creation tied to the incoming assignment event.

Setup

Build it in a few focused steps.

  • 1Connect Canvas and Codeinterpreter once in the Notis portal.
  • 2Create an automation and describe the review workspace you want.
  • 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

Does the sandbox include the submission file?

Creating a sandbox alone does not guarantee that a file is transferred. Confirm what data the workflow can access and describe any required handling.

Does it grade the submission?

No. This workflow creates a sandbox for analysis and does not assign grades.

Can I use this for multiple assignments?

The listed trigger is for new submissions to a specific assignment. Set up the automation around the assignment event you intend to monitor.

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.