Send a Slack message for each new Google Sheets row

This recipe watches a worksheet for rows added at the bottom and sends a formatted message to a Slack channel.

Text
Google Sheets: New Row Added → Slack: Send Message

Before you begin

1. Create the Google Sheets Trigger

  1. Open Workflow and select New Workflow.
  2. Create a Google Sheets Source.
  3. Choose New Row Added (Instant) or New Row Added for polling.
  4. Select the spreadsheet and worksheet.
  5. Set Header row to the row containing your column names.
  6. Name the Source and create the Workflow.

The polling definition requires a worksheet name. It reads at most the configured batch of new rows per poll, and the adapter caps that batch at 100 rows.

The Trigger output includes the spreadsheet and worksheet identity, row number, positional values, and a row object keyed by the header names:

JSON
{
  "worksheet_name": "Orders",
  "row_number": 42,
  "row": {
    "Customer": "Ada",
    "Order ID": "ord_123",
    "Total": "149.00",
    "Status": "paid"
  }
}

2. Add the Slack Action

  1. Add an Action after the Trigger.
  2. Choose Slack → Send Message.
  3. Select the connected Slack workspace.
  4. Select the target channel.
  5. Leave Send as set to FastHook bot unless you intentionally reconnected Slack for user-token sending.

3. Map the message

Use the field picker for each dynamic value. A message can combine static text with named row columns:

Text
New order {{trigger.row.Order ID}}
Customer: {{trigger.row.Customer}}
Total: {{trigger.row.Total}}
Status: {{trigger.row.Status}}
Sheet row: {{trigger.row_number}}

Column names with spaces are shown by the picker using the supported saved path representation. Select them from the UI instead of manually typing the example.

4. Activate and test

Activate the Workflow, then add one new row at the bottom of the worksheet. Editing an old row does not represent the same event as adding a new row.

Open Audit and confirm:

Optional: notify only for matching rows

Insert a Workflow Filter before Slack. For example, continue only when trigger.row.Status exactly matches paid, or when trigger.row.Total is greater than a threshold.

Troubleshooting

Next, learn Data mapping or add an error route that records Slack failures.