Skip to main content

Fin for Zendesk tickets: Setup

Learn how to connect Fin to Zendesk tickets, build your workflows, and customize how Fin responds to customer emails and form submissions.

Fin can help you handle your Zendesk tickets more efficiently. By following the steps outlined in this guide, you can integrate and customize Fin to best suit your ticket workflows and support.


Integrate Fin with Zendesk

Connect to Zendesk

Connection is managed from the unified Connect section. Go to Connect in the left nav and expand Connect to Zendesk. The connection uses OAuth — a secure, popup-based flow that auto-returns you to Fin when complete.

  1. Go to Connect in the left nav.

    The Connect Fin to Zendesk page in Fin. The left navigation lists Get started, Connect, Operator, Train, Test, Deploy, and Analyze, with Connect selected. The Connect to Zendesk panel is expanded and shows a Connected status, the connected Zendesk account domain, and a Manage Connection button. Below it, a collapsed Connect to Zendesk Sunshine panel also shows Connected.
  2. Expand Connect to Zendesk and select Connect.

  3. A popup window opens. Sign in to Zendesk using OAuth and approve access.

  4. The popup closes and you're returned to Fin automatically. Your connection shows as Connected, along with your Zendesk account domain.

Note: Zendesk API token authentication is being deprecated. All new customers must connect using OAuth.

  • New non-contracted customers: OAuth is required.

  • New contracted customers: OAuth is required once enabled for your workspace.

  • Existing customers: API-token connections continue working, but if you disconnect the API connection, you must reconnect using OAuth. A persistent banner will appear in your Fin workspace until OAuth is enabled.

  • If you use a browser that blocks popups, you'll need to allow popups for app.intercom.com for the OAuth flow to complete.

Configure Fin for Zendesk Tickets

After connecting, the dedicated Zendesk Tickets settings page opens at Settings > Zendesk tickets. Here you configure the Fin Zendesk agent identity and automatic ticket assignment.

The Configure Fin for Zendesk Tickets page at Settings > Zendesk tickets. The Fin Zendesk agent step is expanded with a Done status. It shows a prompt to select a Zendesk agent for Fin to respond as, a dropdown set to Fin AI Agent, and Manage team in Zendesk and Continue buttons. Below it, the collapsed Automatically assign tickets to Fin in Zendesk step also shows Done.

We suggest creating a new agent for Fin in your Zendesk account and making it explicit that it's an AI agent, rather than a human.

  • You can create a new agent from Zendesk Admin Center by going to People › Team members > Create team member. You can use your own email address by appending “+fin” to the name (e.g. dean+fin@example.io).

  • You need to use a real email address because you'll need to verify the email address in Zendesk. Make sure to select “Agent” as the role since this account needs to be able to reply to tickets.

Once you've created a new agent account and verified it, go to Settings > Zendesk tickets and select it under Fin Zendesk agent.


Build your workflow

A default workflow has been created for you under the Workflow section.

The default Zendesk Tickets workflow in Fin, with the status Enabled. The workflow starts with 'When a ticket is assigned to Fin in Zendesk' for the audience Leads and Users. It then runs a Let Fin handle step, which lists Use your content, Follow guidance (not set up), Detect attributes, and Escalate if needed (not set up). If Fin hands over, the workflow ends with a Hand-off to Zendesk agent step.

Click the Let Fin handle step in your workflow to customize the following:

  • Follow up with inactive Zendesk ticket customers - Fin will send a follow-up after this duration to check if the customer still needs help.

  • Ask for conversation rating (CSAT) - Choose to send a CSAT survey after customers interact with Fin.

  • Handle inactive conversations - Decide how long Fin should wait before a customer is considered inactive, when to close inactive conversations, and customize what Fin says when closing the conversation.

The Let Fin answer settings panel open over the Zendesk Tickets workflow. Under 'During the conversation, Fin will', it lists Follow training and In multi-participant email threads. Under 'At the end of the conversation, Fin will', it lists Follow up with inactive Zendesk ticket customers (After 1 day), Ask for conversation rating (CSAT) (Disabled), and Auto-close abandoned Fin conversations (3 minutes). A Done button sits at the top right of the panel.

