Ticket to Fin response | Community
Skip to main content
Answered

Ticket to Fin response

  • June 15, 2026
  • 3 replies
  • 244 views

When a ticket is created from a contact form submission containing the customer's full query, Fin currently does not respond and the ticket closes due to inactivity because Fin is waiting for a new customer message. Is there a way to configure Fin or a Procedure to treat the ticket's submitted content as the triggering message, so Fin responds without requiring the customer to send anything further?

Best answer by Christopher Boerger

Great question — and this is a documented limitation in how Fin works. The Intercom Help Center confirms it directly: the "Let Fin handle" step only triggers a response after a customer sends a message. When a ticket is created via a contact form, the submission populates ticket fields (attributes/description) rather than firing as a conversational message, so Fin waits — and the ticket closes due to inactivity before the customer sends anything.

Here are a few approaches to work around this, each backed by Intercom's own documentation:

1. Add "Let Fin handle" to a Ticket Workflow (with a Send Message step first)

Per the Use Fin AI Agent in Workflows help article, Fin requires a customer message to trigger a response. The workaround is to build a Workflow triggered on "A ticket is created" (documented in Automate ticket actions using Workflows), then add a "Send a message" action to prompt the customer to reply — for example, "Thanks for submitting your request — please reply here and we'll get you an answer right away." Once the customer replies, Fin will engage via the "Let Fin handle" step. Note: the sent message itself does not trigger Fin; Fin still requires the customer to respond to that prompt.

 

2. Deploy Fin over email (if your tickets are email-based)

If your contact form submissions route into your email channel as inbound emails (not directly as tickets), you can enable Fin over email. The Deploy Fin AI Agent over email article covers the setup in detail — Fin will treat the inbound email itself as the triggering message and respond automatically. Note this only applies when the form generates a genuine inbound email conversation, not when it creates a ticket directly via form or API.

 

3. Use a "Reply to customer" action in the Workflow

In the Workflow triggered on ticket creation, add a "Reply to customer" or "Send a message" action before the "Let Fin handle" step. This sends a prompt to the customer asking them to reply, and once they do, Fin will respond. See Using actions in Workflows for the full list of available Workflow actions.

 

4. Start a Messenger conversation from the form (instead of a ticket)

Rather than creating a ticket directly on form submission, use the Intercom JavaScript API / GTM integration to trigger the Messenger's

Show New Message

method when the form is submitted, pre-populating the message with the form content. This opens a live Messenger conversation with the customer's query already filled in. Then set up a Workflow using the "When customer sends their first message" trigger and add a "Let Fin handle" step — Fin will respond immediately since the pre-filled message counts as the triggering customer message. This is the closest experience to an instant, seamless reply.

 

5. Use an outbound message + Fin follow-up

Send an outbound chat or post message to the customer after the ticket is created, and add "Let Fin respond" as a follow-up action. See Let Fin AI Agent follow up after Outbound messages or Workflows for setup details. When the customer replies to that outbound message, Fin will respond. Important caveat: in this mode Fin gives one answer and then automatically hands the conversation over to your team — even if the issue was resolved. If you want Fin to stay engaged for the full conversation, use a Workflow instead with "Conversation starter is: Outbound message" as an audience condition, then add the "Let Fin handle" step.

The core fix across all of these is the same: Fin requires a customer message to engage. Options 1, 2 and 3 work within the ticket/workflow model by prompting the customer to reply. Options 4 and 5 sidestep the ticket creation entirely by routing the customer into a Messenger or outbound conversation where Fin can respond directly.

Hope that helps — happy to walk through any of the setups in more detail!

3 replies

Christopher Boerger
Innovator ✨
Forum|alt.badge.img+4

Great question — and this is a documented limitation in how Fin works. The Intercom Help Center confirms it directly: the "Let Fin handle" step only triggers a response after a customer sends a message. When a ticket is created via a contact form, the submission populates ticket fields (attributes/description) rather than firing as a conversational message, so Fin waits — and the ticket closes due to inactivity before the customer sends anything.

Here are a few approaches to work around this, each backed by Intercom's own documentation:

1. Add "Let Fin handle" to a Ticket Workflow (with a Send Message step first)

Per the Use Fin AI Agent in Workflows help article, Fin requires a customer message to trigger a response. The workaround is to build a Workflow triggered on "A ticket is created" (documented in Automate ticket actions using Workflows), then add a "Send a message" action to prompt the customer to reply — for example, "Thanks for submitting your request — please reply here and we'll get you an answer right away." Once the customer replies, Fin will engage via the "Let Fin handle" step. Note: the sent message itself does not trigger Fin; Fin still requires the customer to respond to that prompt.

 

2. Deploy Fin over email (if your tickets are email-based)

