dusk bot
integrationsset data validation

dusk botintegrationsgoogle sheets

give a google sheets column the choices your team uses

stop a status column becoming five spellings of the same thing. a bot can add dropdowns, number checks or formula rules to a google sheets range.

by the dusk bot team · checked · how we made this

choose warnings or rejection. name the spreadsheet, tab and cells. these edits don't automatically ask first, so tell the bot to show the range before changing it.

pixel art: a pink pixel bot, a mint pixel bot and a green pixel bot beside the Google Sheets mark on a white tile, a big button and a shield with a tick, on a grassy meadow in front of white cliffs with a waterfall, one saying "choose a valid status"

where it helps

  • booking status: limit choices to held, confirmed or cancelled.
  • expenses: offer the categories your team agreed.
  • quantities: require entries to meet a number rule.
  • an old dropdown: remove its rule from the exact cells you name.

the short version

one clear rule beats another cleanup. use a fixed list, choices from another range, or a condition each entry must meet.

  • set applies the rule
  • clear removes the rule, leaving cell contents alone
  • strict validation rejects wrong entries by default

name the cells, such as bookings!d2:d40. the bot finds the tab and handles google's numbering.

step by step

  1. connect the sheet. allow read and write for its details and entry rules.
  2. name the cells. paste the file link, tab and range. the bot finds the tab.
  3. choose the behaviour. rejection or warnings? filtered rows too? ask to see the choices before any edit.
  4. test the rule. try one valid and one invalid entry. edit the routine if it reaches too far.

send this to your bot

paste this into a chat with your bot

every tuesday at 08:40, read the bookings tab in my workshop sheet. find the last filled row. inspect column d from row 2 to that row. propose extending the dropdown only where needed, with held, confirmed and cancelled as the choices. reject invalid entries and include filtered rows. show the range here and ask me before you change anything. leave existing values and the header alone. if the rule already covers the rows, stay quiet.
when
tuesdays at 08:40
needs
google sheets read and write for inspecting the sheet and changing entry rules

what comes back looks like this (an example)

rosa's workshops: dropdown proposal
- range: bookings!d2:d40
- choices: held, confirmed, cancelled
- wrong entries: reject
- filtered rows: include

proposed range ends at row 40; the header and existing values stay.

what can go wrong

  • one row off can catch the header. read the proposed range before agreeing.
  • filtered rows stay out by default. ask to include them if every row needs the rule.
  • name the allowed entries. a rule needs choices, a source range or a clear number condition.
  • clear removes the rule. it doesn't empty the cells or correct their values.

permissions and asking first

dusk bot counts Set Data Validation Rule as a change: it alters something in Google Sheets, and the sending setting does not cover it. a bot you allow only to read can never call it.

the permissions Google Sheets asks for to run it: spreadsheets, drive, drive.file.

inputs

inputrequiredwhat it is
modeyesOperation mode: 'SET' applies a validation rule to the range, 'CLEAR' removes any existing validation from the range.
sheet_idyesThe unique sheet ID (numeric identifier) where the validation rule will be applied.
end_row_indexyesEnding row index (0-based, exclusive) for the validation range.
spreadsheet_idyesThe unique identifier of the Google Sheets spreadsheet.
start_row_indexyesStarting row index (0-based, inclusive) for the validation range.
end_column_indexyesEnding column index (0-based, exclusive) for the validation range.

from composio's catalog for Google Sheets (action GOOGLESHEETS_SET_DATA_VALIDATION_RULE, read 12 november 20264). your bot fills these in from what you tell it.

try it in 2 minutes

  1. choose a small test range without headers
  2. give the exact dropdown choices
  3. ask for a range preview before any edit
  4. try one allowed entry and one wrong entry

mistakes people make

including the header

start at row 2 when row 1 holds column names.

forgetting filtered rows

ask to include them if the rule belongs on every row.

expecting old typos to fix themselves

review existing values separately.

quick checklist

  • the tab and range are right
  • the header stays outside the range
  • the choices match our agreed spellings
  • warnings or rejection is a deliberate choice

questions

can it warn people instead of blocking an entry?

yes. ask for warnings. strict rules reject wrong entries by default. warnings let people keep what they typed.

can dropdown options come from cells on another tab?

yes. give both ranges. name the cells holding the choices and the cells receiving the dropdown.

does setting validation correct values already in the column?

no. it changes the rule. review existing values separately; a dropdown won't repair earlier entries.

sources

  1. dusk bot docs: files and apps
  2. dusk bot docs: routines
  3. dusk bot docs: a bot's computer
  4. composio, Google Sheets toolkit (catalog version 20261101_00), checked 12 november 2026

drafted with ai help from the dusk bot docs and the sources listed on this page, then checked against them. if something here is wrong or out of date, write to [email protected].