Note: When Fin closes a conversation due to inactivity, the associated Zendesk ticket status won't update automatically, it will remain in its current status (e.g. Pending). You may see conversation event logs showing the conversation as closed on Fin's side while the ticket in Zendesk remains open. This is because the "Closed" status in Zendesk is permanent and immutable (a closed Zendesk ticket can't be reopened or modified), so Zendesk doesn't allow it to be set via the API. Fin's closed conversation state isn't equivalent to Zendesk's closed ticket status.

To keep ticket statuses in sync, create a Zendesk automation that updates the ticket to "Solved" after a period of customer inactivity. You can add conditions to suit your workflow, for example, requiring the fin-resolved tag to be present. This gives you control over when tickets are marked as done in Zendesk.

At the end of all paths (except when Fin resolves a conversation), Fin will un-assign itself from the ticket and apply the “routed-to-the-team” tag.

You can tailor the experience further by:

  • Creating different branches based on your conditions.

  • Choosing when Fin answers.

  • Having Fin send a message.

  • Providing reply buttons.

  • Collecting data.

  • Collecting the customer reply.

  • Adding internal notes.

  • Adding an AI generated summary of the conversation.

  • Use Fin Attributes to classify conversations based on what the customer said.

Once you’ve finished tailoring your workflow, click Save.

Tips:


Email signature

You can add an email signature to Fin's replies on Zendesk 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

The Email signature editor open over Settings > Reply settings in Fin. Behind it, Fin's email responses is expanded, showing the Email signature as Active and a Customize signature link. The editor shows a signature preview with a sample contact block and an Edit button. Below the preview are a Logo section with an Upload your logo button and a Text section with Fin's identity and App name attributes.


Test how Fin answers your tickets

Ensure Fin is ready

First you'll be asked to ensure you've given Fin sufficient training. This is important before starting live testing. We recommend reading our complete guide on all of the ways you can train Fin so it's able to answer your customers questions as accurately as possible.

Test Fin

How to test Fin before going live

Use this section to test how Fin responds to your Zendesk tickets before you set Fin live, without impacting your customers.

  1. Click Test before going live in the top right of the page.

    The Deploy > Zendesk Tickets page in Fin with the status Live. An arrow points to the Test before going live button in the top right, next to the Pause button. The page shows the heading 'Let Fin handle your customers' tickets in Zendesk', Add workflow and Analyze performance buttons, and a Workflows table with one live workflow named Zendesk Tickets.
  2. The Live test Fin in Zendesk Tickets page opens.

    The Live test Fin in Zendesk Tickets page in Fin, with the subtitle 'Test Fin without impacting your customers'. The page says to use the subject line Fin Test and send an email to the support email address shown in a box, which has a Copy Code button. In the left navigation, Deploy is expanded with Zendesk Tickets selected.
  3. Click Copy Code to copy the support email address shown on the page.

  4. Send an email to [support email address], the address you copied, with the subject line Fin Test. Always include this subject line when you send test emails.

The Fin Test trigger in Zendesk routes tickets with the subject line Fin Test to Fin, so you can see how Fin responds to the ticket in Zendesk without impacting your customers.

How to run a batch test

Once you have added your content for Fin, you can test how Fin will respond to your Zendesk tickets from Test in the left navigation of your Fin workspace.

The Batch test page gives you three ways to add questions for Fin to answer:

Fin Test page showing the Batch test view. The left navigation lists Get started, Connect, Operator, Train, Test, Deploy, and Analyze, with Test selected. Under the heading 'Let's start by adding questions', three options are shown: Generate from conversations, Add manually, and Upload CSV file.
  • Generate from conversations: generates up to 50 questions based on your past conversations.

  • Add manually: lets you copy and paste a list of questions, or add them one by one.

  • Upload CSV file: imports up to 50 questions at once from a CSV (comma-separated values) file.


Automatically assign tickets to Fin in Zendesk

Fin will try to resolve all tickets that are assigned to the Zendesk agent whom Fin is responding as. You can automatically assign tickets to Fin using a Zendesk trigger. We’ve created a default trigger to help you get started — we recommend editing its conditions and/or status before going live with Fin.

The Settings > Zendesk tickets page with the Automatically assign tickets to Fin in Zendesk step expanded and marked Done. The step links to the Zendesk agent Fin is responding as, and shows the Activate trigger and auto-assign tickets to Fin toggle turned on, with the note 'Nothing will be assigned to Fin until you go live'. Edit trigger in Zendesk and Review Zendesk triggers for Fin buttons sit below the toggle, and a preview of the trigger conditions appears on the right.

To turn the trigger on, go to Settings > Zendesk tickets, expand the Automatically assign tickets to Fin in Zendesk step, and turn on the Activate trigger and auto-assign tickets to Fin toggle. Nothing is assigned to Fin until you go live.

The same step has two buttons:

  • Edit trigger in Zendesk: use this button to change the trigger's name, description, conditions, and status in Zendesk. The steps below walk you through it.

  • Review Zendesk triggers for Fin: use this button to review Fin's Zendesk triggers.

By default, this trigger sets the ticket status to “Open” when assigning it to Fin. You can customize the trigger in Zendesk to define which tickets Fin should handle and adjust the ticket status as needed.

To modify the Zendesk trigger:

  1. Go to Settings > Zendesk tickets and expand the Automatically assign tickets to Fin in Zendesk step. Select Edit trigger in Zendesk.

  2. Click Edit on the trigger created by Fin (e.g., "Assign to Fin").

  3. Modify the name, description, and conditions as needed.

  4. In the Actions section, adjust the Status field to your preferred status (e.g., "New", "Open", "Pending").

  5. Click Save to apply the changes.

Adjusting the Zendesk trigger allows you to align Fin's workflow with your team's processes.

Note: Fin only responds to tickets that are assigned to the Zendesk agent it’s configured to reply as. If tickets aren’t assigned to that agent (or something reassigns them), Fin won’t respond.


Turn Fin on

Now you’re ready to set Fin live for your customers. Go to Deploy > Zendesk Tickets and click Go live.

You'll see a list of all of the things that will happen when you set Fin live, and you can do any final checks if you wish.

Once you've set Fin live, you'll see the status update and Fin will start answering the tickets that you've assigned to it.


Customer experience

When a customer sends an email or submits a form, this creates a ticket in Zendesk. Using Zendesk Triggers, you have full control over which tickets are automatically assigned to Fin.

For any conversation that gets assigned to Fin, it'll apply the fin-involved tag.

If Fin has relevant knowledge available to answer, Fin will respond and cite the sources it used, mark the ticket as solved, and apply the following tags:

  • fin-resolved: Fin has resolved the ticket (for either a soft or hard resolution).

  • fin-soft-resolution: Fin has resolved the conversation, but the customer hasn't confirmed it.

Zendesk ticket showing Fin's response with cited sources and the fin-resolved tag applied

If the question is ambiguous, Fin will ask clarifying questions and mark the ticket as pending.

If Fin can’t find any relevant information in your knowledge to answer the question, it'll hand-off the ticket to the team by unassigning itself and marking the ticket as open.

Zendesk ticket showing Fin handing off to the team with the fin-routed-to-team tag applied

Customers can ask follow-up questions and Fin will follow the same process.

If the customer says that it helped, the “fin-soft-resolution” tag will be removed and “fin-hard-resolution” applied.

If the customer asks to talk to the team, Fin will unassign itself from the ticket, remove the “fin-resolved” and “fin-soft/hard-resolution” tags and apply the “fin-routed-to-team” tag. Using this tag you can create additional Zendesk Triggers to route the ticket further.

This ensures that the reporting also highlights the involvement of agents effectively after Fin. Adjusting tags helps in reflecting the precise flow of tickets during customer interactions.

Zendesk ticket showing tag changes after customer confirms resolution and human agent involvement

Tip: You can review your Fin Zendesk triggers directly from Settings > Zendesk triggers for Fin. The side-by-side diff view shows you the expected configuration versus the actual configuration in Zendesk, making it easy to spot any customizations or changes that may affect Fin's behavior.


Spam detection

Fin over email has its own spam detection, which takes place after Zendesk's default spam filtering. If Fin receives a ticket and determines that it's spam, it will not respond. Instead, you'll see a conversation event: “Fin decided this email is junk or spam and did not respond" in the Conversations view of your Fin workspace.

In these cases, the conversation will:

  • Not receive a response from Fin

  • Have the "fin-marked-as-spam" tag applied in Zendesk

  • Have the "fin-involved" tag applied in Zendesk but not count towards resolutions

You can use the "fin-marked-as-spam" tag in Zendesk Triggers or reporting to filter, route, or analyze spam tickets further.

Key factors influencing Fin’s spam detection

  1. Inclusion of the “Let Fin Answer” Stage in the Workflow: Fin’s spam detection only activates when the workflow includes a Let Fin Answer step or assigns the ticket to Fin. If this step is missing from the Zendesk ticket workflow, the ticket bypasses Fin entirely and its spam detection functionality is not triggered. As a result, no Fin spam events or tags will appear on such tickets.

  2. Placement of Escalation Rules: If an escalation trigger is configured to run before reaching the Let Fin Answer stage, it intercepts the ticket and prevents Fin’s spam detection from activating. To address this:

    • Reorder the workflow so that Fin is triggered before the escalation rule.

    • Alternatively, disable the escalation trigger if spam detection needs to occur first.


Tag-based reporting and workflow management

Fin automatically applies tags to tickets so you can track resolution states and routing in Zendesk:

  • "pending" – Ticket is awaiting a customer response. Fin has provided an answer and is waiting for confirmation or follow-up.

  • "open" – Ticket is still in progress. Fin is actively working on an answer or has handed the ticket over to your team unresolved.

  • "fin-resolved" – Added when Fin successfully resolves a ticket.

  • Resolution type tags:

    • "fin-soft-resolution" – Marks tickets as resolved following Fin's last answer, before a customer responds or confirms a resolution.

    • "fin-hard-resolution" – Marks tickets as resolved by Fin after a customer explicitly confirms a resolution (e.g. they reply with "That helped").

If Fin is unable to provide an answer or the customer requests human assistance, Fin updates the ticket so it isn’t counted as a resolution:

  • Removes "fin-resolved" and resolution tags.

  • Adds "fin-routed-to-team" and "fin-unresolved" tags to indicate the handover.

  • Adds "fin-failed" to open tickets assigned to Fin that have no progress within 1 hour. This prevents tickets from getting stuck during outages if Fin fails to take any action (e.g., doesn't resolve the ticket, route it to the team, or respond).

Using Zendesk reporting for ticket filtering

Zendesk allows you to create filtered reports based on Fin-applied tags to better understand ticket trends, such as identifying specific ticket types or those handled directly by Fin. These tags provide valuable data points for analyzing Fin's performance and customer service metrics.

Adjusting workflow tags after human intervention

When Fin escalates a conversation to a human agent, the "fin-routed-to-team" and "fin-unresolved" tags are applied while other tags like "fin-resolved" or "fin-soft/hard-resolution" are removed to maintain accurate tracking. This ensures data integrity in your Zendesk reporting. Human agents can further adjust these tags as needed to reflect the final status of the workflow accurately. For example, you might remove or modify the "fin-routed-to-team" tag once the issue is resolved by your team.

Best practices for tag management

  • Use Zendesk's filtering and reporting tools to analyze Fin-tagged tickets for actionable insights

  • Regularly audit tags applied by Fin to ensure they align with current workflows and reporting goals

  • Adjust tags appropriately after human intervention to maintain accuracy in identifying agent interactions

  • Create custom views in Zendesk based on Fin's tags to help your team prioritize work

Note: While Zendesk fully supports tag-based reporting for Fin interactions, these tags are not synchronized with other platforms like Fin and are not treated as classifiable attributes outside of Zendesk.


How it works

When a ticket is assigned to Fin:

  • The ticket, requester, and comments sync into Fin.

  • Fin responds using your workflow.

  • Responses sync back to Zendesk.

  • Attribute mapping allows additional data to flow from Fin to Zendesk.

Diagram showing the data sync flow between Zendesk tickets and Fin, including requester data and response updates

Note: From a customer and Zendesk agent perspective, Intercom powering Fin is not exposed or referenced in any way.

Zendesk API usage

Fin uses the Zendesk APIs to synchronize ticket data, create and update tickets, and manage triggers that support automated workflows.

Authentication method

Zendesk is deprecating API-token authentication:

  • All new customers authenticate using OAuth.

  • Existing customers with an API-token connection may continue using it, but if it is disconnected, reconnection must be done with OAuth.

When you connect using OAuth, Fin is granted secure access to the same Zendesk APIs described below—no API token is required.

How Fin uses Zendesk APIs

During setup, you’ll select the Zendesk agent identity Fin should reply as. Fin uses the Users API to list your Zendesk agents and allow you to choose one.

Fin also automatically creates five Zendesk Triggers using the Triggers API:

  1. Fin Test — Routes “Fin Test” subject-line tickets to Fin for safe testing.

  2. Fin assignment trigger (optional) — Assigns eligible tickets to Fin. You can disable or edit this trigger at any time.

  3. Conversation updated — Notifies Fin whenever assigned tickets change.

  4. Resolution — Allows Fin to mark a ticket as solved after providing an answer.

  5. Failsafe — If Fin is unavailable, this trigger unassigns stalled tickets so your teammates can take over.

Viewing your trigger configuration

You can view all Fin-created triggers and compare their expected configuration against what's currently in Zendesk directly from Settings > Zendesk triggers for Fin. For a deeper explanation of each trigger and how they work, see Understanding Fin's Zendesk Triggers.

The side-by-side diff view helps you:

  • Verify triggers are configured correctly after setup

  • Identify any customizations you've made to Fin's default triggers

  • Spot discrepancies if triggers were modified outside of Fin

  • Troubleshoot issues with ticket assignment or Fin responses

This view is especially helpful after reconnecting the Zendesk API or if you suspect a trigger has been changed unexpectedly.

How Fin interacts with Zendesk tickets

Whether authenticated via OAuth or an existing API token, Fin uses the Tickets API to:

  • Sync ticket data into Fin when assigned.

  • Sync requester name, email, and optional user fields into Fin.

  • Sync ticket comments and ticket fields into Fin.

  • Update Zendesk tickets with Fin’s replies.

  • Sync agent replies from Zendesk back into Fin.

  • Mirror ticket updates in real time.

A Tickets API request is made for every update on a ticket assigned to Fin. Fin applies updates conditionally, respecting changes made by other Zendesk automations or triggers.

Understanding Zendesk API rate limits

Fin uses up to 50 Zendesk API requests per minute, which equals half of Zendesk’s minimum rate limit allocation. However, Zendesk enforces general rate limits between 200–700 requests per minute, depending on your specific plan. Requests beyond this limit will return an HTTP 429 (Too Many Requests) error and are automatically retried by the system.

Common activities that can lead to exceeding rate limits include:

  • Pulling new comments from Zendesk.

  • Pushing Fin’s responses back to Zendesk.

  • Synchronizing user and organization fields.

  • Updating ticket statuses or tags. These activities are essential for ticket management and increase with higher conversation volumes.

Note: When rate limits are exceeded, Fin will remain engaged in affected conversations but requests may be delayed until retries succeed. Importantly, no messages are lost in this process as the system processes a backlog after the rate-limit period ends.

To mitigate rate-limit errors, follow these recommendations:

  1. Monitor API Usage: Regularly track Zendesk API usage to identify traffic surges.

  2. Optimize Tasks: Schedule non-urgent tasks like user-syncing during low-traffic hours.

  3. Upgrade Zendesk Plan: Consider upgrading plans if API thresholds are consistently reached.

  4. Leverage Retry Mechanisms: Configure retries to manage temporary errors gracefully and reduce request duplication.


FAQs

Is proactive messaging available for email tickets submitted to Zendesk?

No, your Fin workspace does not support proactive outbound messages. To send outbound messages you'd need to use Fin with the full Intercom Customer Service Suite.

For Zendesk tickets, does Fin respond to tickets where there has already been an exchange with a human agent?

Once a conversation is handed over to a ticket in Zendesk, it can't be passed back to Fin. The customer can respond in the same conversation, but it will create a new ticket.

Why can't I see all synced Zendesk ticket data in Fin reporting?

In your Fin workspace, Zendesk ticket visibility for custom reports and Fin performance sections is limited to those from the last two years. Conversations or tickets that are older than this threshold are not displayed, and there is currently no option to modify this. As a result, historical data beyond two years can't be accessed in these reporting sections.


💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?