Turn Amazon SQS support messages into HubSpot tickets

Every 10 minutes, drain your support queue on Amazon SQS and open a properly triaged HubSpot ticket for every new customer message.

Agentic Task
Amazon SQSHubSpotCustomer SupportOperationsFeedback Triage
PromptCreate

Every 10 minutes, drain the inbound support queue on Amazon SQS and turn each waiting customer message into a HubSpot ticket.

Call Amazon SQS Receive Message on the designated support-inbox queue URL, using WaitTimeSeconds for long polling and requesting up to 10 messages per pass. For every message that comes back, parse the JSON body to extract the customer email, subject, and message text.

Before opening a ticket, check whether the sender already exists in HubSpot by looking them up by email. If the contact is not already known, call HubSpot Create Contact first with the email and any name you can pull from the payload. Then call HubSpot Create Ticket with a clean drafted subject line, a plain-English summary of what the customer is asking for, the pipeline stage set to New, and an inferred priority: URGENT when the message contains outage or refund language, HIGH when it is a billing question, and MEDIUM for everything else. Associate the ticket with the contact you just found or created.

After the HubSpot ticket has been created successfully, call Amazon SQS Delete Message using the ReceiptHandle from the original message so the same request is never processed twice. If parsing a message fails or the ticket cannot be created, do not delete the message. Leave it in the queue and let the SQS visibility timeout return it for a retry on a later run.

The cron cadence, queue URL, HubSpot ticket pipeline and default owner, and the priority classification rules should all be user-configurable inputs on the workflow.

Additional information

What does this prompt do?
  • Empties your support inbox queue on a schedule so no customer message sits waiting for a human to spot it.
  • Reads each message, works out the customer's email, subject, and what they need, then opens a HubSpot ticket already tagged with a fair priority.
  • Creates a new HubSpot contact automatically when the sender's email is not already in your CRM.
  • Only removes a message from the queue after its ticket is safely created, so a mid-run failure just retries instead of losing the request.
What do I need to use this?
  • An AWS account with an Amazon SQS queue that your support channels write to
  • The queue URL for the support inbox you want drained
  • A HubSpot login with permission to create contacts and tickets, on a plan that includes the tickets pipeline
How can I customize it?
  • Change how often the workflow runs, for example every 5 minutes for busier queues or every hour for quiet ones
  • Tune the priority rules, for example treating any mention of 'downtime' or 'data loss' as urgent
  • Point new tickets at a different pipeline, opening stage, or default owner in HubSpot

Frequently asked questions

Will the same customer message ever get two tickets?
No. Each message is only removed from the queue after its HubSpot ticket is created. If anything fails partway through, the message stays in the queue and comes back for a fresh attempt once the visibility timeout expires.
What happens if a message is not valid JSON?
The workflow skips messages it cannot parse and leaves them in the queue. They reappear on the next run, so you or a teammate can spot the bad payload and investigate the sender.
Do I need a specific HubSpot plan?
You need a HubSpot account with the tickets object and a pipeline enabled. That covers Service Hub Starter and above, and any Sales or Marketing Hub account with tickets turned on.
How is priority decided?
The workflow reads each message and marks anything about outages or refunds as urgent, billing questions as high, and everything else as medium. You can rewrite these rules to match how your team defines severity.
Can I add Slack alerts or an auto-reply on top of this?
Yes. After the ticket is created you can add a Slack post, an email reply, or a Zendesk-style acknowledgment. This starter workflow stays minimal so the ticket step is bulletproof first.

Stop letting support messages sit in a queue.

Give your team a clean HubSpot ticket for every incoming customer message, already summarized and tagged with priority.