Log Google Form intake requests in NocoDB and alert Slack
Every form submission becomes a time-stamped row in your NocoDB intake table and a Slack alert routed to the right team channel.
Watch my Google Form for new submissions and, for each new response, write it straight into my NocoDB intake table and notify the team in Slack. Use a poll trigger on Google Forms for new responses so this fires as soon as someone submits, and use the Google Forms List Responses or Get Response operation to pull the full answer set for the submission that triggered the run.
Map the form answers onto my intake table columns using a fixed field mapping, then use the NocoDB Create Table Records operation to add exactly one row per submission. Set the submission time column from the response's submitted timestamp, and set the status column to "New" on every row. Each answer belongs in one specific named column, so treat the mapping as configuration I can edit at the top of the workflow rather than something to infer at run time.
Once the row exists, use the Slack Bot Send a Message operation to post the key fields into our intake channel: who submitted it, the request type, a short description, and the time it came in. Route the message to a different channel depending on the request type answer, driven by a request type to channel lookup I can edit. If a submission carries a request type that is not in the lookup, post it to a default fallback channel so nothing is silently dropped.
Build this as a deterministic code workflow. Every step is a fixed field mapping or a direct lookup with no judgement calls, so no model is needed in the loop. Write the NocoDB row before sending the Slack message so a messaging failure never costs us the record. Process each response exactly once, and do not backfill historical submissions that predate turning the workflow on.
What does this prompt do?
- Watches your Google Form and picks up each new submission as it arrives, with no manual exporting or copy and paste.
- Adds one row to your NocoDB intake table, copying each answer into the column you mapped it to, stamping the time it came in, and setting the status to New.
- Posts the key details to Slack so the team can act on a request without opening the table.
- Sends each request to a different Slack channel based on the request type answer, so the right group picks it up.
What do I need to use this?
- A Google account with the intake form you want to watch.
- A NocoDB workspace, either the hosted version or your own server, with an intake table ready to receive rows.
- A Slack workspace where the assistant can post into your intake channels.
- A status column on your intake table, plus a column to hold the time each request arrived.
How can I customize it?
- Change which form answers land in which table columns, or add columns your team already tracks.
- Change the channel routing: give every request type its own channel, or send everything to a single channel.
- Change the starting status from New to whatever your team uses, such as Triage or Unassigned.
FAQs
Does this work with self-hosted NocoDB?
What happens if someone picks a request type I have not set up a channel for?
Will it add duplicate rows for the same submission?
Do I need to rebuild my existing form?
Can it post to a private Slack channel?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop retyping form submissions into your intake table.
Set this up once and every request lands in NocoDB and in front of the right team, within moments of someone hitting submit.