Skip to content
Notis

Dynamic column creation from webhook data

Webhook delivers a new data type? Notis automatically creates a column for it in your sheet, so you're never catching up with missing structure.

Trigger

Webhook received

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

Action

Create spreadsheet column

Creates a new column in a google spreadsheet, requiring a valid `spreadsheet id` and an existing `sheet id`; an out-of-bounds `insert index` may append/prepend the column.

Why this helps

External webhooks deliver variable data, and you have to manually add new columns every time a new field appears, creating friction.

  • Adapts to changing data structures without manual intervention
  • Reduces setup friction for integrating new external tools
  • Keeps your sheet structure aligned with incoming data
  • Eliminates the cognitive load of manual column creation

Setup

Build it in a few focused steps.

  • 1Connect Google Sheets to Notis.
  • 2Create an automation: 'When I send a webhook with data, add any new columns that don't already exist in my sheet.'
  • 3Get your unique webhook URL from Notis and set it up in your external tool or app.
  • 4Configure the external tool to send data with column headers in the JSON payload.
  • 5Test by sending a sample webhook and verifying that missing columns are created automatically.

Questions about this workflow

What if I don't want all webhook fields as columns?

Tell Notis which fields to ignore. For example, 'Only create columns for event, status, and user_id; skip internal metadata.'

Can I set column order?

Yes. Specify a column order in your automation prompt, and Notis will create them in that sequence.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Google Drive to Google Sheets. A trigger fires from one place; an action lands in another.

Google Drive triggers

Google Sheets actions

Comment Added (Docs/Sheets/Slides)

Triggers when a new comment is added to Google Docs, Sheets, or Slides.

TriggerPolling

Add Sheet to Spreadsheet

Adds a new sheet (worksheet) to a spreadsheet. use this tool to create a new tab within an existing google sheet, optionally specifying its title, index, size, and other properties.

ActionInstant

File Created

Triggers when a new file is created in Google Drive.

TriggerPolling

Aggregate Column Data

Searches for rows where a specific column matches a value and performs mathematical operations on data from another column.

ActionInstant

File Deleted or Trashed

Triggers when a file is moved to trash or permanently deleted in Drive.

TriggerPolling

Append Dimension

Tool to append new rows or columns to a sheet, increasing its size. use when you need to add empty rows or columns to an existing sheet.

ActionInstant

File Shared (Permissions Added)

Triggers when new sharing permissions are granted to a file or folder. Uses Drive's `changes.list` endpoint with inline `permissions` in the `fields` mask so each change carries the file's current permission set provider-atomically. We diff that against `seen_permission_keys` to identify newly added grants. Drive page tokens are the primary cursor; if Drive rejects a stored token, the trigger raises `PollingTriggerError` without clearing state rather than silently re-baselining and dropping events. Limitation: truly ephemeral permissions (added and revoked between two polls without any other file modification in between) are not detected. Drive Activity API would catch those but requires an additional OAuth scope and a different payload contract.

TriggerPolling

Batch get spreadsheet

Retrieves data from specified cell ranges in a google spreadsheet; ensure the spreadsheet has at least one worksheet and any explicitly referenced sheet names in ranges exist.

ActionInstant

File Updated

Triggers when a file's metadata or content changes in Google Drive.

TriggerPolling

Batch update spreadsheet

Updates a specified range in a google sheet with given values, or appends them as new rows if `first cell location` is omitted; ensure the target sheet exists and the spreadsheet contains at least one worksheet.

ActionInstant

Google Drive Changes

Triggers when changes are detected in a Google Drive.

TriggerPolling

Batch Update Values by Data Filter

Tool to update values in ranges matching data filters. use when you need to update specific data in a google sheet based on criteria rather than fixed cell ranges.

ActionInstant

New File Matching Query

Triggers when a new Google Drive file matches a provided query. This is the legacy query-centric trigger: it preserves Drive API query config such as ``corpora`` / ``driveId`` aliases and emits the historical ``file_matching_query`` event type. ``FileCreatedTrigger`` covers the broader "new file" case and emits ``file_created``.

TriggerPolling

Clear Basic Filter

Tool to clear the basic filter from a sheet. use when you need to remove an existing basic filter from a specific sheet within a google spreadsheet.

ActionInstant

Clear spreadsheet values

Clears cell content (preserving formatting and notes) from a specified a1 notation range in a google spreadsheet; the range must correspond to an existing sheet and cells.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Google Drive and Google Sheets. Any combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Google Sheets.