If your contact form submissions route into your email channel as inbound emails (not directly as tickets), you can enable Fin over email. The Deploy Fin AI Agent over email article covers the setup in detail — Fin will treat the inbound email itself as the triggering message and respond automatically. Note this only applies when the form generates a genuine inbound email conversation, not when it creates a ticket directly via form or API.

 

3. Use a "Reply to customer" action in the Workflow

In the Workflow triggered on ticket creation, add a "Reply to customer" or "Send a message" action before the "Let Fin handle" step. This sends a prompt to the customer asking them to reply, and once they do, Fin will respond. See Using actions in Workflows for the full list of available Workflow actions.

 

4. Start a Messenger conversation from the form (instead of a ticket)

Rather than creating a ticket directly on form submission, use the Intercom JavaScript API / GTM integration to trigger the Messenger's

Show New Message

method when the form is submitted, pre-populating the message with the form content. This opens a live Messenger conversation with the customer's query already filled in. Then set up a Workflow using the "When customer sends their first message" trigger and add a "Let Fin handle" step — Fin will respond immediately since the pre-filled message counts as the triggering customer message. This is the closest experience to an instant, seamless reply.

 

5. Use an outbound message + Fin follow-up

Send an outbound chat or post message to the customer after the ticket is created, and add "Let Fin respond" as a follow-up action. See Let Fin AI Agent follow up after Outbound messages or Workflows for setup details. When the customer replies to that outbound message, Fin will respond. Important caveat: in this mode Fin gives one answer and then automatically hands the conversation over to your team — even if the issue was resolved. If you want Fin to stay engaged for the full conversation, use a Workflow instead with "Conversation starter is: Outbound message" as an audience condition, then add the "Let Fin handle" step.

The core fix across all of these is the same: Fin requires a customer message to engage. Options 1, 2 and 3 work within the ticket/workflow model by prompting the customer to reply. Options 4 and 5 sidestep the ticket creation entirely by routing the customer into a Messenger or outbound conversation where Fin can respond directly.

Hope that helps — happy to walk through any of the setups in more detail!


Forum|alt.badge.img+6

Hi ​@Ed Morrell , Seán here from the Fin technical support team 👋

​@Christopher Boerger is right, this is currently a product limitation. The Let Fin handle step only triggers after a customer has sent a message in the conversation, and Fin also requires a customer message after the workflow is triggered before it can generate a response.

So if your contact form is creating a ticket directly, the submitted content isn’t treated as that triggering customer message for Fin.

If treating the submitted ticket content itself as Fin’s first message is important for your setup, I’d recommend adding it to our Community Product Wishlist so the team can track demand here:  https://community.intercom.com/ideas.


Christopher Boerger
Innovator ✨
Forum|alt.badge.img+4

 ​@Ed Morrell 

I made few edits above and I went ahead and implemented Solution 4, ran into a few interesting edge cases, and ended up going a step further. Sharing everything in case it helps.

Live demo on my form here: https://dot2.solutions/contact

 

The "client still needs to click Send" problem

The GTM / Messenger approach works, but depending on your security setup you'll hit a wall: if Messenger Security is enforced, calling Intercom("update", { name, email }) without a valid user_hash poisons the session and every subsequent call 403s. The fix is to drop the identify call entirely — the pre-filled message body alone is enough for Fin's "first customer message" trigger, and the visitor's details live in the message body for context.

But even then, the visitor still has to click Send. That's fine for some setups, but I wanted true zero-friction — form submits, Fin replies, visitor gets the answer by email without touching the Messenger.

 

So I went server-side

The cleaner solution: on form submit, a server function calls the Intercom REST API directly —

  1. POST /contacts — creates or upserts the contact by email
  2. POST /conversations with from: { type: "user", id: contactId } — this counts as a real user message and triggers Fin immediately
  3. Fin replies in the conversation
  4. A verified Intercom webhook catches conversation.admin.replied and forwards Fin's reply to the visitor via Resend

The visitor never opens the Messenger. They submit the form, get a confirmation, and receive Fin's reply in their inbox within seconds.

Full write-up + source code: https://dot2.solutions/lab/web-form-answered-by-fin

 

Key gotchas if you build this yourself:

  • from.type must be "user" not "contact" — using "contact" returns a silent 404 and Fin never fires
  • Verify HMAC against the raw body, not parsed JSON — and support both x-hub-signature-256 and x-hub-signature
  • Fin needs a workflow with "Created via API is true" as an audience condition, otherwise API-created contacts fall outside Fin's default audience and get no reply
  • Use an idempotency key on Resend so webhook retries don't double-send

Happy to jump on a call if you want to walk through the setup or adapt it to your stack — just grab a time here: https://dot2.solutions/contact?meeting=strategy-call 🙂