Fin writes tags back to HubSpot on every update. They're the fastest way to see what Fin did, and they're what your own workflows should be built on.
What each tag means
Fin applies the following tag values to the Fin Tags property throughout the ticket lifecycle:
Tag | What it means |
fin-involved | Fin took part in the conversation. |
fin-hard-resolution | Fin answered and the question was genuinely resolved. |
fin-soft-resolution | Fin replied, but the resolution is assumed, not confirmed. |
fin-resolved | Applied for either resolution type — hard or soft. |
fin-routed-to-team | Fin handed the conversation to your team. |
fin-failed | Fin took the conversation but never answered, so it was released. |
fin-pending | Fin still owns the ticket and is waiting on a reply from your customer. |
fin-user-replied | Your customer has just replied to Fin. |
fin-unresolved | Fin is engaged but hasn't solved the issue yet — it may still do so on a later reply. |
fin-marked-as-spam | Fin classified the conversation as spam. |
fin-redirected-to-ticket | Fin created a ticket from the conversation. |
The one that catches everyone out
fin-resolved is applied for both hard and soft resolutions, so on its own it doesn't tell you whether the question was actually answered.
A soft resolution is recorded as soon as Fin sends a reply, before it's known whether that reply solved anything. So if Fin asks a clarifying question, the ticket can pick up fin-soft-resolution and fin-resolved while Fin is still mid-conversation.
If your workflow watches fin-resolved, it fires at that moment and marks the ticket solved too early.
Tip: Build your workflows on fin-hard-resolution instead. That tag is only applied when the question was genuinely resolved.
Stop customers getting an email on every Fin reply
Fin moves a ticket to your resolved stage each time it answers, and it never sets it to closed. Any workflow of yours keyed on that stage will therefore fire on every Fin reply (most often a resolution email), which your customers receive before you do.
The fix: Exclude Fin's tickets from your own workflow by adding a condition on the ticket owner being the Fin user.
CSAT surveys
Move your CSAT trigger to fire on closed rather than resolved, and gate it on ticket owner as above. Because Fin opens and resolves a ticket repeatedly across a conversation's life, you should only send your survey on a permanent close, otherwise your customer receives one each time.
Fin's own CSAT runs on Fin Messenger only. On HubSpot email and tickets, use HubSpot's native CSAT.
Other automations worth checking
Your workflow only ran once
Re-enrollment is off by default in HubSpot. A record enrolls the first time it meets your triggers and never again. Add re-enrollment triggers if you need the workflow to run repeatedly.
Your chat tickets don't change status but email ones do
This is by design in HubSpot. The built-in status automations skip chat and Messenger. Build a custom workflow using source = chat as the enrollment trigger.
Fin's emails have no signature
Set one in Settings → Reply Settings → Email Signature. A signature configured in HubSpot won't carry over, even though Fin sends through HubSpot's email — set it on the Fin side. It applies to ticket replies, not chat.
FAQs
What's the difference between fin-resolved and fin-hard-resolution?
fin-resolved is applied for both hard and soft resolutions. fin-hard-resolution is only applied when the customer's question was genuinely answered. Use fin-hard-resolution as the trigger for your own resolution workflows.
Why is my resolution email sending before the conversation is finished?
Your workflow is likely watching fin-resolved or the resolved pipeline stage. Fin moves tickets to resolved on every reply, not just at end of conversation. Exclude the Fin user from your workflow using a ticket owner condition, or switch your trigger to fin-hard-resolution.
Why is my CSAT survey sending multiple times?
Fin opens and resolves a ticket repeatedly across a conversation's life. Move your survey trigger to fire on closed rather than resolved, and gate it on the ticket owner not being the Fin user.
Why did my HubSpot workflow only run once?
Re-enrollment is off by default in HubSpot. A record enrolls the first time it meets your triggers and never re-enrolls automatically. Enable re-enrollment triggers in your workflow if you need it to run more than once.
Why aren't my chat ticket statuses updating?
HubSpot's built-in status automations skip chat and Messenger — this is by design. Build a custom workflow using source = chat as the enrollment trigger to handle status changes for chat tickets.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts
