Triage Typeform product feedback into Postgres and Slack

Every Typeform submission lands in your Postgres feedback table, gets tagged by sentiment, theme, and severity, and posts a clean summary to Slack.

Agentic Task
TypeformPostgreSQLSlack BotProductCustomer SupportFeedback TriageNotifications & Alerts

Build me an agent workflow that triages incoming product feedback from a Typeform form.

Trigger: a Typeform webhook. The workflow fires whenever a new response is submitted to my product feedback form. The agent should be able to register the webhook on the form (Create or Update Webhook) if it isn't already configured, then receive submission payloads on every new response.

Step 1: Persist the raw submission to my PostgreSQL database using Insert Row on the feedback table. Capture form_id, response_id, submitted_at, respondent email (pulled from the hidden field or the matching email question on the form), and the full answer payload as a JSONB column. If the table or columns don't exist yet, propose the schema and confirm with me before inserting.

Step 2: Classify the submission. This is the part that needs judgment, which is why this is an agent and not a fixed pipeline. Output three tags:

- sentiment: one of positive, neutral, negative

- theme: one of bug, feature request, pricing, onboarding, other

- severity: one of low, medium, high. Treat blocker language like 'can't ship', 'broken in production', 'losing customers', 'urgent' as high. Treat polite suggestions and nice-to-haves as low. Default to medium when in doubt.

Step 3: Post a structured summary to Slack using the Slack Bot Send a Message operation. Pick the channel via a workflow input so I can change it without editing the prompt. The message should have:

- A header line with three badges: sentiment, theme, severity (use emoji prefixes for severity: 🔴 high, 🟡 medium, 🟢 low)

- A one-line distilled version of what the user said, in their voice as much as possible

- The respondent's email so the team can reach back out

- A link back to the full Typeform response

If the Postgres insert fails (duplicate response_id, column mismatch, connection error), log the error and still post to Slack with a warning so feedback isn't silently lost. If classification fails, fall back to neutral / other / medium and continue.

Use the Slack Bot integration (xoxb-style bot token), not the user-OAuth Slack integration, since these are automated notifications that should be attributed to the bot.

Additional information

What does this prompt do?
  • Saves every new product feedback submission from Typeform into your Postgres feedback table, with the full answers preserved for later analysis.
  • Reads each submission and tags it with sentiment, theme, and severity so the team can scan a week of feedback at a glance.
  • Posts a tidy summary to a Slack channel for every new submission, with the tags up top, a one-line distillation of what the user said, and a link back to the raw response.
  • Flags blocker language like 'can't ship' or 'broken in production' as high severity so urgent issues stop getting buried.
What do I need to use this?
  • A Typeform account with the product feedback form you want to monitor.
  • A Postgres database with a table ready to receive feedback rows (or let the agent suggest the columns).
  • A Slack workspace and the channel where you want triaged feedback posted.
How can I customize it?
  • Change which Slack channel receives the alerts, or split high-severity items to a separate on-call channel.
  • Adjust the tag list to match how your team thinks: replace 'bug, feature request, pricing, onboarding' with your own themes.
  • Tighten or loosen the rules the agent uses to decide what counts as high severity.
  • Swap in a different feedback form, or point it at several forms at once so all user input lands in the same table.

Frequently asked questions

Do I need to build the Postgres table myself first?
It helps. A simple table with columns for the form ID, response ID, submission time, respondent email, and a JSON column for the full answers is enough. If you describe what you have, the agent will write the insert to match.
Will old submissions get processed too, or only new ones?
Only new ones. The workflow runs the moment a new Typeform submission lands. If you want to backfill old responses, ask the agent to add a one-time import step.
What if the agent gets the sentiment or severity wrong?
You can correct it by tweaking the instructions. Common adjustments include adding example phrases for each severity level, or telling the agent to default to medium when unsure.
Can it post to more than one Slack channel?
Yes. A common setup is one channel for all feedback and a second channel that only gets high-severity items, or a per-theme channel split (bugs to engineering, pricing to revenue).
Does this replace a tool like Productboard or Canny?
No. It's the layer before those tools. The raw submissions live in your own database, and Slack gets the awareness loop, so the team sees feedback as it arrives instead of waiting for a weekly review.

Stop letting product feedback rot in a form dashboard.

Connect Typeform, Postgres, and Slack once. Every new submission gets stored, tagged, and announced to the team automatically.