Turn Fillout support requests into HubSpot tickets with Slack alerts

Every time a customer files a support form on Fillout, open a HubSpot ticket and ping your support team in Slack so nothing sits in an inbox.

Deterministic Code
FilloutHubSpotSlack BotCustomer SupportOperationsNotifications & AlertsData SyncFeedback Triage
PromptCreate

Build a code workflow that turns every new submission to my Fillout support form into a HubSpot ticket and posts a Slack alert to my support team. Every field mapping is fixed, so this should be a deterministic pipeline with no AI reasoning in the middle.

Trigger: a webhook fired by Fillout on new form submission. On workflow deploy, subscribe the webhook to my support form using Fillout's Create Form Webhook operation. I will provide the form ID when I configure the workflow.

Step 1 — Fetch the full submission. When the webhook fires, take the submission ID from the payload and call Fillout's Get Submission by ID to pull the finished submission with every field. My form has these fields: full name (text), email (email), issue category (radio: Billing, Bug, Feature Request, Other), priority (radio: Low, Medium, High), subject (short text), and description (long text).

Step 2 — Upsert the HubSpot contact. Call HubSpot's Batch Upsert Contacts with the submitter's email as the unique identifier, and set firstname / lastname parsed from the full name field. If no email is present in the submission, skip this step and continue without a contact association. Capture the returned contact ID for the ticket association.

Step 3 — Create the HubSpot ticket. Call HubSpot's Create Ticket with: subject set from the form's subject field, content (description) set from the description field, hs_pipeline set to the default support pipeline, hs_pipeline_stage set to the New Tickets stage of that pipeline, and hs_ticket_priority mapped from the form's priority radio (Low → LOW, Medium → MEDIUM, High → HIGH; default to MEDIUM if the field is missing). Associate the ticket with the contact ID from step 2 when we have one. Also stash the issue category on a custom ticket property or in the ticket description so agents can see it. Capture the returned ticket ID.

Step 4 — Post the Slack alert. Use the Slack Bot integration's Send a Message operation to post to my support channel (I'll configure the channel ID). The message should include: the ticket subject, the submitter's name and email, the selected priority, the issue category, the first ~200 characters of the description, and a link to the ticket in HubSpot using the format https://app.hubspot.com/contacts/{portalId}/ticket/{ticketId}. Ask me for the HubSpot portal ID during setup so the deep link resolves correctly. Format the message with Slack mrkdwn (bold subject, bulleted metadata) so it's scannable at a glance.

Error handling: if the HubSpot ticket creation fails, still post a Slack message to the support channel with the raw submission details and a note that the ticket did not get created, so the team is never left in the dark. If the Fillout submission fetch returns 404, log and exit quietly (the submission was probably deleted).

Please make the form ID, HubSpot pipeline and stage IDs, HubSpot portal ID, and Slack channel ID configurable inputs so I can change them without editing code.

Additional information

What does this prompt do?
  • Listens for new submissions to your Fillout support form the moment a customer hits submit.
  • Adds the submitter as a HubSpot contact (or updates the existing one) using their email so your CRM stays clean.
  • Opens a HubSpot ticket with the subject, description, and priority the customer selected, ready for the queue.
  • Posts a formatted alert in your support Slack channel with the requester, priority, and a direct link to the new ticket.
What do I need to use this?
  • A Fillout account with a support intake form (name, email, subject, description, priority, and category fields).
  • A HubSpot account with Service Hub enabled so you can create tickets and contacts.
  • A Slack workspace and the channel you want support alerts posted to.
How can I customize it?
  • Change which Slack channel gets pinged, or add an @-mention for the on-call teammate.
  • Adjust how form priorities map to HubSpot priorities (for example, treat Urgent as High).
  • Route different categories to different HubSpot pipelines or ticket owners.

Frequently asked questions

Do I need HubSpot Service Hub to use this?
Yes. Tickets and ticket pipelines are a Service Hub feature. This workflow will create the ticket in the default support pipeline unless you tell it otherwise, and Service Hub Free is enough to get started.
Will this create duplicate contacts if the same person submits twice?
No. The workflow matches by email address, so repeat submissions from the same person update the existing HubSpot contact instead of creating a new one. A fresh ticket is still opened for each submission.
How do I change which Slack channel gets the alert?
The channel is a setting on the Slack step in your workflow. Swap in a different channel name or ID, hit save, and future alerts will land there.
What if a customer skips the priority field?
The workflow defaults to Medium priority when the form doesn't include one, so tickets always come in with a sensible starting value that your team can adjust.
Does the Slack message link directly to the ticket?
Yes. The alert includes a clickable link that opens the new ticket in HubSpot, so your team can jump straight into triage without hunting for it.

Stop letting support requests sit in a form inbox.

Connect Fillout, HubSpot, and Slack once, and Geni turns every new submission into a triaged ticket and a team alert.