This guide walks you through setting up Fin on HubSpot email tickets. For Fin Messenger with HubSpot handoff, see Fin Messenger HubSpot setup.
Prerequisites
Before you begin, ensure you have:
HubSpot Service Hub Professional: Tickets must be enabled in your account.
Dedicated HubSpot user: A support seat to represent Fin AI (e.g., "Fin AI Agent"). We recommend a dedicated account rather than a personal one — it's easier to debug when it's clear which admin is taking action, and it protects against issues if that agent's account is deleted or their permissions change.
Admin access: Full administrative permissions in your Fin workspace.
Step 1: Connect HubSpot
HubSpot uses OAuth2 to connect. Tokens auto-refresh so the connection stays active.
Go to Connect in the main navigation and click Connect to HubSpot.
Complete the HubSpot OAuth authorization flow to grant Fin access.
Once finished, your status will show as Connected.
Sync data from HubSpot (optional)
Once connected, you can sync attributes from HubSpot into Fin. Fin pushes and pulls these attributes throughout the conversation lifecycle, keeping data in sync across both platforms. Use this to target your content to different audiences, automatically classify tickets, and create branches in workflows.
Automatic setup
Upon a successful connection, Fin automatically:
Creates three custom ticket properties in HubSpot (Fin Status, Fin Tags, and Fin Assignment) under a "Fin AI Agent" property group. You will see these in your Hubspot settings as seen below.
Deploys four HubSpot workflows (initially disabled): Assign New Tickets, Resolution, Pending, and Route to Team. These workflows are built using the pipeline and stages you configure in Step 2. Don’t delete them — they’re required for Fin to work correctly.
Sets up the default Fin workflow for triaging and handoffs.
Step 2: Configure your connection to HubSpot
In Deploy › HubSpot Tickets, click Configure your connection to HubSpot. This opens a settings page with two things to complete: select the HubSpot user Fin acts as (use a dedicated account — e.g. ‘Fin AI Agent’ — rather than a personal one), then choose your pipeline and map its stages to Fin’s ticket states.
Fin state | What it means | Default Support Pipeline stage |
New ticket | The stage Fin monitors for new tickets to pick up | New |
Waiting on customer | Fin moves the ticket here while awaiting a customer reply | Waiting on contact |
Waiting on your team | Fin moves the ticket here when handing off to a human teammate | Waiting on us |
Resolved | Fin moves the ticket here when it resolves a conversation | Closed |
Note: To find your pipeline and stage names in HubSpot, go to Settings > Data Management > Objects > Tickets > Pipelines and click your pipeline name. If your team uses a custom pipeline, select it and map its stages accordingly. This configuration is shared across all your HubSpot channels, if you’ve already set it up for Fin Messenger, you can skip this step. To update this configuration in future, go to Settings > Channels > HubSpot Tickets.
Step 3: Build your workflow
Before going live, make sure your knowledge base, guidance, and tone are configured in your Fin AI settings. When you go live, the Assign New Tickets workflow immediately starts routing all new HubSpot tickets to Fin — Fin will answer and hand off based on the workflow you've built. On Deploy › HubSpot Tickets > Create a workflow Click + add workflow.
Design the path when a conversation is started in a HubSpot email channel.
Note: Reply options and create-a-ticket steps aren't available on the HubSpot email conversations channel. The only handoff mode for HubSpot tickets is Hand-off to agent in HubSpot.
Step 4: Test Fin
Before going live, validate that Fin is responding correctly without affecting your live ticket queue. There are two approaches:
Option 1: Use Fin's Test feature
Make sure you've added sufficient content to your knowledge base for Fin to draw from.
Use Fin's Test feature to ask real customer questions and review how Fin responds.
Refine your content and guidance until you're satisfied with Fin's responses.
You can narrow the Assign New Tickets workflow criteria before going fully live so Fin only picks up the tickets you want it to handle. This lets you test the full end-to-end flow with real tickets without Fin picking up your entire queue.
Note: The integration must be set to Live before Fin will respond to any tickets — including test ones. Complete Step 5: Go live first, then use the criteria below to restrict which tickets Fin picks up during testing.
In HubSpot, go to Automation > Workflows > Fin AI Agent – Assign New Tickets workflow.
Add a criteria: ticket Description equals "FIN test".
Send a test email to your support address with "FIN test" in the description. Only this ticket will be routed to Fin — all others are unaffected.
Validate the full end-to-end flow including resolution, handoff, and property updates.
When ready to go fully live, remove or broaden the criteria in the workflow.
Pro tip: This criteria approach also works for a phased rollout, for example, only routing a specific ticket type to Fin before expanding to your full queue.
Step 5: Go live
When you’re ready, click Go live in the deploy flow. This enables all four HubSpot workflows and Fin will immediately start handling incoming tickets based on the workflow and knowledge base you’ve configured.
How it works
HubSpot tickets flow
A ticket is created in HubSpot and the Assign New Tickets workflow fires, assigning it to the Fin AI agent.
A webhook fires to Fin. Fin fetches the ticket, thread, and contact, then creates a Fin conversation.
Fin works the ticket and syncs responses back to the HubSpot ticket thread in real time.
Custom HubSpot properties are updated throughout: Fin Status (open/pending/resolved), Fin Tags (resolution type), Fin Assignment (agent).
The four HubSpot workflows react to these property changes to update ticket pipeline stages and assignment accordingly.
Two-way message sync
HubSpot ticket thread messages sync to Fin conversations
Responses in Fin sync back as replies on the HubSpot ticket thread
Image attachments are synced from HubSpot to Fin
Property-based reporting
Fin automatically updates three custom HubSpot properties throughout each ticket's lifecycle, giving you full visibility into what Fin is doing:
Property | Values | What it tracks |
Fin Status | open, pending, resolved | Current state of the ticket in Fin's handling |
Fin Tags | fin-involved, fin-soft-resolution, fin-hard-resolution, fin-resolved, fin-routed-to-team, fin-failed | How the ticket was handled (e.g. resolved, routed to team) |
Fin Assignment | fin, human-teammate | Whether Fin or a human teammate currently owns the ticket |
Use these properties in HubSpot's native reporting and filtering tools to track Fin's involvement, resolution rates, and handoff patterns across your ticket pipeline.
Fin Tags reference
Fin applies the following tag values to the Fin Tags property throughout the ticket lifecycle:
Tag | What it means |
fin-involved | Fin participated in the conversation. |
fin-soft-resolution | Fin provided an answer but the ticket was not confirmed resolved. |
fin-hard-resolution | The customer explicitly confirmed Fin’s answer resolved their issue. |
fin-resolved | Fin fully resolved the ticket. |
fin-routed-to-team | The ticket was handed off to a human teammate. |
fin-failed | Added to open tickets assigned to Fin that have no progress within 1 hour. Prevents tickets from getting stuck if Fin fails to take any action (e.g., doesn’t resolve, route, or respond). |
Deactivating or revoking
Deactivate
Pauses the integration without losing configuration. Use this to temporarily stop Fin from handling tickets.
All four HubSpot workflows are disabled.
Configuration and field mappings are preserved.
Revoke
A full teardown of the integration.
All HubSpot workflows are deleted.
The OAuth connection is destroyed.
Important: Revoking requires full reconfiguration to reconnect. Use Deactivate if you only need a temporary pause.
Troubleshooting
Fin is not responding to HubSpot tickets
If Fin is not picking up tickets, verify the following:
HubSpot Workflows: In HubSpot, go to Automation > Workflows and confirm that all four Fin workflows are enabled.
Assignment: Ensure the Assign New Tickets workflow is correctly assigning tickets to the designated Fin AI agent user.
Connection Status: Check that the OAuth connection is still active by going to Connect in the main navigation. If it has expired, re-authorize the connection.
Fin Workflow: Confirm the Fin workflow in your workspace is set to Live.
HubSpot user not appearing in the selector
If you cannot find the dedicated "Fin AI" user in the agent list, check that the user has a valid support seat in HubSpot with the correct permissions.
Taking over a conversation from Fin
If you need to step in while Fin is actively handling a ticket, don't manually unassign Fin before replying. Unassigning Fin first means it won't process any incoming messages — because it's no longer assigned to the ticket.
Instead, just reply directly in HubSpot without changing the assignment. Fin detects that a teammate has responded and automatically backs off — it won't send further replies and will update the Fin tags to reflect the handoff.
How to set up an email signature for tickets
You can add an email signature to Fin's replies on HubSpot tickets. The signature is appended to ticket replies only — it doesn't appear in chat conversations.
To set up your email signature, go to Settings > Reply settings > Fin's email responses and click Customize signature.
From there you can:
Add text, links, and formatting to your signature
Upload a logo (PNG, JPG, or GIF, smaller than 1MB) and control its position and size
Preview the signature before saving
Limitations
One knowledge base per sync — to sync multiple knowledge bases, set up a separate sync for each.
Requires Content Hub (CMS Hub) Professional or Enterprise for article and knowledge base sync only. HubSpot's GraphQL Collector API is the only supported method for querying knowledge base data, and it requires the
collector.graphql_query.executescope, which is only available on these plans. The rest of the integration continues to work as expected on lower tier plans. See HubSpot's scopes reference and querying knowledge base data via GraphQL for details.
FAQs
Can the HubSpot ticket title be dynamic?
Can the HubSpot ticket title be dynamic?
HubSpot ticket titles are currently static. Dynamic titles (e.g. including audience name, visitor email, or conversation topic) aren't yet supported as a native option.
What tag values does Fin apply to HubSpot tickets?
What tag values does Fin apply to HubSpot tickets?
Fin uses the following tags to track ticket states throughout the conversation lifecycle:
fin-involved — Fin participated in the conversation.
fin-soft-resolution — Fin provided an answer but the ticket was not confirmed resolved.
fin-hard-resolution — The customer explicitly confirmed Fin’s answer resolved their issue.
fin-resolved — Fin fully resolved the ticket.
fin-routed-to-team — The ticket was handed off to a human teammate.
fin-failed — Added to open tickets assigned to Fin that have no progress within 1 hour. Prevents tickets from getting stuck if Fin fails to take any action (e.g., doesn’t resolve, route, or respond).
These are the same tag values used across all Fin integrations.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts










