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.
Google Sheets: New Row Added → Slack: Send MessageBefore you begin
- Put column names in a stable header row, for example
Customer,Order ID,Total, andStatus. - Connect the Google account that can read the spreadsheet.
- Connect the Slack workspace and make sure the FastHook app can access the target channel.
- Add one controlled test row whose values you can recognize in Audit.
1. Create the Google Sheets Trigger
- Open Workflow and select New Workflow.
- Create a Google Sheets Source.
- Choose New Row Added (Instant) or New Row Added for polling.
- Select the spreadsheet and worksheet.
- Set Header row to the row containing your column names.
- 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:
{
"worksheet_name": "Orders",
"row_number": 42,
"row": {
"Customer": "Ada",
"Order ID": "ord_123",
"Total": "149.00",
"Status": "paid"
}
}2. Add the Slack Action
- Add an Action after the Trigger.
- Choose Slack → Send Message.
- Select the connected Slack workspace.
- Select the target channel.
- 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:
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:
- The Trigger preview contains the expected
row_numberand namedrowfields. - The Slack Step input contains the formatted message.
- The Slack Step succeeded.
- The message appears once in the selected channel.
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
- No run: confirm the Workflow is Active, the correct worksheet is selected, and a row was appended after activation.
- Wrong column values: verify the Header row setting and duplicate or blank header names.
- Slack channel missing: reconnect Slack if scopes changed and confirm the app can access private channels.
- Message contains an empty value: inspect the real Trigger preview; spreadsheet cells can be empty and column names are case-sensitive.
- Duplicate notification: compare Source events and run IDs before manually repeating the Action.
Next, learn Data mapping or add an error route that records Slack failures.