Prepare a Python workspace when a database appears
When a new database is created, have a cloud sandbox ready for a quick analysis or prototype tied to that work.
Trigger
Database Created
Triggers when a new Notion database (the container) is created. A database is the post-2025-09-03 container that holds one or more data sources. This trigger fires for the container's creation event (`database.created`), distinct from `NOTION_DATASOURCE_CREATED` which fires when a new data source is added to an existing database. Most customers calling Notion's `POST /v1/databases` (the legacy API) or creating a database via the Notion UI will see this event. Adding a new data source to an existing database fires `data_source.created` instead — use `NOTION_DATASOURCE_CREATED` for that. Notion's payload puts `entity.type: "block"` (the container is a `child_database` block in the content tree) and `entity.id` is the database id.
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
Starting a one-off analysis often involves context switching just to prepare a place to run code.
- Have an execution environment ready for a new data initiative.
- Reduce setup friction before analysis.
- Keep the sandbox associated with the initiating workflow context.
Setup
Build it in a few focused steps.
- 1Connect Notion and Codeinterpreter to Notis once.
- 2Create a Database sandbox starter automation in the portal.
- 3Write one instruction asking Notis to create a Codeinterpreter sandbox when a new Notion database container is created and report how to begin.
- 4Select Database Created and choose a channel for run reports.
- 5Test by creating a database container and confirming a sandbox is created.
Questions about this workflow
Does this load the database data into Python?
No. Creating a sandbox prepares an environment; the trigger alone does not upload database contents.
Is database creation the same as adding a data source?
No. This trigger is for the container creation event; adding a source to an existing container is a separate event.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Notion to Codeinterpreter. A trigger fires from one place; an action lands in another.
Notion triggers
Codeinterpreter actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
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.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
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.
All Page Events
Triggers when any Notion page is created or updated across the workspace.
Get File
Get a file from the sandbox and returns the file. the files should be read from /home/user folder.
Comment Created
Triggers when a new comment is created in Notion. Optional `page_id` filter scopes to comments on a specific page. When omitted, fires for any new comment in the workspace the integration has access to. Requires the 'Read comments' capability on the Notion integration. If a connection was authorized before that capability was enabled, the user must re-authorize the connection for comment events to flow.
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.
New Comment
Triggers when a new comment is added to a specified Notion block or page.
Upload File
Upload a file to the sandbox environment. the files should be uploaded to the /home/user folder.
Database Created
Triggers when a new Notion database (the container) is created. A database is the post-2025-09-03 container that holds one or more data sources. This trigger fires for the container's creation event (`database.created`), distinct from `NOTION_DATASOURCE_CREATED` which fires when a new data source is added to an existing database. Most customers calling Notion's `POST /v1/databases` (the legacy API) or creating a database via the Notion UI will see this event. Adding a new data source to an existing database fires `data_source.created` instead — use `NOTION_DATASOURCE_CREATED` for that. Notion's payload puts `entity.type: "block"` (the container is a `child_database` block in the content tree) and `entity.id` is the database id.
Data Source Created
Triggers when a new Notion data source is created. Fires workspace-wide. The payload's `data.parent` carries the data source's tree parent (typically the teamspace) for downstream filtering. A single template-based database creation can fire multiple `data_source.created` events at once — one per data source the template instantiates.
Data Source Schema Updated
Triggers when a Notion data source's schema is updated. Fires on column add / remove / rename. Payload includes `data.updated_properties: [{id, name, action}]` so consumers can discriminate the kind of change downstream. Optional `data_source_id` filter scopes to schema changes on a single data source. When omitted, fires for any schema change in the workspace the integration has access to. Note: adding a column also fires `page.properties_updated` once per existing row in the data source. Customers wanting a single structural-change signal should use this trigger.
Connect any two apps with Notis in the middle.
Notion 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.