# Intro to ClearFeed

Helpdesk on Slack

**ClearFeed** is a conversational helpdesk built for teams that support customers and employees directly in **Slack**. Requests from Slack — and other channels like **Email, Web Chat, Microsoft Teams, or Portal** — flow into a single shared queue, allowing your team to manage, track, and respond without leaving Slack.

You can use ClearFeed as:

* **A standalone helpdesk on Slack**
* **A bridge between Slack and your existing ticketing systems**

## Why ClearFeed?

ClearFeed helps teams manage requests efficiently and stay productive:

* **Stay in Slack:** Handle customer and employee requests directly from Slack
* **Integrate seamlessly:** Connect with 10+ ticketing and task management systems
* **Automate workflows:** SLA alerts, escalations, and out-of-office responses
* **AI-powered support:** Automated responses to FAQs and actions in tools like Okta, Jira, HubSpot
* **Gain visibility:** Insights and reporting to monitor workloads and SLAs

## How ClearFeed Works

Here’s the typical flow:

1. **Install ClearFeed** in your Slack workspace
2. **Add ClearFeed** to channels where requests are submitted (internal or Slack Connect)
3. ClearFeed **converts messages into a shared queue of requests**
4. Your team manages and responds to requests in:
   * A **Slack triage channel**, or
   * The **ClearFeed Web App**
5. Optionally, **sync requests** with external systems like:
   * Jira, Zendesk, Freshdesk, Salesforce, GitHub, Linear, ClickUp, HubSpot, etc.
6. **Automate workflows** with SLA alerts, Automations, Workflows, and knowledge-powered Virtual Agent responses

## Use Cases

ClearFeed can be used by **Customer Support** or **Internal Teams (IT, HR, Engineering support, Sales Ops)** in two ways:

### Standalone Support System

* Function as a full-fledged ticketing system within Slack
* Track, manage, and resolve requests internally
* Optionally integrate with external task management tools like Jira, Asana, Linear

### Integration Bridge

* Connect Slack to external ticketing platforms (Salesforce, Zendesk, Freshdesk, etc.)
* Requests captured in Slack are automatically synced with external systems
* Ensures visibility across teams and efficient follow-ups

## ClearFeed WebApp Features

* Group Slack channels into **Collections** with custom policies
* Map Collections to **triage channels**
* Set **business hours**, schedules, and SLA alerts
* Respond to requests and add **private comments**
* Manage **knowledge sources** for Virtual Agent
* Get detailed **reports** on request load and SLA performance
* **Broadcast announcements** across multiple Slack channels

## Integrations & APIs

* **Integrations:** Connect with Jira, Zendesk, Freshdesk, Salesforce, GitHub, Linear, HubSpot, ClickUp, and more for **bi-directional ticket sync**
* **APIs & Event Stream:** Retrieve request data for custom reporting or build real-time applications on top of ClearFeed

## Security & Compliance

* ClearFeed is **SOC 2 Type 2 compliant**
* Learn more: [Security](/clearfeed-help-center/getting-started/security)


# Signing up for ClearFeed

## Step 1: Create an account with ClearFeed & Install ClearFeed in your Slack workspace

1. Go to <https://web.clearfeed.app/>
2. Sign up using **Google, Microsoft, or Email** (use your Slack workspace email)
3. A ClearFeed account will be **auto-created for your domain** (e.g., `mycompany.com`)
4. Complete a short setup form about your team and usage intent
5. **Authorize ClearFeed** to be installed in your Slack workspace

## Step 2: Complete Setup in ClearFeed Web App

After authorization, you’ll be redirected to the ClearFeed Web App to finish setup:

* Add ClearFeed to **request channels**
* Create a **triage channel** for consolidated tracking
* Connect your **ticketing system** (optional)
* Invite **teammates**

**Need help?** Contact <support@clearfeed.ai>

## Post-Setup Configuration Options

After installation, you can:

* Group channels into Collections with shared policies
* Map each Collection to a Triage Channel
* Set Business Hours, SLA alerts, and Auto OOO responses
* Manage Knowledge Sources for your AI Agents
* Make multi-channel announcements inside Slack
* Access detailed request analytics & reports

{% hint style="info" %}
**Note:**

* You can read more about Security on ClearFeed[ here](/clearfeed-help-center/getting-started/security).
* If you cannot log in using your organization emails, contact our support team at <support@clearfeed.ai> or chat with us via the chat widget on[ https://clearfeed.ai/](https://clearfeed.ai/).
* If you sign in using the login link, the link is active only for a single session and expires on session closure (i.e., the ClearFeed web app tabs are closed). Therefore, a fresh link must be generated for a new session.
  {% endhint %}

## **Terms of Service, Privacy Policies and DPA**

Our standard policies are listed on our public website:

Terms of Service -[ https://clearfeed.ai/tos](https://clearfeed.ai/tos)

Privacy Policy -[ https://clearfeed.ai/privacy-policy](https://clearfeed.ai/privacy-policy)

DPA:[ https://clearfeed.ai/dpa](https://clearfeed.ai/dpa)

## FAQs

1. **What would happen if the ClearFeed App is uninstalled from our Slack workspace?**\
   **Answer:** If the ClearFeed app is uninstalled from your Slack workspace, you may notice a disruption in the integration between your Slack workspace and ClearFeed. Common reasons for this issue include downgrading your Slack workspace to the free tier. **When ClearFeed is uninstalled from Slack:**
   * **Disruption in ClearFeed Integration**: All connected channels for requests and triage within ClearFeed will stop functioning unless restored.
   * **Slack Connect Channels**: Any Slack Connect channels between organizations may be lost. The shared support channel between your org. and ClearFeed will also be disconnected. In such a scenario, please reach out to us at <support@clearfeed.ai>.
2. **How to restore ClearFeed after it has been uninstalled from the Slack workspace?**\
   **Answer:** Here's how to restore ClearFeed's functionality after its uninstallation.

   * **Reinstall ClearFeed on Your Slack Workspace**
     1. Go to the ClearFeed Web App
     2. Under Settings -> go to Integrations
     3. Click on the **Connect/Reconnect** button next to Slack
     4. Follow the prompts to authorise ClearFeed app back to your Slack workspace
   * **Re-Invite ClearFeed to Request and Triage Channels**
     * Once ClearFeed is reinstalled, re-invite the ClearFeed app to all your designated request and triage channels:
     * Open each Slack channel used for ClearFeed requests and triage.
     * Use the `/invite` command followed by `@ClearFeed` to add the app back to each relevant channel.
     * Detailed guide on managing channels: [Request Channels](/clearfeed-help-center/sources/manage-request-channels), [Triage Channels](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup).
   * **Avoid Making Additional Changes from the ClearFeed Web App** Until functionality is fully restored, do not make any configuration or setting changes directly from the ClearFeed web app.

   Following these steps should restore ClearFeed's previous working condition in your Slack workspace. For further assistance, contact us at <support@clearfeed.ai>.
3. **Can I reconnect my ClearFeed to a different Slack Workspace?**\
   **Answer:** No. Currently reconnecting to a different Slack workspace is not possible via the ClearFeed Web App. There are 2 options:
   * If you have created a new account, the easiest way to connect to a different Slack workspace is to just [delete the account](/clearfeed-help-center/account-setup/delete-account) and create a brand new one. While setting up the new account, connect to the new Slack workspace.
   * You can also create a ["Child" Account](/clearfeed-help-center/account-setup/child-accounts) in ClearFeed and connect it to a different Slack workspace.


# Getting Started Guides

Step-by-step guides to help you set up ClearFeed based on your team's use case

ClearFeed adapts to different teams and workflows, whether you're managing customer support, internal helpdesk operations, or implementing AI-powered automation. These guides will walk you through setting up ClearFeed for your specific use case.

Select the guide that matches your team's needs and existing infrastructure:

### Customer Support Teams

If you're managing external customer requests, support tickets, or community questions:

* [**Using ClearFeed Ticketing**](/clearfeed-help-center/getting-started/getting-started-guides/for-customer-support/using-clearfeed-ticketing) - Use ClearFeed's built-in ticketing system for managing customer conversations directly in Slack
* [**Using an External Ticketing System**](/clearfeed-help-center/getting-started/getting-started-guides/for-customer-support/using-an-external-ticketing-system) - Integrate ClearFeed with your existing platform (Zendesk, Jira Service Management, Salesforce, etc.)

### Internal Support Teams

For IT helpdesk, HR operations, sales ops, legal, or any internal request management:

* [**Using ClearFeed Ticketing**](/clearfeed-help-center/getting-started/getting-started-guides/for-internal-support/using-clearfeed-ticketing) - Set up an internal ticketing workflow to track and resolve employee requests in Slack
* [**Using an External Ticketing System**](/clearfeed-help-center/getting-started/getting-started-guides/for-internal-support/using-an-external-ticketing-system) - Connect ClearFeed to your existing internal tools like Jira, ServiceNow, or Linear

### AI & Automation

Leverage AI to automate responses and streamline support workflows:

* [**Setting Up GPT-Powered Answers**](/clearfeed-help-center/getting-started/getting-started-guides/gpt-powered-answers) - Configure AI to automatically answer common questions using your knowledge base
* [**Configuring AI Agents**](/clearfeed-help-center/clearfeed-ai/ai-agents#configure-ai-agents) - Deploy intelligent agents that can handle complex workflows and multi-step tasks

## Need Help?

If you're unsure which guide to follow, our team can help you understand your requirements and recommend the best setup for your workflow. [Schedule a call with our experts](https://clearfeed.ai/contact) to discuss your use case.


# For Customer Support

Use ClearFeed Helpdesk or connect your ticketing system to support your customers from Slack

If you're planning to use ClearFeed natively for customer support on Slack-connect channels, follow the guide below:

{% content-ref url="/pages/kRkeIRoenJxOy7sCqv4J" %}
[Using ClearFeed Ticketing](/clearfeed-help-center/getting-started/getting-started-guides/for-customer-support/using-clearfeed-ticketing)
{% endcontent-ref %}

If you're planning to use ClearFeed for customer support with an integration to external ticketing systems like Zendesk, Freshdesk, etc.. follow the guide given below:

{% content-ref url="/pages/n6QIjpcZFe91kA36DUO7" %}
[Using an External Ticketing System](/clearfeed-help-center/getting-started/getting-started-guides/for-customer-support/using-an-external-ticketing-system)
{% endcontent-ref %}


# Using ClearFeed Ticketing

This guide helps you set up ClearFeed's native ticketing system to manage customer conversations in Slack, Email, Web Chat, Teams, Discord and other channels.

## Sign Up & Connect

1. Go to [ClearFeed Web App](https://web.clearfeed.app/)
2. Sign up with **Google, Microsoft, or Email** (use your Slack workspace email)
3. During onboarding, select:
   * **Primary use case:** `Supporting Customers`
   * **How to use ClearFeed:** `Create & Manage Tickets in ClearFeed`
4. **Authorize ClearFeed** when prompted to connect to your Slack workspace

## Understanding Your Setup

After signing up, ClearFeed automatically sets up your account with:

* **All Customers** Collection - A default collection where your first customer and their channel is added.
* **Test Customer** - A sample customer added to help you get started, visible in the All Customers collection.
* **`#cf-request-channel`** - An example customer channel where users can post questions and issues that belongs to Test Customer.
* **`#cf-triage-channel`** - A triage channel where requests from customer channels can be seen internally. Here you can see the status, assignee, post private comments etc.

<figure><img src="/files/hj8clqVyrTLfgYDJp7KX" alt="" width="250"><figcaption><p>New Account Collection and Customer Setup</p></figcaption></figure>

{% hint style="info" %}
**Note:** ClearFeed automatically posts a test request in `#cf-request-channel` and a test email ticket which are both visible in `#cf-triage-channel` during setup. These are great for trying out the workflow before adding real customer channels.
{% endhint %}

### Request Channel (`#cf-request-channel`)

Your **request channel** is where customers post questions and issues. When a message is posted:

* ClearFeed starts tracking this as a request
* The request syncs bi-directionally between the Customer channel and the Triage channel
* Depending on the configuration - it may convert the request to a ticket
* If a ticket is created, customers see a message posted on the thread showing ticket details
* Customers can also get automated answers from AI Agents or OOO messages - depending on configuration

### Triage Channel (`#cf-triage-channel`)

Your **triage channel** is your team's command center within Slack. Here you'll see:

* All incoming requests/tickets with status, assignment, and request IDs
* All messages posted in the request channel or email threads or chat sessions
* You can reply to requests from this channel and/or post private comments (using `:lock:` emoji) that are not visible to customers
* Private answer suggestions by AI Agents (if they are configured)

### Support Email

ClearFeed creates an email id during onboarding where you can email to create Tickets

* **Format:** `support@<subdomain>.clearfeed-mail.com`
* Emails sent to this address automatically create tickets in ClearFeed
* You can replace this with your own custom support email address (see [Email documentation](/clearfeed-help-center/sources/email))
* Email Tickets will be visible in the Triage channel and ClearFeed WebApp

### Web Chat

Web Chat is enabled for your account by default. To start using it:

* Go to [**Chat Setup**](https://web.clearfeed.app/settings/chat-widget)
* Follow the instructions to embed the WebChat widget on your website
* Customer messages from Web Chat will appear as Tickets in ClearFeed
* These tickets will also be visible in the Triage channel

## Create Requests and Tickets

💡 **Tip:** New to ClearFeed? Learn about the difference between [Requests, Tickets, and Tasks](/clearfeed-help-center/how-it-works/request-tickets-tasks).

### Create Request from Slack Channels

Create a Request in `#cf-request-channel` by simply posting a message in the channel (e.g., "How do I reset my password?"). You may see an automated response from the ClearFeed Bot using the default AI Agent that generates answers by doing a web search.

### Create Ticket from Email

Customers can email your ClearFeed support address:

* Emails automatically create tickets with public IDs
* Email tickets create Slack threads in the Triage Channel and are visible in ClearFeed Webapp.
* Replies to the thread in the Triage Channel appear as email replies to customers

## Reply to Requests and Tickets

### From the Slack Triage Channel

* Replying to the thread in `#cf-triage-channel` → syncs to the customer channel (or email thread)
* Update status, priority, or assignment → reflects in ClearFeed WebApp
* Add internal notes (prefix with :lock: emoji) → visible only to your team and not synced to customers

### From the ClearFeed WebApp

* You can see all requests and tickets from the ClearFeed WebApp
* Click on a specific request and post replies from there - these are also synced back to the customer Slack or Email thread and the corresponding thread in the Triage channel

## Enabling Ticketing in Slack

By default you will not see any ticket messages being posted in the Customer channels and the threads therein. While threads are tracked internally in ClearFeed - customers don't see any tickets being filed. This can be changed by enabling Ticketing in the Collection:

1. From the ClearFeed WebApp - go to the **Inbox** and click on the **All Customers** collection
2. Click **Settings** in the top right corner and expand the **Ticketing** section
3. Enable **Ticketing** and set the ticketing mode to **Manual** or **Automatic**
4. If automatic ticketing is enabled - ClearFeed creates a ticket immediately in every message
5. If manual ticketing is enabled - add 🎫 emoji to manually trigger ticket creation
6. A ticket message with the ID of the ticket will be posted as a reply on the Slack thread when a ticket is created

## Adding Customer Channels

After some testing - you would want to add some real customer channels! Here's how to do it:

1. Hover over the **All Customers** collection in the left sidebar
2. Click the triple dot menu (⋯) and select **New Channel**
3. Follow the prompts to connect additional Slack channels

<figure><img src="/files/30bDDh3i9N72WRMbxTHt" alt="" width="300"><figcaption><p>Add new channels from the collection menu</p></figcaption></figure>

## FAQs

1. **How do I stop creating requests from my and my team's messages?**\
   **Answer:** When a new ClearFeed account is set up, it creates requests from all users. You can turn off request and ticket creation from your own team in the "Responders" section of the Collection Settings:

   * Click on the **All Customers** collection from the Inbox
   * Click **Settings** in the top right corner
   * Expand the **Responders** section
   * Turn off "Create requests from responder threads"

   <figure><img src="/files/gFGeqz4gP7ENa41xcHOv" alt="" width="300"><figcaption><p>Turn off request creation from responders</p></figcaption></figure>

## AI Agents

ClearFeed comes with an AI Agent pre-configured to answer questions from the World Wide Web by default. The AI Agent is triggered whenever a new customer request is detected in Slack, and when it finds relevant answers, it posts suggestions privately to your team. Your team can review the automated answer and copy and post it as a reply if its correct.

### Customize or Disable

**To add your own knowledge sources:**

1. Go to **Settings > AI > Knowledge Sources**
2. Connect your documentation (Confluence, Notion, Zendesk Help Center, etc.)
3. Go to **Settings > AI > Agent Studio** and select your knowledge sources

**To disable the AI Agent:**

1. Go to **Collection > Settings > AI Agent**
2. Turn off the AI Agent

## Next Steps

Your ClearFeed setup is ready to use! Start by:

1. Inviting your team to the `#cf-triage-channel` and the ClearFeed WebApp
2. Testing a few customer requests in `#cf-request-channel`
3. [Whitelabeling the ClearFeed bot](/clearfeed-help-center/account-setup/whitelabel-clearfeed) to match your brand
4. [Set up Out of Office responses](/clearfeed-help-center/clearfeed-helpdesk/workflows) - Automatic responses when your team is unavailable
5. Add more customer communication channels:
   * [Custom Email Domain](/clearfeed-help-center/sources/email) - Use <support@yourdomain.com>
   * [Customer Portal](/clearfeed-help-center/sources/portal) - Self-service portal for customers
   * [Web Chat Widget](/clearfeed-help-center/sources/web-chat) - Live chat on your website
   * [MS Teams Integration](/clearfeed-help-center/sources/teams-setup) - Support customers on Microsoft Teams

Need help? [Contact our team](https://clearfeed.ai/contact) for personalized onboarding.


# Using an External Ticketing System

This guide helps you set up ClearFeed to manage customer conversations in Slack while keeping everything synced with your existing ticketing platform.

## Sign Up & Connect

1. Go to [ClearFeed Web App](https://web.clearfeed.app/)
2. Sign up with **Google, Microsoft, or Email** (use your Slack workspace email)
3. During onboarding, select:
   * **Primary use case:** Supporting Customers
   * **How to use ClearFeed:** Integrate with External Ticketing System
4. **Authorize ClearFeed to Slack** when prompted to connect to your Slack workspace
5. **Connect Your Ticketing System** (optional - can be done later)

   You can connect to your external ticketing system during signup or skip this step and do it later. ClearFeed supports: Zendesk, Jira Service Management, Salesforce, Linear, Freshdesk, HubSpot, ClickUp, Intercom, and more.

## Understanding Your Setup

After signing up, ClearFeed automatically sets up your account with:

* **All Customers** Collection - A default collection where your first customer and their channel is added.
* **Test Customer** - A sample customer added to help you get started, visible in All Customers collection.
* **#cf-request-channel** - An example customer channel where users can post questions and issues that belongs to Test Custsomer.
* **#cf-triage-channel** - A triage channel where requests from customer channels can be seen internally. Here you can see the status, assignee, post private comments etc.

<figure><img src="/files/hj8clqVyrTLfgYDJp7KX" alt="" width="250"><figcaption><p>New Account Collection and Customer Setup</p></figcaption></figure>

### Request Channel (`#cf-request-channel`)

Your **request channel** is where customers post questions and issues. When a message is posted:

* ClearFeed starts tracking this as a request
* Depending on the configuration - it automatically creates a ticket in your external system for this request
* The ticket syncs bi-directionally between Slack and your Ticketing platform and the Triage channel
* By default, Customers see a message posted on the thread showing Ticket details
* Customers can also get automated answers from AI Agents or OOO messages - depending on configuration.

### Triage Channel (`#cf-triage-channel`)

Your **triage channel** is your team's command center within Slack. Here you'll see:

* All incoming requests with status, assignment, and ticket IDs
* All messages posted in the request channel and replies posted from your Ticketing platform
* You can also reply to tickets from this channel and/or post private comments that are not visible to customers
* Private answer suggestions by AI Agents (if they are configured)

## Integrating with External Ticketing System

**If you connected your ticketing system during initial account setup, you can skip this section**. Otherwise, follow these steps:

1. Go to **Settings > Integrations** from the left navigation in the ClearFeed app
2. Connect to your desired ticketing system (Zendesk, Intercom, Freshdesk, etc.)
3. Go to the **Inbox** and click on the **All Customers** collection
4. Click **Settings** in the top right corner
5. Expand the **Ticketing** section
6. Enable **Ticketing** and change the **Ticketing type** to your integrated system

For detailed integration guides, refer to:

* [Zendesk](/clearfeed-help-center/integrations/zendesk)
* [Intercom](/clearfeed-help-center/integrations/intercom)
* [Salesforce](/clearfeed-help-center/integrations/salesforce)
* [HubSpot](/clearfeed-help-center/integrations/hubspot)
* [ClickUp](/clearfeed-help-center/integrations/clickup)
* [Linear](/clearfeed-help-center/integrations/linear)
* [Freshdesk](/clearfeed-help-center/integrations/freshdesk)

## Create Requests and Tickets

💡 **Tip:** New to ClearFeed? Learn about the difference between [Requests, Tickets, and Tasks](/clearfeed-help-center/how-it-works/request-tickets-tasks).

### Create Ticket from Slack Channels

**Create a Ticket in `#cf-request-channel`:**

1. Post a message in the channel (e.g., "How do I reset my password?")
2. If automatic ticketing is enabled - ClearFeed creates a ticket in your external system immediately
3. If manual ticketing is enabled - add 🎫 emoji to manually trigger ticket creation
4. A ticket message with the ID of the ticket will be posted as a reply

## Reply to Requests and Tickets

### From the Slack Triage Channel

* Replying to the thread in `#cf-triage-channel` → syncs to the customer channel and your ticketing system
* Update status, priority, or assignment → reflects in external system
* Add internal notes (prefix with :lock: emoji) → visible only to your team in both Slack and external system

### From your Ticketing system

* Find the Ticket in the external Ticketing platform using the Ticket ID shown by ClearFeed
* Reply from the Ticketing platform - the reply should show up in linked Slack thread
* Replies from Slack should also show up in the Ticket
* Depending on the specific ticketing system, internal comments maybe synced between Triage channel and Ticketing platform

### From the ClearFeed WebApp

* You can also see the requests in the customer channel from the ClearFeed WebApp
* Click on a specific request and post replies from there - these are also synced back to Slack

## Adding More Channels

As you grow, you can add more channels to handle different customer segments or product lines:

1. Hover over the **All Customers** collection in the left sidebar
2. Click the triple dot menu (⋯)
3. Select **New Channel**
4. Follow the prompts to connect additional Slack channels

<figure><img src="/files/30bDDh3i9N72WRMbxTHt" alt="" width="300"><figcaption><p>Add new channels from the collection menu</p></figcaption></figure>

## FAQs

1. **How do I stop creating requests from my team's messages?**\
   **Answer:** When a new ClearFeed account is set up, it creates requests from all users. You can turn off request and ticket creation from your own team in the "Responders" section of the Collection Settings:

   * Click on the **All Customers** collection from the Inbox
   * Click **Settings** in the top right corner
   * Expand the **Responders** section
   * Turn off "Create requests from responder threads"

   <figure><img src="/files/gFGeqz4gP7ENa41xcHOv" alt="" width="300"><figcaption><p>Turn off request creation from responders</p></figcaption></figure>
2. **How do I change whether tickets are created automatically or manually?**\
   **Answer:** This can be done from the Collection Settings:
   * Click on the **All Customers** collection from the Inbox view in ClearFeed
   * Go to **Settings > Ticketing** from the top right
   * Toggle between automatic and manual ticket creation
   * Configure the emoji to be used as a trigger for manual ticket creation

## AI Agents

ClearFeed comes with an AI Agent pre-configured to answer questions from the World Wide Web by default. The AI Agent is triggered whenever a new customer request is detected, and when it finds relevant answers, it posts suggestions privately to your team. Your team can review the automated answer and copy and post it as a reply if its correct.

### Customize or Disable

**To add your own knowledge sources:**

1. Go to **Settings > AI > Knowledge Sources**
2. Connect your documentation (Confluence, Notion, Zendesk Help Center, etc.)
3. Go to **Settings > AI > Agent Studio** and select your knowledge sources

**To disable the AI Agent:**

1. Go to **Collection > Settings > AI Agent**
2. Turn off the AI Agent

## Next Steps

Your ClearFeed setup is ready to use! Start by:

1. Inviting your team to the `#cf-triage-channel` and the ClearFeed webapp
2. Testing a few customer requests in `#cf-request-channel`
3. [Whitelabeling the ClearFeed bot](/clearfeed-help-center/account-setup/whitelabel-clearfeed) to match your brand
4. Importing forms from your ticketing system ([Zendesk](/clearfeed-help-center/integrations/zendesk/forms), [ClickUp Lists](/clearfeed-help-center/integrations/clickup/forms), [Intercom Forms](/clearfeed-help-center/integrations/intercom/forms), etc.)
5. [Set up Out of Office responses](/clearfeed-help-center/clearfeed-helpdesk/workflows) - Automatic responses when your team is unavailable

Need help? [Contact our team](https://clearfeed.ai/contact) for personalized onboarding.


# For Internal Support

If you're planning to use ClearFeed natively for internal support, follow the guide below:

{% content-ref url="/pages/v5NQb5lVjO9INTk5nww1" %}
[Using ClearFeed Ticketing](/clearfeed-help-center/getting-started/getting-started-guides/for-internal-support/using-clearfeed-ticketing)
{% endcontent-ref %}

If you're planning to use ClearFeed for internal support with an integration to ticketing systems like Zendesk, Jira, etc.. follow the guide given below:

{% content-ref url="/pages/PgajbBGbEZCrja1NyOiW" %}
[Using an External Ticketing System](/clearfeed-help-center/getting-started/getting-started-guides/for-internal-support/using-an-external-ticketing-system)
{% endcontent-ref %}

[<br>](https://docs.clearfeed.ai/clearfeed-help-center/getting-started/for-internal-support/integrate-slack-and-internal-ticketing-systems)


# Using ClearFeed Ticketing

Manage internal support requests in Slack using ClearFeed's built-in ticketing system

This guide helps you set up ClearFeed's native ticketing system to manage internal employee requests in Slack for IT helpdesk, HR, sales ops, legal, and other internal teams.

## Sign Up & Connect

1. Go to [ClearFeed Web App](https://web.clearfeed.app/)
2. Sign up with **Google, Microsoft, or Email** (use your Slack workspace email)
3. During onboarding, select:
   * **Primary use case:** Supporting Internal Teams
   * **How to use ClearFeed:** Create and Manage Tickets
   * **Product edition:** Internal (you can change this later in [Plans & Billing](https://web.clearfeed.app/settings/plans-and-billing))
4. **Authorize ClearFeed** when prompted to connect to your Slack workspace

{% hint style="info" %}
**Note:** You can still try external integrations during your trial and choose your final use case when you upgrade.
{% endhint %}

## Understanding Your Setup

ClearFeed automatically creates essential components during signup:

### Request Channel

Your **request channel** is where employees post questions and requests. When a message is posted:

* ClearFeed automatically creates a request
* Add 🎫 emoji to convert it to a **ticket** with public ID and status
* Ticket details appear in the thread for employee visibility

### Triage Channel

Your **triage channel** is your support team's command center. Here you'll see:

* All incoming requests and tickets with ID, status, assignment, and priority
* Real-time updates and notifications
* Internal collaboration tools for your team

### Collection

A **collection** is a group of Slack channels with similar helpdesk settings. ClearFeed creates a default collection during signup with your request and triage channels.

> **Note:** Most teams can start working immediately with these default channels and collection. Only add more channels or create additional collections if you need to separate different support teams (e.g., IT, HR, Legal) or workflows.

## Create and Manage Requests

### From Slack

**Create a request:**

1. Post a message in your request channel (e.g., "How do I reset my VPN password?")
2. ClearFeed automatically creates a request (no ticket ID shown yet)
3. Add 🎫 emoji to convert it to a ticket with public ID and status visible to the requester

**Manage requests:**

* Replies in the triage channel thread sync back to the request channel
* Update status, priority, or assignment, which reflects in the ticket on ClearFeed WebApp
* Add internal notes by prefixing your message with :lock: emoji - these are visible only to your team and not synced to employees

**Convert requests to tickets:** Not all requests need to be tickets. Use the 🎫 emoji on any request to:

* Generate a ticket ID visible to the requester
* Display ticket status in the thread
* Enable full ticketing features (SLA tracking, priority, etc.)

**Manage from request channel:** You can also work directly in the request channel:

* Use :eyes: emoji to assign a request to yourself
* Use ✅ emoji to mark a request as solved
* Enable [Edit Ticket Form](/clearfeed-help-center/clearfeed-helpdesk/forms#edit-form) to update ticket properties (assignee, priority) directly from Slack

**FAQ: How do I stop creating requests from my own messages?** Configure ClearFeed to ignore messages from specific users or turn off auto-responders for support team members. Go to Settings > Request Settings to configure responder exclusions. Alternatively, set up your responders properly so team members are identified as agents.

### Team Setup

**Configure your support team:**

1. Go to [Users](https://web.clearfeed.app/settings/users) in ClearFeed WebApp
2. Add support team members and set them as **Agents**
   * **Agents** can reply to tickets, be assigned tickets, and manage them from triage channel and web app
   * **Non-Agents** can view tickets and add private comments but cannot make public replies or be assigned tickets
3. Agents are automatically added as **Responders** in your collection

**Tip:** [Mute request channels](https://slack.com/help/articles/204411433-Mute-channels-and-direct-messages) that you're part of to avoid duplicate notifications - work from the triage channel instead.

## AI Agent Setup

ClearFeed comes with an AI Agent pre-configured with ClearFeed documentation:

### How It Works

* The AI Agent monitors your triage channel
* When a request is created, it automatically posts answer suggestions as private comments
* Your team can review and send the answer to employees with one click

### Try It Out

Type this in your triage channel: **"What is a collection in ClearFeed?"**

Watch the AI Agent provide a helpful answer from the documentation!

### Customize AI Agent for Your Use Case

Make the AI Agent more helpful by adding your own documentation. You can either create a new AI Agent or edit the existing one.

**Step 1: Connect Your Knowledge Sources** First, add your documentation as knowledge sources. ClearFeed supports various Knowledge Sources. Learn more [here](https://github.com/clearfeed/new-docs/blob/main/answers/knowledge-sources/README.md)

**Step 2: Configure Your AI Agent**

1. Go to **Settings > AI Agent**
2. Either create a new AI Agent or edit the existing one
3. Select the knowledge sources you connected in Step 1
4. The AI will now suggest answers from your internal documentation

## Next Steps

Your ClearFeed setup is ready to use! Start by:

1. Inviting your support team to the triage channel
2. Adding them as Agents in [Users settings](https://web.clearfeed.app/settings/users)
3. Testing a few internal requests and tickets
4. Exploring the AI Agent suggestions with your internal docs
5. [Employee Portal](/clearfeed-help-center/sources/portal) - Self-service portal for employees who do not use Slack

Need help? [Contact our team](https://clearfeed.ai/contact) for personalized onboarding.

## Additional Setup

Once you're comfortable with the basics, explore these features:

### Customize Your Workflow

* **Build Automations** - Auto-respond, escalate, and organize tickets based on rules using [workflows](/clearfeed-help-center/clearfeed-helpdesk/workflows)
* **Configure Forms & Custom Fields** - Collect structured information from employees with [forms](/clearfeed-help-center/clearfeed-helpdesk/forms)
* **Create Quick Replies** - Save time with templated responses
* **Adjust Triage Settings** - Customize what information appears in your [triage channel](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup)
* **Set up SLA rules** - Configure response time targets and business hours
* **Setup Out of Office Responses** - Automatic responses when your team is unavailable

### Expand Your Slack Channels

* **Add more Slack channels** to handle different departments or request types
  * Public channels can be added from the web app
  * Private channels can be added by typing `/invite @Clearfeed` in the channel
* **Create collections** to group related channels with different workflows
  * Navigate to [Collections](https://web.clearfeed.app/collections) and click `Add new Collection`
  * Each collection can have different workflows, responders, and settings

### Working Across Multiple Interfaces

* **ClearFeed WebApp** - Advanced controls, monitoring, bulk actions, and reporting
  * Apply the `Filed To ClearFeed` filter to view only tickets on the requests dashboard
* **ClearFeed App for Slack** - Manage tickets from Slack's app home
  * Apply the `Filed To ClearFeed` filter to view only tickets in the app

**Tip:** Use [triage channels](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup) as a color-coded queue to see the status of all tickets at a glance. Remember to [mute the triage channel](https://slack.com/help/articles/204411433-Mute-channels-and-direct-messages) to avoid duplicate notifications.


# Using an External Ticketing System

Work with your employees on Slack Channels from your existing Ticketing System using ClearFeed's bi-directional Slack integration

{% hint style="info" %}
Before starting, ensure the following:

* You have [integrated your Slack Workspace with ClearFeed](/clearfeed-help-center/getting-started/signing-up-for-clearfeed)
* You have integrated ClearFeed with the ticketing system
* Product edition is set to "Integrations" in [Plans & Billing](https://web.clearfeed.app/settings/plans-and-billing)
  {% endhint %}

{% hint style="info" %}
**Note:** Don't have the access or approvals to connect an integration right now? Choose **Setup Later** during onboarding and connect anytime from **Settings > Integrations**. You can finalize your use case when you upgrade.
{% endhint %}

Once done, you can create your first collection - a group of Slack channels that have similar helpdesk settings

## Create Collection

1. Navigate to [Collections](https://web.clearfeed.app/collections) from the side navigation bar.
2. Click on the `Add new Collection` button on the bottom-left of the page.
3. Choose support team members as **Responders**
   * Responders are members of the support team
   * Responder settings are used to manage status changes on your ticketing system. Responses from your support team on Slack are considered like responses from the ticketing system
4. Add **Request channels** on which you plan to provide support to customers
   * All public Slack channels can be added from the web app
   * Private Slack channels can be added by typing `/invite @Clearfeed` on the Slack channels. They can only be added after a Collection is created
5. Under the Triage Channel configuration, choose the `Proceed without Triage` option
6. Under **Ticketing Settings**, select your preferred integration and define how tickets should be created:

   **Trigger Mode**:

   * **Emoji-Based**: Tickets are created when a specific emoji (e.g., :tickets:) is added to a thread.
     * Choose which users' reactions should trigger ticket creation — either **anyone** or **only responders**.
   * **Automatic**: Tickets are created for **every new message** posted in the request channel.

## Creating Tickets

1. Anyone can apply :tickets: on a Slack thread on request channels and convert them to tickets
   * In case of automatic trigger, any new message from non-responders on the channel would create a ticket automatically
2. After a ticket is created, ClearFeed will post a reply on the request thread with the following information: Ticket ID, Title (with a link to the ticket), and Color Coded Ticket Status.

## Bidirectional sync

* Replies on the Slack threads are synced to the integrated ticketing system
* Any public comments on the ticket are synced back to the same Slack thread
* The status from the integrated ticketing system is also synced with the Slack thread

## Additional Features

* Slack Forms for creating tickets with fields from external helpdesks
* Controls on which fields from external helpdesks are editable from Slack
* Controlling which Ticket fields to display on Slack
* Ability to work on tickets on Slack from Triage channels
* To explore these in detail, explore individual sections for each integration:
  * [Zendesk](/clearfeed-help-center/integrations/zendesk)
  * [Freshdesk](/clearfeed-help-center/integrations/freshdesk)
  * [Intercom](/clearfeed-help-center/integrations/intercom)
  * [JIRA Service Management](/clearfeed-help-center/integrations/jira-service-management)
  * [Salesforce](/clearfeed-help-center/integrations/salesforce)
  * [JIRA](/clearfeed-help-center/integrations/jira)
  * [Linear](/clearfeed-help-center/integrations/linear)


# For Automated Answers and AI

Onboarding guide to use Clearfeed for Automated Answers & AI

Before starting, ensure that you have [integrated your Slack Workspace with ClearFeed](/clearfeed-help-center/getting-started/signing-up-for-clearfeed).

Once done, you can create your first collection - a group of Slack channels that have similar helpdesk settings

{% hint style="info" %}
**Note:** GPT-powered answers are available on:

* **Professional** and **Enterprise** plans (included).
* **Starter** plan, when the **AI Pack add-on** is purchased.
* **Free trial**, where full access is temporarily enabled.
  {% endhint %}

### Create Collection

1. Navigate to [Collections](https://web.clearfeed.app/collections) from the side navigation bar.
2. Click on the **`Add new Collection`** button on the bottom-left of the page.
3. Choose support team members as **Responders**
   * By default, all users that are agents will be considered as Responders
   * Go to [user](/clearfeed-help-center/account-setup/manage-users) section to add your support team members as users and make them **Agents**
   * Only Agents can reply to the tickets from the triage channel and Clearfeed web application and can be assigned tickets
   * Non-Agents can still view tickets and make private comments on tickets
4. Add **Request channels** on which you plan to provide support to your users
   * All public Slack channels can be added from the web app
   * Private Slack channels can be added by typing `/invite @Clearfeed` on the Slack channels. They can only be added after a Collection is created
5. Add a [**Triage channel** ](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup)for the support team to work from on Slack
   * You can select `Create new channel` or `Select existing` option
   * Your support team can also work directly from Request channels, in which case you can opt in `Proceed without triage`
6. Under **Ticketing**, select ClearFeed ticketing and choose the trigger mode for ticket creation
   * Trigger mode for the ticket can be an emoji (eg. :tickets:) applied to the thread or tickets can be auto-created on every new message on the request channel
7. You can edit an existing [workflow](/clearfeed-help-center/clearfeed-helpdesk/workflows) to send a notification to the corresponding triage channel if there is no response to a request for 60 mins

<figure><img src="/files/VLDJXbhWwn7oJBCeex1D" alt="" width="375"><figcaption><p>Create a Clearfeed Collection</p></figcaption></figure>

### **Add Knowledge Source**

1. In the ClearFeed dashboard, go to the 'Answers' section in the left navigation bar and click on the 'Add Knowledge Source' button.
2. You can connect different types of Knowledge Sources to ClearFeed. [See the full list of supported sources.](https://github.com/clearfeed/new-docs/blob/main/getting-started/answers/ai-agents/indexing-knowledge-sources/README.md)
3. The Knowledge Source will either start indexing immediately (reflected by "In Progress" status) or will be picked soon (reflected with an Initiated status). Get more details on Managing Knowledge Sources [here](https://github.com/clearfeed/new-docs/blob/main/getting-started/answers/ai-agents/indexing-knowledge-sources/managing-knowledge-sources.md).

<figure><img src="/files/qOa78wHh3OMlRPO3CHjw" alt="" width="563"><figcaption><p><strong>Add your Knowledge Source in</strong> GPT-Powered Answers</p></figcaption></figure>

### Testing Answers

{% hint style="info" %}
Confirm that all necessary Knowledge Sources are added and their current status is **Indexed**. You **cannot** test a Knowledge Source having any other status.
{% endhint %}

1. Navigate to [Answers](https://web.clearfeed.app/knowledge-sources) from the navigation bar and click on the `Test` tab to enter the testing environment.
2. Use the dropdown menu on the right to select the appropriate tags for the Knowledge Sources you want to test.
3. Enter your question into the text box and click the "Run" button to begin the test.
4. The generated answer and the search results (snippets) will be displayed in a text box below your question.

<figure><img src="/files/xWoFPfdePaBEhArOQwMV" alt="" width="563"><figcaption><p>Assess the accuracy and relevance of GPT-Powered Answers</p></figcaption></figure>

### **Collection Settings**

1. After adding the knowledge sources, go to the Collection Settings of the desired collection to enable 'Answers.'
2. Once the 'Answers' toggle is enabled, select from the following options: -
   * [Virtual Agent](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents) - Virtual Agent responses are visible to the requester as well as responders.
   * [Agent Assistant](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents#using-the-agent-assistant-on-the-triage-channel) - Agent Assistant responses are visible only to responders.
3. Select and add the appropriate Knowledge Source from the dropdown menu.
4. After saving the configuration, you are all set to use GPT Powered Answers.

<figure><img src="/files/ks3jDFLKMoujY5eot3SW" alt="" width="563"><figcaption><p><strong>Enable 'Answers' in the Collection Settings</strong></p></figcaption></figure>

### **Try on Slack Channel**

* A request is received on the request channel.
* This triggers the *Virtual Agent*, which starts searching within your indexed Knowledge Sources for snippets containing information pertaining to the request.
* On finding the snippets, the *Virtual Agent* responds to the request. If the answering mode configured for this request channel's Collection is:
  * `Search Results`: The *Virtual Agent* simply posts these snippets (as *Search Results*) in a threaded reply to the request.
  * `Generated Answers and Search Results`: The *Virtual Agent* uses GPT to generate an answer using the most relevant snippet. Then, it posts this Generated Answe&#x72;*,* along with the snippets (*as Search Results*) in a threaded reply to the request.
* A feedback question is present at the footer of the posted answer.
* If the answer is **helpful,** users (requesters/responders) can click on the `Yes, mark as solved` button and **solve** the request. Else, if users **do not** find the answer **helpful,** they should click on the `No` button. This marks the answer as *not helpful* and keeps the request **open.**
  * Clicking 'Not Helpful' only flags the answer internally for review; it does **not** directly improve or retrain the AI's future responses.
  * This design is intentional to maintain security and privacy standards (such as SOC-2 compliance). The AI does **not** learn from customer data or feedback submitted via Slack.
  * To improve the accuracy of AI answers, you should
    * Update or expand your connected knowledge sources (including adding ClearFeed Tickets as a knowledge source).
    * Refine the agent's instructions in the AI Agent Studio.
    * Posting the correct answer in the Slack thread helps your team, but does **not** update the AI's knowledge base.

{% hint style="info" %}
**Note**: Sometimes, with only two options, users chose **No, Create a Ticket** just to ensure a ticket was logged, or selected **Yes, Mark as Solved** and later discovered no ticket had been created.

You can now configure the AI Agent to show **three options** after a response:

* **Yes, Mark as Solved** → closes the ticket and marks the answer helpful.
* **Yes, but Create a Ticket** → keeps the ticket open and marks the answer helpful.
* **No, Not Helpful** → keeps the ticket open and logs feedback.

To enable this for your account, please contact our support team.
{% endhint %}

<figure><img src="/files/RXVjpYLqLIyoWzy4psHt" alt="" width="563"><figcaption><p><strong>GPT Powered Answers in the Slack Channel</strong></p></figcaption></figure>


# Security

Secure from Day 1

ClearFeed is built from the ground up by an experienced team with security, privacy, and compliance prioritized from day one. Audit and penetration test reports, as well as compliance-related policies, are available upon request via <security@clearfeed.ai> or via [ClearFeed Trust Site](https://clearfeed.trust.site/)

* We are **SOC2 Type 2 Certified**
* We are **GDPR Compliant** and **HIPAA Compliant**
* We perform annual application-level penetration tests via an independent third party
* All customer data is encrypted at rest and in transit, and access is protected behind your enterprise SSO
* Signed DPA and BAA is available on request

## Installing ClearFeed on Slack

You can safely install the ClearFeed App on your Slack Workspace by starting from the [ClearFeed WebApp](https://web.clearfeed.app/) and authorizing the Slack installation during signup.

<figure><img src="/files/ohSlRaTDst05VaZJHGyJ" alt="" width="345"><figcaption></figcaption></figure>

### FAQs on ClearFeed Slack App

1. **Why can't I install ClearFeed from the Slack App Directory?**\
   **Answer:** Our Slack Marketplace application is currently under review and we are actively working with the Slack team to get ClearFeed listed. We will post the progress here as we get better visibility. You may see a banner when authorizing the app in Slack, but you can safely proceed with the installation from the ClearFeed WebApp.
2. **What permissions does ClearFeed need in Slack?**\
   **Answer:** The permissions required by ClearFeed will be shown by Slack as part of the "Authorize Slack" step. Please note that ClearFeed can only read/write messages in Slack channels it is explicitly added to.
3. **What can I do if I am unable to install ClearFeed to the Slack workspace myself?**\
   **Answer:** Many Slack workspaces restrict installation of apps to Admins only. Some restrict non‑marketplace apps so that *only workspace owners* (and not admins) can approve them. If you see an error asking you to "ask the owner/admin to add this app" when trying to authorize ClearFeed, you have two options:

   * **Option 1:** Continue with the Slack app install flow — Slack will automatically send a request to your workspace admin/owner for approval and wait for their approval
   * **Option 2:** Invite your workspace admin/owner to the ClearFeed account using the "Invite Workspace Admin" link shown in the Signup flow and ask them to install the Slack app themselves

   <figure><img src="/files/PSF7B4FjOn0LUygtp082" alt="" width="450"><figcaption><p>Invite your workspace admin to complete the Slack installation</p></figcaption></figure>
4. **What data from Slack do you store in ClearFeed and how long?**\
   **Answer:** We only store data that is essential to providing our services. This includes messages in Slack shared with ClearFeed and user profile data from Slack. Note that ClearFeed does not store attachments posted in Slack. Our data storage and retention policy is available at <https://docs.clearfeed.ai/clearfeed-help-center/account-setup/data-retention> - admins can configure data retention to control how long messages in Slack are stored in ClearFeed.
5. **Why does ClearFeed need to be installed to Slack for creating an account?**\
   **Answer:** Access to ClearFeed accounts is currently restricted to members of the attached Slack workspace. This is why Slack installation is the first step in creating a ClearFeed account. We are working on relaxing this requirement in the near future.

The following section details an overview of Security on ClearFeed.

## **Overview of Security on ClearFeed**

### Data Residency

* Our infrastructure is primarily hosted on AWS in the `us-east-1` region across three availability zones.
* Any infrastructure (example: search indexes) outside of AWS are also stored in US East region.
* EU Resident data processing and storage is coming soon. Please contact <support@clearfeed.ai> for details.

### Infrastructure Security

* By default, we block all traffic at a network level and only open specific ports as required to deliver the ClearFeed service.
* Any escalated access to infrastructure requires a VPN or a whitelisted IP with 2-factor authentication.
* We use AWS GuardDuty to detect unusual traffic and unauthenticated access to our critical systems.
* Host-based intrusion detection systems are in active use.

### Data Encryption

* All critical data that we store is encrypted at rest and in transit.
* In addition, application level encryption is used for sensitive data.

### Failover and disaster recovery

* All of our production infrastructure is built with redundancies in place, in highly-available configurations spread over three different availability zones in the us-east-1 AWS region.
* We have a disaster recovery plan which is reviewed every 6 months and a tabletop exercise is conducted by the management to verify that the plan is up to date.

### Inventory and configuration

* Infrastructure is kept as code using [Terraform](https://www.terraform.io/), and other infrastructure-as-code tools with changes going through a process very similar to the application-level software development process. We make use of separate infrastructure for development, staging, and live environments, with no sharing of data between environments.

### Identity and Access Control

* Access to all of our critical systems requires 2FA authentication to sign in.
* Access to customer data is limited to authorized employees who require it for operational and maintenance activities.
* Access to sensitive production data is limited to just the DevOps team.

### Monitoring and logging

* We do extensive monitoring of infrastructure and application performance, which usually allows us to detect issues before many customers experience them.
* Automated alerts are set up with the help of [Sentry](https://sentry.io/). All alerts are acknowledged within 10 minutes.

### Penetration Testing

* We perform annual application-level penetration tests via an independent third party.
* We aim to fix any discovered critical issues within 2 business days, and high-severity issues within 30 business days.
* Medium-severity and lower-severity issues are handled as part of ongoing security work.

### Incident response

* ClearFeed implements a protocol for handling security events and other operational issues, including escalation procedures, rapid mitigation, and post-mortems.
* You can visit our [status page](https://clearfeed.statuspage.io/) to get updates on potential issues, and even subscribe to automatic updates.

### **User Consent**

* We rigorously adhere to GDPR requirements, ensuring that all data processing activities meet the highest standards of security, transparency, and user consent mandated by EU regulations.
* We obtain explicit consent from users before utilizing cookies, ensuring full compliance with GDPR guidelines.

### Compliance

* ClearFeed is SOC2 Type 2 compliant, GDPR compliant and HIPAA compliant.
* We are not ISO27001 compliant at the moment.

### Data retention

* Users can configure data retention (from 7 to 365 days). When enabled, raw messages are deleted after this period.
* ClearFeed does not store attachments from Slack.
* Sensitive data redaction is configurable on Enterprise Plans.
* You can read more about data retention [here](/clearfeed-help-center/account-setup/data-retention).

### Single Sign-On

* ClearFeed offers Single Sign-On via Google and Microsoft OAuth on all plans.
* SAML-based SSO (compatible with Okta, JumpCloud and other providers) is available on Enterprise plans.

## **Terms of Service, Privacy Policies and DPA**

* Our standard policies are listed on our public website:
  * **Terms of Service** - <https://clearfeed.ai/tos>
  * **Privacy Policy** - <https://clearfeed.ai/privacy-policy>
  * **DPA:** <https://clearfeed.ai/dpa>
* Enterprise plans support custom DPA, Terms of Service, and Security Reviews. Please contact us over Slack or [Email](mailto:support@clearfeed.ai) for any questions.

{% hint style="warning" %}
Security questions or issues? If you think you may have found a security vulnerability within ClearFeed, please [get in touch with our security team](mailto:security@clearfeed.ai).
{% endhint %}


# Slack Shortcuts

Quickly interact with ClearFeed directly from Slack using built-in shortcuts. Create tickets, search requests, and start threads without leaving your workspace.

ClearFeed’s Slack shortcuts let you **interact with your support requests directly from Slack**, making it faster to file tickets, search requests, and start threads—without leaving your workspace. These shortcuts save time and help teams stay productive by keeping actions within Slack.

#### Available Shortcuts

* **`/cf-file`** – Use this shortcut to quickly create a new support request in ClearFeed directly from Slack. This is useful when you notice an issue in a conversation or need to log a request without switching to the ClearFeed Web App. Once you invoke `/cf-file`, follow the prompts to enter details about the request and submit it. The ticket will immediately appear in ClearFeed and can also be accessed in the associated Slack Triage channel if one is configured. Learn more [here](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels)
* **`/cf-query`** – This shortcut allows you to search ClearFeed requests using natural language. Simply type your query after `/cf-query` and ClearFeed will return matching tickets instantly. For example, you could type "`/cf-query` show all tickets assigned to me that are open" to see all open tickets assigned to you. Learn more [here](/clearfeed-help-center/clearfeed-ai/search-using-natural-language)
* **`/cf-start-thread`** – Use this shortcut to start a new conversation thread in the designated request channel. This helps keep discussions organized around specific topics or tickets. When you invoke `/cf-start-thread`, you can type your message and begin a threaded discussion, making it easier for your team to collaborate without cluttering the main channel. Learn more [here](/clearfeed-help-center/how-it-works/creating-requests/from-triage-channel)

{% hint style="success" %}
💡 **Tip:** These shortcuts work anywhere ClearFeed is installed, including private channels or threads where you’re a member.
{% endhint %}


# Glossary

ClearFeed Terminologies to get you started

## Core Concepts

* **Request** - Incoming support query from a requester.
* **Ticket** - Request that has an external ID and status shared with the requester.
* **Responder** - Member of the support team as defined in the collection.
* **Requester / Author** - Slack user who raises a request and is not a responder
* **Non-Responder** - Users who are not designated as support agents/responders, typically customers or requesters who can submit requests but not respond to them.
* **Request Channel** - Slack channels where requesters ask queries
* **Collection** - Set of specific channels that have similar settings (workflows, responders, ticketing configurations, etc.) and are linked to the same triage channel. Collections are organized by source including Slack Channels, Email, API, Portal, Web Chat, DM, or MS Teams.
* **Triage Channel** - Slack channel that collates together requests from all channels in the collections to which it's attached
* **Owner** - Primary individual responsible for the Slack channel
* **Status** - Status of a request or ticket. ClearFeed only supports 4 default statuses - Open, In Progress, On Hold, and Solved.
* **Priority** - Criticality of the request based on its impact. ClearFeed supports two priorities currently, High and Low.
* **Assignee** - Responder who owns driving the request to closure
* **Linked Tickets** - External Ticket IDs created against a request on ClearFeed
* **SLA Policy** - Target service times set to ensure that requests are responded to or resolved at those policies.
* **SLA Breach** - Violation in SLA Policy.

## Features & Functionality

* **Workflows** - Automated rules consisting of Conditions → Timer → Actions that trigger specific behaviors when requests/tickets meet certain criteria (e.g., escalation reminders, auto-responses, notifications to external webhooks).
* **Automations** - Advanced automation rules with four components (Trigger, Conditions, Delay, Actions) that reduce manual work by automatically escalating requests, setting fields, sending messages, or triggering external actions.
* **Forms** - Configurable ticket creation and editing interfaces with customizable fields, including Create Forms (for ticket creation) and Edit Forms (for post-creation modifications).
* **Approval Workflows** - Structured decision-making processes for ticket requests requiring approvals (e.g., expense sign-offs, IT requests), featuring intake forms, routing rules, and multi-stage approver chains.
* **Intake Form** - Form used in Approval Workflows that defines when the approval process begins and specifies non-editable fields once approval starts.
* **Assignment Rules** - Automated rules that determine how incoming requests are assigned to team members, including auto-assignment to the first responder or round-robin distribution among Rotation members.
* **First Responder** - The first eligible team member who takes action on a request (replies or reacts), used in auto-assignment rules. Eligibility can optionally be determined by a selected Rotation.
* **Round Robin Assignment** - Assignment method that distributes incoming requests evenly among eligible members of a Rotation, cycling through members and skipping unavailable users based on Slack status.
* **AI Fields (Auto-Categories)** - Intelligent, AI-powered fields that automatically extract and populate information from conversations, including System-Defined fields (Auto-Category, Auto-CSAT, Auto-Emotion) and Custom Field-Based AI Fields.
* **Auto-Category** - System-defined AI field that automatically classifies requests into categories: Feature Requests, Bug, How to Question, Problem Report, or general Requests.
* **Auto-CSAT** - System-defined AI field predicting customer satisfaction dynamically as conversation evolves: Very Positive, Positive, Neutral, Negative, or Very Negative.
* **Auto-Emotion** - System-defined AI field representing overall sentiment detected in conversation: Positive, Neutral, or Negative.
* **Custom Fields** - User-defined properties added to requests and tickets beyond standard fields, supporting types including Single Select, Multi Select, Text, Number, Date, and User Select.
* **Views** - Filtered perspectives of requests/tickets organized into "My Views" (personal) and "Team's Views" (shared), including both Standard Views and Custom Views with saved filter criteria.
* **CSAT Survey** - Customer Satisfaction surveys automatically sent when requests/tickets move to Solved state, available as Emoji Rating (5-point) or Thumbs Up/Down (2-point) formats.
* **Digests** - Periodic summary reports delivered via Slack and email, including Triage Digests (daily/weekly), Personal Digests (individual assignments), and Account Digests (workspace-wide activity).
* **Emoji Rules** - Quick actions triggered by emoji reactions on request messages in Slack, including Assign (👀), Solved (✅), and Urgent (🚨) actions.
* **Quick Replies** - Reusable text templates that can be quickly inserted into conversations from both the ClearFeed web app and Slack triage channels.
* **Participants** - Non-agent users added to specific requests for collaboration without being added to the Triage channel or granted full agent access.
* **Tasks** - Work items escalated from support Requests/Tickets to engineering/task management systems (Jira, Linear, Asana, GitHub, ClickUp) while maintaining SLA tracking in ClearFeed.
* **Blocker Tasks** - Tasks marked as critical dependencies that prevent a ticket from being marked as Closed or Solved until the blocker task is completed.
* **Team Assignment** - Feature enabling assignment of requests/tickets to Slack Groups (called Teams), where all group members receive notifications about assigned work.
* **Welcome Messages** - Automated greeting messages sent to new customers when they join a request channel or when a new channel is added to a collection.
* **Announcements** - Broadcast messages sent across multiple Slack channels simultaneously, commonly used for release notes, downtime notices, or general updates.
* **Merging (Rule-Based & AI-Based)** - Automatic grouping of related messages into single requests based on deterministic rules or AI context detection, with AI-Based Merging understanding pronoun references, urgency, and follow-ups.
* **Request Splitting** - Manual separation of unrelated messages that were automatically merged, allowing agents to create distinct requests for independent tracking.
* **Activity Logs** - Record of important account events, currently capturing email ticketing activity including processed emails, rejected emails, and error tracking.
* **Auto Responses** - Automated replies sent on Slack when requests/tickets are created, including use cases like acknowledgment messages and out-of-office replies for after-hours requests.
* **Commitments** - AI-detected promises made by responders in messages (e.g., "I'll get back to you"), automatically tracked with 24-hour reminder workflows.
* **Webhook** - HTTP POST request sent to external systems containing request/ticket data with JSON payload, used for integrations with Zapier and custom APIs. Automation Webhook actions can also capture values from JSON responses for later actions.

## AI & Knowledge Management

* **AI Agents** - Intelligent assistants operating in Slack that provide answers from Knowledge Sources, take actions in integrated tools, and can be configured at the Collection level.
* **Virtual Agent** - AI Agent mode that delivers real-time, automated responses directly to customers in request channels by pulling answers from configured knowledge sources.
* **Agent Assistant** - AI Agent mode operating in Triage Channels that provides AI-generated draft responses for agents to review, refine, and post to customers.
* **ClearBot Assist** - Triage channel feature providing quick access to AI Agents, thread summarization, previous request history, and quick replies via a dedicated button.
* **Knowledge Sources** - Public or private documentation that AI Agents reference for answering questions, including Public Knowledge Sources (HTML websites, Site Search) and Private Knowledge Sources (Confluence, Notion, Google Drive, etc.).
* **Private Knowledge Sources** - Restricted internal documentation including SOPs, training content, and company policies from sources like Confluence, Google Docs, Notion, Coda, and Zendesk.
* **Public Knowledge Sources** - Externally accessible documentation including FAQs, product docs, and troubleshooting guides from public websites and blogs.
* **AI Pack** - Add-on feature ($20/month for Starter plans) that unlocks AI Agents, Knowledge Sources, and AI-powered Automations; included free in Professional and Enterprise plans.
* **Auto-fill Fields** - Automation action using AI to automatically extract or generate values and save them to Custom Fields or Automation Variables based on configured prompts.
* **Automation Variables** - Temporary values produced by automation actions, such as Auto-fill Fields, AI Agent, or Webhook response capture. They can store text, number, or boolean values and be reused in later automation steps where supported.
* **Invariance Settings** - Automation configuration specifying which fields to monitor during delay periods to determine if automation should be canceled based on field changes.
* **Invoke AI Agent** - Automation action using AI Agent to generate structured responses or respond to requests by retrieving information from Knowledge Sources.
* **Bot Interactions** - Ability to tag @clearfeed to invoke AI Agents to take actions in configured integrations (Jira, HubSpot, Okta, etc.).

## Configuration & Setup

* **Business Schedule** - Working hours configuration at the Collection level used for SLA calculations and automation conditions (inside/outside business hours).
* **Trigger Mode** - Configuration determining how tickets are created: Automatic (every message creates ticket) or Manual (emoji/button click required).
* **Product Edition** - ClearFeed configuration tier determining available features: External Helpdesk (customer support), Internal Helpdesk (employee support), or Integrations Only (external ticketing systems).
* **Customer Portal** - Self-service web interface for External Helpdesk accounts where customers can file tickets, track status, and respond to support conversations using Google, Microsoft, or magic link authentication.
* **Employee Portal** - Self-service web interface for Internal Helpdesk accounts where employees can file tickets, track status, and respond to support conversations using Google, Microsoft, or magic link authentication.
* **Web Chat Widget** - Embeddable chat interface for websites connecting users with support teams via Slack, with customizable appearance and user identification.
* **Email Collection** - Dedicated Collection type for storing and managing email tickets from configured support email addresses with bi-directional Slack sync.
* **White-labeling** - Customization feature allowing replacement of ClearFeed app name and logo with organization's branding in Slack messages, workflows, and automated responses.
* **Customer Object** - Structured representation of a customer containing Customer Name, Slack Channels, and Email Domains, available only in External Helpdesk Product Edition.
* **Verification Status** - Customer object property indicating whether customer has been validated; unverified customers cannot access the Customer Portal.
* **SAML SSO** - Single Sign-On authentication using Security Assertion Markup Language protocol, allowing users to authenticate via their identity providers to access ClearFeed.
* **Magic Link** - Email-based authentication method that sends users a sign-in link without requiring a password.
* **Screens** - Form configuration section customizing ticket message visibility, field display, and action buttons (Mark as Solved, Edit Ticket) shown to requesters.
* **Field Properties** - Form field configurations including Non-responder Field Label, Placeholder Text, Hint Text, Default Values, Hidden Fields, Permissions, and Required status.
* **Editable By** - Form field permission setting determining whether field can be filled by "All users" or "Only responders."

## Reporting & Analytics

* **Scheduled Reports** - Automated delivery of Custom View data as CSV files to Slack channels on daily, weekly, or monthly schedules.
* **Interaction Metrics** - Analytics for Announcements tracking channels reached, emoji reactions, and customer replies with user-level detail.
* **Execution Logs** - Detailed records of automation runs showing status (Done, Failed, Cancelled, Running, Skipped), execution steps, and error details.
* **Triage Digests** - Daily (9 AM, last 7 days open requests) and Weekly (Monday 9 AM, unsolved 7-30 days old) summaries delivered to triage channels.
* **Personal Digests** - Daily and Weekly DMs from ClearFeed App listing requests assigned to individual responders (7-day open and 7-14 day unsolved respectively).
* **Account Digests** - Weekly summaries (Monday via email/Slack) of workspace activity including SLA performance, request volumes, AI usage, and active channels.

## Integration Actions

* **Okta Actions** - Automation actions for user lifecycle operations including Reset Password, Suspend/Unsuspend User, Activate/Deactivate User, and Delete User.
* **HubSpot Actions** - Automation actions for CRM operations including Create Task, Create Contact, Create Deal, and Add Notes to Deals/Contacts/Companies.

## Billing & Data Management

* **Data Retention** - Account-level setting determining how long historical data (activity logs, etc.) is stored before automatic deletion (e.g., 30 days for activity logs).
* **Pricing Model** - Billing structure either Agent-Based (charged per responder) or Usage-Based (charged per tickets/channels, whichever higher).
* **Trial Period** - 14-day free access to Professional Plan features, after which data is retained for 14 additional days before account deletion unless upgraded.


# Requests, Tickets and Tasks

Understanding the core concepts of ClearFeed's workflow

ClearFeed's workflow is built on three core concepts that work together:

**Request** → **Ticket** → **Task**

* **Requests** - Internal tracking of customer inquiries
* **Tickets** - Formal, customer-facing support cases
* **Tasks** - Work items escalated to specialized teams

## What is a Request?

A **Request** is any inquiry tracked internally in ClearFeed, regardless of where it comes from.

### Key Characteristics

* **Internal only** - Not visible to customers
* **No public ID** - Only your team sees the request number
* **Private status** - Status changes are visible only to responders
* **Universal inbox** - All inquiries start as requests

### Sources

Requests can be created from:

* Slack channel messages
* Direct messages to ClearFeed app
* Emails to support address
* Web chat conversations
* Portal submissions (Customer Portal or Employee Portal)
* API calls

### Request Fields

Every request includes:

* Author (who created it)
* Title (AI-generated or manual)
* Summary (AI-generated)
* Status (Open, In Progress, Pending, On Hold, Solved, Closed)

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>About the On Hold status</strong></p><p>The <strong>On Hold</strong> status is available on every ClearFeed account created after May 2026. If <strong>On Hold</strong> does not appear as a selectable option in your request status dropdown, please contact ClearFeed Support to have it enabled for your account.</p><p>A request can also move to <strong>On Hold</strong> automatically when it is <strong>transferred</strong> to an external ticketing system such as Zendesk, Jira, or Salesforce. In that case, <strong>On Hold</strong> is an internal marker showing that the request is now being tracked in the external system instead of monitored in ClearFeed — so you may see a request in <strong>On Hold</strong> even if you did not set it yourself.</p><p>For requests that are still monitored in ClearFeed, a request in <strong>On Hold</strong> automatically moves back to <strong>Reopen</strong> when a new request message arrives from someone who is not a responder.</p></div>
* Assignee (responder responsible)
* Priority (Urgent, High, Normal, Low)
* Created time
* Last message time

[Learn more about creating requests →](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels)

## What is a Ticket?

A **Ticket** is a formal, customer-visible support case converted from a request.

### Key Characteristics

* **Customer-visible** - Customers can see the ticket ID and status
* **Public tracking** - ID and status are shared with the requester
* **Formal record** - Official support case for tracking and SLAs
* **Same fields as requests** - All request information is preserved

### Difference from Requests

| Feature        | Request       | Ticket                 |
| -------------- | ------------- | ---------------------- |
| **Visibility** | Internal only | Customer-facing        |
| **ID**         | Private       | Public (e.g., CF-1234) |
| **Status**     | Private       | Shared with requester  |

### Types of Tickets

#### **ClearFeed Tickets**

* Managed within ClearFeed
* Native ticket IDs (e.g., CF-1234)
* Visible in Slack and Customer/Employee portal

#### **External Tickets**

* Created in external systems (Zendesk, Jira, Salesforce, etc.)
* External ticket IDs (e.g., ZEN-5678, JIRA-123)
* Synced bidirectionally between systems

[Learn more about creating/linking tickets →](/clearfeed-help-center/how-it-works/creating-or-linking-tickets)

## What is a Task?

A **Task** is a work item escalated from a request or ticket to specialized teams (engineering, product, etc.) while maintaining the support context.

### Key Characteristics

* **Work escalation** - Moves technical work to engineering/project systems
* **SLA preservation** - Original request/ticket SLA continues tracking
* **Linked context** - Task remains connected to the customer request
* **System integration** - Created in Jira, Linear, Asana, GitHub, ClickUp, etc.

### Blocker Tasks

A special type of task that:

* Prevents the ticket from being closed
* Marks critical dependencies
* Ensures work is completed before resolution

### Task Visibility

Tasks can be configured with different visibility levels:

* **Full transparency** - Task link and updates visible to customers
* **Link only** - Task ID shared without detailed updates
* **Internal only** - No customer visibility

[Learn more about creating tasks →](/clearfeed-help-center/how-it-works/creating-or-linking-tasks)

## Relationship Between Concepts

```
Customer Question
      ↓
   Request (Created automatically)
      ↓
   Ticket (Converted when formalization needed)
      ↓
   Task (Escalated when specialized work required)
```

**Example Flow:**

1. Customer posts in Slack: "API returning errors"
2. **Request** created automatically (private, internal tracking)
3. Agent converts to **Ticket** #CF-1234 (customer sees ID and status)
4. Agent escalates to **Task** JIRA-567 (engineering investigates)
5. Task marked as blocker (ticket can't close until bug fixed)
6. Engineering completes task → Ticket can be resolved

## Related Documentation

* [Creating Requests](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels) - How requests are created
* [Creating Tickets](/clearfeed-help-center/how-it-works/creating-or-linking-tickets) - How to convert requests to tickets
* [Creating Tasks](/clearfeed-help-center/how-it-works/creating-or-linking-tasks) - How to escalate to engineering
* [Collections](/clearfeed-help-center/clearfeed-helpdesk/collections) - Configure request/ticket behavior
* [SLA Management](/clearfeed-help-center/clearfeed-helpdesk/sla-management) - Set up service level agreements
* [Custom Fields](/clearfeed-help-center/clearfeed-helpdesk/custom-fields) - Add fields to requests/tickets


# Creating requests

This section covers all the ways you can create requests in ClearFeed to track and manage interactions across different channels and platforms.

## Overview

ClearFeed provides multiple methods for creating requests to ensure no customer issue goes untracked, whether it originates in Slack, external channels, or proactive outreach:

* [**From Slack Channels**](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels) - Automatic and manual request creation from monitored Slack channels
* [**From Triage Channel**](/clearfeed-help-center/how-it-works/creating-requests/from-triage-channel) - Proactive request creation using the `/cf-start-thread` command
* [**From ClearFeed WebApp**](/clearfeed-help-center/how-it-works/creating-requests/from-webapp) - Create requests directly from the ClearFeed WebApp

### Key Features Across All Methods

* **Unified Tracking**: All requests appear in your Triage Channel regardless of creation method.
* **Customer Visibility**: Requests appear in appropriate Slack channels where customers can respond.
* **Flexible Assignment**: Set status, priority, and assignee during or after creation.
* **Conversation Threading**: Replies and follow-ups maintain request context.
* **SLA Tracking**: Response time measurement begins with request creation and first customer interaction.

Choose the creation method that best fits your workflow and customer interaction patterns.

## FAQs

1. **Why are Slack Messages not appearing as Requests in the ClearFeed Web Dashboard?**\
   **Answer:** Several factors can prevent messages from appearing as Requests in the Web Dashboard:
   * **Unmonitored Channels:** If a message is posted in a channel that isn't being monitored by ClearFeed (ie. channel hasn't been added to a Collection in ClearFeed), messages posted here will not be tracked as Requests. [Learn how to add channels to a Collection](/clearfeed-help-center/sources/manage-request-channels#adding-slack-channels-to-collection).
   * **Bot Messages:** Bot messages may not be converted to requests unless whitelisted in ClearFeed. [Learn how to whitelist bots](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels#bot-whitelisting).
   * **Nature of Message:** Certain types of 'ignorable' user messages (composed purely of greetings, acknowledgements or appreciation) may not trigger request creation by default (since these do not require a response). [Learn more about AI filtering](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels#ai-filtering).
   * **Message Eligibility:** Very commonly, only messages from non-responders (typically customers or end-users) can create requests. Messages from responders (agents) usually don't create requests. You can check this configuration in Collection Settings → Responders by turning on "Create Requests from Responder Messages in Request Channel". [Refer here for more info](/clearfeed-help-center/clearfeed-helpdesk/responders#controlling-which-messages-create-requests).
   * **Historical Messages:** If a message was posted before the channel was added to a Collection in ClearFeed, it will not be tracked as a Request. To force convert historical messages into requests, react to the parent message with the 📌 pushpin emoji.
   * **Announcements:** Announcements, by themselves, do not create requests. However, a non-ignorable reply to an announcement, should convert it into a request.
   * **Dashboard Filters:** Active filters in the Web Dashboard (e.g., date range or request status) may be hiding requests from view. Check and adjust your filters to ensure the expected requests are displayed. [Learn about filtering requests in the Web Dashboard](/clearfeed-help-center/managing-requests/clearfeed-webapp#filter-requests).


# From Slack Channels

{% hint style="info" %}
**Prerequisites:** Before creating requests from Slack channels, you must first [create a Collection](/clearfeed-help-center/clearfeed-helpdesk/collections) and [add channel(s)](/clearfeed-help-center/sources/manage-request-channels) to it.
{% endhint %}

When ClearFeed monitors a Slack channel, messages posted become **Requests** based on your configuration. This guide explains the key concepts and various ways to create requests from Slack channels.

## Key Concepts

Before diving into how requests are created, it's important to understand the core concepts that determine ClearFeed's behavior.

### Understanding User Types

ClearFeed classifies users into two groups:

* **Responders** (team members/agents)
  * Members of your own Slack workspace who handle support requests
  * Typically your internal support team
* **Non-Responders** (customers or employees)
  * Slack Connect members (from a different Slack workspace)
  * Guest users (single-channel or multi-channel)
  * Anyone submitting requests for support

#### Default Behavior by Account Type

The default behavior varies depending on your Product Edition:

**External Helpdesk Accounts (with Agent-based pricing):**

* Only Non-Responder (External User) messages create requests by default
* Internal User (Responder) messages do not create requests unless explicitly enabled
* This prevents internal team discussions from being converted into support requests

**Other Accounts:**

* Messages from both Responders and Non-Responders create requests by default
* You can modify Collection Settings to create requests only from Non-Responder messages

**Override:** To manually create a request from **any message** (including Responder messages or filtered messages), add a 📌 (`:pushpin:`) emoji reaction to the first message in the thread. This bypasses all filters and works across all Product Editions.

### AI Filtering <a href="#ai-filtering" id="ai-filtering"></a>

ClearFeed uses AI-powered filtering to automatically suppress request creation for messages that **don’t require support attention**. This helps reduce noise, avoid unnecessary tickets, and keep your triage channels clean while still ensuring that important messages are never missed.

ClearFeed’s classifier identifies common conversational patterns that typically do *not* need support action.\
Messages falling into these categories **will not** create a request by default:

* **Greetings:** “Good morning”, “Hi”, “Happy birthday”
* **Acknowledgments:** “Ok thanks”, “Got it”, “Cool”
* **Appreciation:** “Great work!”, “Thanks for helping out”, “Awesome folks”
* **Resolved Messages:** “This works now”, “This is solved”, “Got the answer, thanks”

These examples are illustrative, the AI understands variations and context, not fixed keywords.

#### Important Notes

* **Replies can still create requests -** If someone replies to a filtered message (e.g., a greeting or thank-you message), ClearFeed may create a request because the **reply could contain real support intent**.\
  see [How Replies Work](#how-replies-work) for details.
* **Filtered messages may be merged-** Filtered messages can be merged into adjacent messages from the same user to keep conversations clean. Merging does *not* affect request creation rules.
* **Filtering can be customized-** Teams communicate differently, so you can adjust filtering rules to match your environment. See the [**custom AI filtering guide**](/clearfeed-help-center/advanced-recipes/how-to-suppress-request-creation) for configuration options.

#### Auto-Priority (Part of AI Classification)

Alongside filtering, ClearFeed’s AI also analyzes incoming messages to determine urgency.

If the AI detects urgency patterns (e.g., “urgent,” “prod down,” “need immediate help”), it may automatically set the request priority to **High** even if not manually set or configured via Automations.

This ensures that critical issues surface quickly without relying on users to label urgency correctly.

### Message Merging

In customer support scenarios, users often send multiple messages in quick succession:

```
Customer: "Hi, I have a problem"
Customer: "My laptop won't connect"
Customer: "Can someone help?"
```

ClearFeed can merge these messages into a **single request** instead of creating three separate requests.

**Availability:**

* Message Merging is enabled only for the **External Helpdesk** Product Edition
* It is disabled for all other Product Editions and for Collections with Automatic Ticketing to external systems

Learn more about [Merging and Split](/clearfeed-help-center/clearfeed-helpdesk/merging-and-split). To change this behavior, contact [ClearFeed Support](mailto:support@clearfeed.ai).

### How Replies Work

Certain message types are **not** automatically treated as Requests:

* Messages from Responders (if configured to ignore them)
* Ignorable messages (filtered by AI)
* Announcement messages However, **Non-Responder replies** to these messages (unless ignorable) **are** converted into Requests.

However, **Non-Responder replies** to these messages (unless ignorable) **are** converted into Requests. This is why you may see behavior where:

* The **first message** in a thread is classified as **ignorable** → no Request is created yet, so no ticket prompt/File Ticket button appears.
* A **follow-up reply** in the same thread is *not ignorable* → ClearFeed converts the thread into a Request at that point, which then triggers ticket creation flows (including showing the **File Ticket** button if forms are enabled).

**Example:**

1. An announcement about a new feature is posted to 100 channels
2. No Requests are created from the announcement itself
3. A customer replies to one announcement: "How can I enable this new feature?"
4. ClearFeed creates a Request from that specific thread

**Customization Options:**

* This automatic reply detection can be disabled—contact [ClearFeed Support](mailto:support@clearfeed.ai) to configure
* You can customize ignorable detection prompts to match your team's communication style

### How Request Creation Works

Now that you understand the key concepts, here's what happens when someone posts a message in a monitored channel:

1. A user posts a message in a Slack channel monitored by ClearFeed
2. ClearFeed detects the message and identifies the user as either a **Responder** or **Non-Responder**
3. ClearFeed applies **AI Filtering** to determine if the message is ignorable
4. Based on your **Collection settings** and **account type**, ClearFeed determines whether to convert the message into a Request
5. If enabled, ClearFeed may **merge** the message with adjacent messages from the same user
6. Once converted, **Responders** can view the request—including its **ID**, **Status**, and other details—in the **Triage channel** or **ClearFeed Web App**

<figure><img src="/files/0Z3ndpqAjaZ5VjRJeZ75" alt="" width="563"><figcaption><p>Creating Requests and getting Replies</p></figcaption></figure>

## Ways to Create Requests

### Automatic Creation from Messages

By default, each Slack thread in a monitored channel becomes a separate Request based on the rules described in [How Request Creation Works](#how-request-creation-works) above.

{% hint style="info" %}
**Important:**\
Requests will only be created if the 'Ticketing' setting is enabled for the Collection. If 'Ticketing' is OFF for a Collection, messages in its channels will not be converted into requests. Be sure to check this setting if requests are not appearing as expected.
{% endhint %}

**When messages are processed:**

* ClearFeed only monitors **new messages** after a channel is added to a Collection
* Existing messages are not automatically converted into requests
* Messages may occasionally fail to load due to downtime

### Manual Request Creation <a href="#manual-request-creation" id="manual-request-creation"></a>

To manually create a request from an existing message or a message that was filtered out, **apply a 📌 (`:pushpin:`) emoji reaction** to the first message in the thread. This makes the request visible in the ClearFeed Web App and Triage Channels.

## Bot Whitelisting <a href="#bot-whitelisting" id="bot-whitelisting"></a>

By default, ClearFeed does not monitor messages from bots in a Slack workspace. Bot messages are generally posted on Slack by other Slack applications in the workspace and not by Slack users.

If you want to enable ClearFeed to monitor messages from a specific bot (such as workflow bots, integration bots, or webhooks), you need to whitelist the bot on ClearFeed.

### How to Whitelist Bots

1. Navigate to **Settings > Additional Settings** in the ClearFeed web app.
2. Find the **Bot Whitelisting** section.
3. ClearFeed automatically detects the bots that are available in your Slack workspace.
4. Select the bot(s) you want to whitelist from the dropdown list.
5. You can multi-select bots or whitelist all the bots you need.
6. Click **Save** to apply the changes.

### Whitelisting Slack Webhooks

If your use case requires ClearFeed to monitor messages posted using a Slack Webhook, please note that **every Slack Webhook has a different Application or Bot ID**. The ID corresponding to the Slack Webhook has to be whitelisted in ClearFeed.

<figure><img src="/files/z87C4bdASPy5nEJg2OQ0" alt=""><figcaption><p>Bot Whitelisting Settings</p></figcaption></figure>

#### How to Find Application Name for a Slack Webhook

Webhooks posting to Slack Channels are usually part of Slack Workflows. To whitelist a specific webhook, you need to find the corresponding Workflow and whitelist the Workflow's name:

1. Go to the **Workflows** section from your Slack Desktop.
2. Click the **"Workflows"** menu on the left sidebar.
3. Check the workflows listed—these are the ones ClearFeed shows in the whitelisting dropdown.
4. Find the Workflow containing your webhook from this list.
5. Use this workflow name when whitelisting in ClearFeed.

<figure><img src="/files/J7jV1neatM4weZ5czKjg" alt=""><figcaption><p>Slack Workflows Navigation</p></figcaption></figure>

## Advanced Configuration

### Send Messages as a User via API

When messages are sent to Slack via external systems using Slack APIs, they typically appear as being sent by the bot associated with the integration. This makes it difficult for your support team to identify the actual customer or user who raised the request.

ClearFeed supports sending messages from external systems to Slack while displaying them as if they are coming from actual users rather than a bot.

**How It Works:**

To process the message as originating from a specific user, pass additional metadata in the payload when using Slack's `chat.postMessage` API:

```json
{
  "channel": "C1234567890",
  "text": "Hello from an external system!",
  "event_type": "user_message",
  "event_payload": {
    "clearfeed": {
      "user_id": "external-1234",
      "name": "John Doe"
    }
  }
}
```

**Field Descriptions:**

| Field     | Description                                                                                                                  |
| --------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `user_id` | Unique identifier for the user. Use the same `user_id` across messages from the same sender to maintain consistent identity. |
| `name`    | Display name for the message sender that will appear in Slack.                                                               |

**Important Requirements:**

* This feature **only works with whitelisted bots** in ClearFeed
* The `user_id` must remain consistent for the same user across messages
* If metadata is missing, the message will appear as sent by the bot
* If the name changes for an existing `user_id`, ClearFeed will update the display name for future messages

## FAQs

1. **I added a channel to a Collection, but I don't see any requests. Why?**\
   **Answer:** ClearFeed only monitors **new messages** after a channel is added. Existing messages are not automatically converted. To create requests from older messages, apply a 📌 emoji reaction to the first message in the thread. See [Manual Request Creation](#manual-request-creation).
2. **Why isn't ClearFeed creating a request from my workflow message?**\
   **Answer:** Check the following:
   * The first line contains `#requester` followed by the requester variable (e.g., `#requester @John Doe`)
   * The message is posted in a channel monitored by ClearFeed (added to a Collection)
   * Workflow variables are correctly mapped in the message
   * The workflow bot has been whitelisted (Settings > Additional Settings > Bot Whitelisting)
3. **How does ClearFeed decide what name to show for a user in Slack?**\
   **Answer:** ClearFeed relies entirely on the user profile information that Slack returns for each message author.

   * If Slack provides a full profile for the user (name, title, etc.), ClearFeed shows that profile information in its UI.
   * If Slack does **not** return any profile fields for the user which is common for guests or users on personal email domains like `@gmail.com,` ClearFeed falls back to showing the user's email domain instead.

   This behavior is a limitation of the data available from Slack. To improve how names appear:

   * Ensure users have complete Slack profiles (name, title, etc.).
   * Where possible, avoid using guest accounts or personal email domains for users who should appear with full names/titles.
4. **Can I use workflows in private channels?**\
   **Answer:** Yes, as long as the ClearFeed bot has been added to the private channel and the channel is added to a Collection.
5. **Can I customize the form questions in workflows?**\
   **Answer:** Yes, you can add any questions relevant to your request process when creating the Slack Workflow. The collected answers can be included in the message body using workflow variables.
6. **Can I use the "Send Messages as a User" API feature with all whitelisted bots?**\
   **Answer:** Yes, any whitelisted bot that sends messages via the Slack API with the specified payload format can use this feature. The bot must be whitelisted in ClearFeed and have permission to post messages in the target channel.
7. **If I whitelist a bot for request creation in one ClearFeed account, will it also be whitelisted in other accounts on the same Slack workspace (including child accounts)?**\
   **Answer :** Yes. Bot whitelisting for request creation is effectively **workspace-wide** for any ClearFeed accounts that are connected to the **same Slack workspace**. If a bot is whitelisted in a child or parent ClearFeed account, that bot will be treated as whitelisted in **all** ClearFeed accounts connected to that Slack workspace. This means messages from that bot can create requests across those accounts, and there is currently no way to scope bot whitelisting to a single ClearFeed account only.


# From Triage Channel

You can proactively create requests in customer channels directly from your Triage Channel using the `/cf-start-thread` command. This allows your team to initiate conversations with customers without waiting for them to post a message first.

{% hint style="info" %}
The `/cf-start-thread` command is currently supported only for Slack-based Collections. It does **not** work for Microsoft Teams Collections, even when triggered from a Slack triage channel. If your triage channel is linked to a Teams Collection, the command will return an *“invalid arguments”* error.
{% endhint %}

## When to Use This Feature

Use the `/cf-start-thread` command to:

* **Proactively reach out to customers** with updates, notifications, or check-ins
* **Follow up on previous conversations** or verify issue resolution
* **Share important announcements** that require tracking as a request
* **Initiate support conversations** before customers ask for help
* **Create requests for scheduled activities** like maintenance windows or onboarding

## How to Create a Request from Triage Channel

### Step 1: Open the Command

In your Triage Channel, type `/cf-start-thread` in the message box and press **Enter**.

### Step 2: Select the Target Channel

A form will appear. From the dropdown menu:

1. Select the **Request Channel** where you want to send the message
2. This should be a channel that is already added to your Collection and monitored by ClearFeed

### Step 3: Write Your Message

In the message field:

1. Type the message you want to send to the customer channel
2. Format your message clearly and professionally, as customers will see it
3. You can use standard Slack formatting (bold, italics, lists, etc.)

### Step 4: Submit

Click **Submit** to send the message.

**What happens next:**

* Your message is posted to the selected Request Channel
* A new Request is automatically created in ClearFeed
* The request appears in your Triage Channel with all standard request details (ID, Status, etc.)
* Your team can track and respond to this request like any other

## Use Cases and Examples

### Example 1: Proactive Customer Check-in

**Scenario:** You notice a customer hasn't used your product in a while.

**Action:**

1. Use `/cf-start-thread` in the Triage Channel
2. Select the customer's channel (e.g., `#customer-acme-support`)
3. Message:

   ```
   Hi team! We noticed you haven't logged in recently. Is everything working well?
   Let us know if you need any assistance!
   ```

### Example 2: Confirming Issue Resolution

**Scenario:** You talked to a customer via DM or phone call and want to confirm the resolution in their channel.

**Action:**

1. Use `/cf-start-thread` in the Triage Channel
2. Select the customer channel
3. Message:

   ```
   Hi! We've resolved the issue you reported in ticket #12345.
   Could you please verify that everything is working as expected on your end?
   ```

## FAQs

1. **Can I use `/cf-start-thread` in a Request Channel?**\
   **Answer:** No, this command only works in Triage Channels. If you're already in a Request Channel, simply post a message directly.
2. **Will customers know I'm using a command to message them?**\
   **Answer:** No, customers will only see your message in their Request Channel. They won't see that you used the `/cf-start-thread` command.
3. **Can I edit or delete the message after sending?**\
   **Answer:** Yes, you can edit or delete the message in the Request Channel like any regular Slack message. However, the Request will remain in ClearFeed unless you explicitly close it.
4. **What if I select the wrong channel?**\
   **Answer:** If you realize immediately, you can delete the message from the Request Channel. If a conversation has already started, apologize in that channel and create a new request in the correct channel.
5. **Can I send messages to multiple channels at once?**\
   **Answer:** No, `/cf-start-thread` sends to one channel at a time. If you need to send messages to multiple channels simultaneously, use the [Announcements feature](/clearfeed-help-center/clearfeed-helpdesk/announcements).
6. **Does this count as a first response for SLA tracking?**\
   **Answer:** Since you're initiating the conversation, SLA tracking begins when the customer responds. Your proactive message doesn't count as a "first response" because there was no initial customer request.
7. **Can I attach files or images with `/cf-start-thread`?**\
   **Answer:** The `/cf-start-thread` command currently supports text messages only. If you need to share files or images, post them as a follow-up message in the thread after it's created.
8. **Will this create a ticket or just a request?**\
   **Answer:** By default, it creates a Request. If your Collection is configured to automatically create tickets, it will follow those settings. You can also manually convert it to a ticket later using the 🎫 emoji reaction.


# From ClearFeed WebApp

{% hint style="info" %}
This feature is only available if your account is on the **External Helpdesk** product edition.
{% endhint %}

In customer support, not every issue originates in Slack. Customers might reach out over email, mention problems during calls, or share feedback through other channels. Without a way to log these issues, support teams risk losing track of customer problems or duplicating work.

ClearFeed allows responders to **create requests directly from the web app** as part of the **External Helpdesk** edition. This ensures that all customer issues—whether they start in Slack or elsewhere—are consistently captured, visible to the right teams, and easy to act on.

## When to Use Web Dashboard Request Creation

Use the web dashboard to create requests when:

* **Customer contacted you outside Slack** - Via email, phone call, or other channels
* **Creating on behalf of customers** - Customer reported an issue but hasn't filed it yet
* **Logging offline conversations** - Issues discussed in meetings or calls need to be tracked
* **Proactive outreach** - You want to initiate a conversation with a customer in their channel

## How to Create a Request

### Step 1: Access Request Creation

* Log in to the **ClearFeed Web App**
* Click the **New** button in the top navigation
* Select **Request** from the dropdown

<figure><img src="/files/XnbwWq6emGuQWjUiDRBf" alt="" width="197"><figcaption><p>Click New → Request</p></figcaption></figure>

### Step 2: Fill Out Request Details

* **Request Channel** - Select the Slack channel where the request should be posted
* **Description** - Enter the issue or request details
* **Status** - Choose the initial status (e.g., Open, In Progress)
* **Priority** - Set the priority level
* **Assign** (Optional) - Assign the request to a specific responder

<figure><img src="/files/bMSVAAXhLu2T4JJlfkmO" alt="" width="449"><figcaption><p>Request creation form</p></figcaption></figure>

### Step 3: Submit

* Click **Create Request** to post it to the selected Slack channel

## What Happens Next

Once you create the request:

* The request is posted to the selected Slack channel
* Customers can see the request and reply directly in Slack
* The request appears in your Triage Channel for team visibility
* Responders can track and respond to the request like any other Slack-based request
* The request can be converted to a ticket later if needed (using emoji reactions or automatic settings)

## FAQs

1. **Can I create requests in Slack channels the customer isn't in?**\
   **Answer:** Yes, you can create requests in any monitored Slack channel. However, if the customer won't see the request in that channel, they won't be able to respond directly. Make sure you're posting in a channel where the customer is present.
2. **Can I edit request details after creation?**\
   **Answer:** Yes, you can edit request details from the ClearFeed web app or update the message directly in Slack. Changes to priority, status, and assignment can be made in the web app.
3. **Can I attach files when creating requests via the web dashboard?**\
   **Answer:** Currently, file attachments are not supported during initial request creation via the web dashboard. You can add files as follow-up messages in the Slack thread after the request is created.
4. **Is this feature available on all ClearFeed plans?**\
   **Answer:** No, creating requests from the web dashboard is only available on the **External Helpdesk** product edition. Check your account plan or contact ClearFeed support for more information.
5. **What's the difference between creating a request from the web app vs. posting directly in Slack?** **Answer:** Both methods create requests that are tracked in ClearFeed. Creating from the web app is useful when:
   * You're not currently in Slack
   * You want to set status, priority, and assignment immediately
   * You're logging an issue from another channel (phone, email, etc.)
6. **Can I create multiple requests at once?**\
   **Answer:** The web dashboard allows you to create one request at a time. If you need to create multiple requests, you'll need to repeat the process for each one.


# Creating or Linking Tickets

## Creating or Linking Tickets

This guide explains what tickets are in ClearFeed, the different types available, how to configure them, and the various methods for creating tickets.

### Understanding Requests vs. Tickets

Before working with tickets, it's important to understand the difference:

* **Requests** are internal queries tracked privately by your team (no customer-facing ID)
* **Tickets** are formal, customer-visible items with public IDs and status tracking

{% hint style="info" %}
**New to these concepts?** Read the detailed explanation in [Requests, Tickets and Tasks](/clearfeed-help-center/how-it-works/request-tickets-tasks) to understand how requests, tickets, and tasks work together in ClearFeed.
{% endhint %}

## Types of Tickets

ClearFeed supports two types of ticketing systems. Choose the one that fits your workflow:

### 1. ClearFeed Tickets

ClearFeed's native ticketing system managed entirely within the platform. **Key Features:**

* Native ticket IDs (e.g., CF-12345)
* Customer Portal or Employee Portal for self-service, depending on edition
* Email ticketing support
* Web Chat integration
* No external system required

#### Enabling ClearFeed Ticketing

{% hint style="info" %}
**Internal Helpdesk Product Edition:** ClearFeed ticketing is enabled for all Collections by default and cannot be changed.
{% endhint %}

To configure ClearFeed ticketing for a Collection:

1. Navigate to your desired **Collection**
2. Go to **Settings → Ticketing Settings**
3. Under **Ticketing Integration**, ensure **ClearFeed** is selected
4. Choose the **Trigger Mode**:
   * **Emoji Trigger** - A ticket is created when a specific emoji is added to a message
     * Select the emoji to be used (default: 🎫 `:ticket:`)
     * Choose who can trigger ticket creation:
       * **All** - Ticket created when emoji added by either requester or responder
       * **Responder** - Only responder emoji reactions trigger ticket creation
   * **Automatic Trigger** - A ticket is created automatically when a message meets predefined conditions (no emoji required)
5. Under **Forms**, specify whether:
   * **All Forms** should be shown while creating a ticket, or
   * Only **Specific Forms** should be shown

<figure><img src="/files/rZlgAGRb67stcgKEoRy3" alt="" width="563"><figcaption><p>ClearFeed Ticketing Settings</p></figcaption></figure>

#### Creating ClearFeed Tickets

**Manual Ticketing with Emoji:**

* A conversation is initiated in the request channel
* React to the first message using the 🎫 (`:ticket:`) emoji
* A ClearFeed ticket is created and requester sees ticket details in the thread

<figure><img src="/files/fbquLljSHDGH5dE7Ccya" alt="" width="563"><figcaption><p>Manually creating tickets with emoji</p></figcaption></figure>

**Automatic Ticketing:**

* Every new conversation (Slack thread) in the request channel is automatically converted into a ClearFeed ticket
* ClearFeed posts a message in the Slack thread sharing the ticket details
* No manual emoji reaction required

<figure><img src="/files/VAkuUlpXfqwT1JMvkrmG" alt="" width="563"><figcaption><p>Automatic ticket creation</p></figcaption></figure>

**Creating Tickets with Forms:**

* Once forms are set up, users see a **File Ticket** button
* Clicking the button prompts users to complete the form
* If multiple forms are configured, a dropdown appears to choose which form to fill

<figure><img src="/files/TN6BXG7FpDSj2xXGnfRx" alt="" width="515"><figcaption><p>Creating tickets with forms enabled</p></figcaption></figure>

### 2. External Tickets (Integrations)

Connect ClearFeed with your existing ticketing systems for bidirectional sync. **Supported Platforms:**

* Zendesk, Jira, Jira Service Management
* Intercom, Salesforce Service Cloud, Freshdesk
* ClickUp, HubSpot, Linear

**Key Features:**

* External ticket IDs (e.g., ZEN-12345, JIRA-456)
* Bidirectional sync between Slack and external system
* Preserves your existing workflows
* Custom field mappings

**Learn More:** [Integration Setup Guide](/clearfeed-help-center/integrations/task-and-ticketing-systems)

## Configuring Ticketing

Before you can create tickets, you need to configure how ticketing works in ClearFeed.

### Collection Settings

Collections define which Slack channels are monitored and how tickets are created. Configure the following at the Collection level:

**Ticketing Mode:**

* **Manual** - Use emoji reactions (🎫) or commands to create tickets
* **Automatic** - Every new conversation automatically becomes a ticket

**Additional Settings:**

* **Forms** - Require forms when tickets are created
* **Emoji Rules** - Customize which emojis trigger ticket update
* **Request Channels** - Define which Slack channels are monitored
* **Set a default form -** You can choose a form that will be used when creating tickets from *new messages* in the request channel.
  * If the selected default form contains **non-hidden fields**, ClearFeed will show a warning modal informing the user that they must fill in the visible fields before the ticket can be created.
  * If the default form contains **only hidden fields**, the ticket is created **automatically** without prompting the user.
  * This setting applies **only** to automatic ticket creation from new messages.
  * When a user manually creates a ticket using **/cf-file** or the **Message Bar**, they will continue to see **all forms** configured under *Forms*, regardless of the default form setting.

**Configure Collections:** [Collections Setup Guide](/clearfeed-help-center/clearfeed-helpdesk/collections)

### Integration Setup (For External Tickets)

If using external ticketing systems, you'll need to: **Connect your platform** - Link ClearFeed to Zendesk, Jira, etc.

**Setup Instructions:** Each integration has specific setup steps. Visit the integration-specific guides:

* [Zendesk Integration](/clearfeed-help-center/integrations/zendesk)
* [Jira Integration](/clearfeed-help-center/integrations/jira)
* [Intercom Integration](/clearfeed-help-center/integrations/intercom)
* [Freshdesk Integration](/clearfeed-help-center/integrations/freshdesk)
* [Salesforce Integration](/clearfeed-help-center/integrations/salesforce)
* [All Integrations](/clearfeed-help-center/integrations/task-and-ticketing-systems)

## Methods for Creating Tickets

Once ticketing is configured, there are multiple ways to create tickets depending on your workflow needs.

{% hint style="info" %}
**Note:** The methods below apply to **ClearFeed Tickets**. For External Tickets (Zendesk, Jira, Intercom, etc.), refer to the integration-specific documentation as setup and ticket creation may differ.
{% endhint %}

### From Slack Channels

Create tickets from conversations in your monitored Request Channels.

**How it works:**

* React with 🎫 (`:ticket:`) emoji to convert a message to a ticket (Manual mode)
* Every new conversation automatically becomes a ticket (Automatic mode)

[**View Full Guide**](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/slack-channels)

### From Email

Customers send emails to create tickets.

**How it works:**

* ClearFeed provides a default support email address
* Or configure custom email (e.g., <support@yourdomain.com>)
* Each email creates a ticket automatically

[**View Full Guide**](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/email)

### From WebChat Widget

Embed a chat widget on your website for customer conversations.

**How it works:**

* Install ClearFeed chat widget on your website
* Customers initiate chat conversations
* Each conversation creates a ticket

[**View Full Guide**](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/web-chat)

### From Portal

Self-service portal where customers or employees can create and track tickets, depending on your product edition.

**How it works:**

* External Helpdesk accounts use **Customer Portal**
* Internal Helpdesk accounts use **Employee Portal**
* Users submit ticket requests via web forms
* Users track and reply to tickets from the web interface

[**View Full Guide**](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/portal)

### From WebApp

ClearFeed allows responders to create tickets directly from the WebApp as part of the External Helpdesk edition.

**How it works:**

* Log into ClearFeed web app
* Use "New Request" button
* Fill out details and submit

[**View Full Guide**](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/webapp)

### Using API

Programmatically create tickets using ClearFeed API.

**How it works:**

* Use ClearFeed REST API endpoints
* Send ticket data via API calls
* Automate ticket creation from external systems

[**View Full Guide**](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/api)

## Recommended Setup Flow

Follow this sequence to set up ticketing in ClearFeed:

#### Step 1: Choose Your Ticket Type

Decide whether to use **ClearFeed Tickets** (built-in) or **External Tickets** (integrations).

#### Step 2: Configure Your Collection

* Set up your Collection with Request Channels
* Choose automatic vs manual ticketing mode
* Configure forms if needed [Collections Setup Guide](/clearfeed-help-center/clearfeed-helpdesk/collections)

#### Step 3: Enable Creation Methods

Choose and enable the ticket creation methods your team and customers need:

* **Start simple** - Slack Channels and Shortcuts work well for most teams
* **Add channels** - Enable Email, Web Chat, or Portal as needed
* **Automate** - Use API for programmatic creation

#### Step 4: Test the Workflow

* Create test tickets using different methods
* Verify ticket IDs, statuses, and sync behavior
* Train your team on the available options

{% hint style="info" %}
**Note:** For External Tickets (Zendesk, Jira, Intercom, etc.), refer to the [integration-specific documentation](/clearfeed-help-center/integrations/task-and-ticketing-systems).
{% endhint %}

## FAQs

1. **Can a bot reaction trigger ticket creation in ClearFeed?**\
   **Answer:** Yes — if **no user input is required**, bot reactions can successfully trigger ticket creation.
2. **What happens if the ticket form requires user input?**\
   **Answer:** ClearFeed attempts to send an **ephemeral message** to the reacting user. Since bots cannot view ephemerals, the ticket filing fails silently.
3. **How can I ensure bot-triggered tickets work?**\
   **Answer:** Make sure:
   1. The associated form requires **no user input** (all required fields have **default values**)
   2. Optionally, set a **default requester email** in the form to bypass missing user identity issues
4. **Do bot reactions work only for whitelisted bots?**\
   **Answer:** No — **whitelisting is not required**. Bot reactions are honored regardless of whitelist status.
5. **Can I specify a form to use for bot-based ticket creation?**\
   **Answer:** No, the system uses the default form assigned to the Collection.
6. **What's the difference between ClearFeed Tickets and External Tickets?**\
   **Answer:**
   * **ClearFeed Tickets** - Native tickets managed within ClearFeed (CF-12345)
   * **External Tickets** - Tickets synced with external systems like Zendesk, Jira, etc.
7. **Can I use both ClearFeed Tickets and External Tickets?**\
   **Answer:** No, each Collection can only use one ticketing system at a time. You can have different Collections using different systems.


# Slack Channels

{% hint style="info" %}
**Prerequisites:** Before creating tickets from Slack channels, you must first [create a Collection](/clearfeed-help-center/clearfeed-helpdesk/collections) and [add channel(s)](/clearfeed-help-center/sources/manage-request-channels) to it.
{% endhint %}

This guide explains how to create tickets from messages in Slack channels. Tickets are customer-visible items with public IDs and status tracking, unlike requests which are tracked privately by your team.

{% hint style="info" %}
**Understanding Requests vs. Tickets:** Requests are internal queries tracked privately (no customer-facing ID), while Tickets are formal items with public IDs visible to customers. Learn more about [Requests, Tickets and Tasks](/clearfeed-help-center/how-it-works/request-tickets-tasks).
{% endhint %}

## How Ticket Creation Works

When ClearFeed monitors a Slack channel, messages first become **Requests**. These requests can then be converted to **Tickets** either automatically or manually.

**The Flow:**

1. A user posts a message in a monitored Slack channel
2. ClearFeed creates a **Request** from the message
3. Based on your **Collection settings**, the request is converted to a **Ticket**
4. Once a ticket is created, customers see the **Ticket ID** and **Status** posted in the thread

<figure><img src="/files/0Z3ndpqAjaZ5VjRJeZ75" alt="" width="563"><figcaption><p>Creating Tickets and Getting Replies</p></figcaption></figure>

{% hint style="info" %}
**Which messages become tickets?** Not all messages create requests/tickets. Behavior depends on user type, AI filtering, and Collection settings. Learn more: [How Request Creation Works](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels#which-messages-create-requests)
{% endhint %}

## Configuration

Before creating tickets, configure your Collection settings.

{% hint style="info" %}
Collections can be configured with a Default Form for ticket creation from Slack channel messages. This works with Emoji and Automatic ticketing to use the configured default form.\
It allows ticket creation using a pre-configured form without user interaction for Slack Channel Messages and allows the use of /cf-file or message bar for sophisticated requests to use the forms mapped to the collection.
{% endhint %}

### Ticketing Mode

* **Manual Ticketing** - Responders use emoji reactions (🎫) to convert requests to tickets
* **Automatic Ticketing** - Every request automatically becomes a ticket

### Additional Settings

* **Forms** - Require forms to be filled when tickets are created
* **Emoji Rules** - Customize which emoji triggers ticket creation (default: 🎫)
* **Integration** - Choose between ClearFeed Tickets or External Tickets (Zendesk, Jira, etc.)

**Learn More:** [Collections Setup Guide](/clearfeed-help-center/clearfeed-helpdesk/collections)

## Creating Tickets with Forms <a href="#creating-tickets-with-forms" id="creating-tickets-with-forms"></a>

* Once the forms are set up, when users use any **Ticket creation method, a "File Ticket"** button is shown. Clicking this button will prompt users to complete ticket creation.
* If multiple forms are configured, users will see a drop-down to choose which form to use for the ticket.
* Only the forms selected in the Collection settings are available
  * when you use specific forms, the forms will appear in the same order in the form picker as they are arranged in the collection settings.

<figure><img src="/files/hW4QrxUG8apGjLmdRL69" alt="" width="375"><figcaption><p>Form sequence while selecting Specific forms in Collection Settings</p></figcaption></figure>

<figure><img src="/files/OZ3Ojw1JatXncU6SWMBl" alt="" width="365"><figcaption><p>Forms shown on Slack</p></figcaption></figure>

* If your form has **required fields that are visible and do not have default values**, ClearFeed **cannot auto-create** the ticket and would show the **Select a form → File Ticket** prompt on Slack so that a user can fill those fields.
* If all required fields are either **hidden with default values** or **editable only by responders**, ClearFeed can auto-create tickets without showing a form to the requester
* The File Ticket button appears **after a Request is created**. If the first message in a thread is classified as ignorable and no Request is created, you may only see the File Ticket button when a later, non-ignorable reply converts the thread into a Request.

Without inputs from the users, no ticket is created. To prevent missed requests, ClearFeed sends **automated reminder messages** nudging users to complete ticket creation. The default reminder delay is **60 minutes**. To customize the delay or message, or to disable reminders, please contact **ClearFeed Support**.

<figure><img src="https://docs.clearfeed.ai/clearfeed-help-center/~gitbook/image?url=https%3A%2F%2F1159203866-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FKXDOwIQkf9zr2MvIxdC0%252Fuploads%252FUAzGOcUklDrlurYgItog%252Fimage.png%3Falt%3Dmedia%26token%3Dca1e7714-ee1e-41b4-b528-161edc38b1dc&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=797b060&#x26;sv=2" alt=""><figcaption><p>Creating Tickets with Forms enabled</p></figcaption></figure>

## Methods for Creating Tickets

### Automatic Ticket Creation

Enable **Automatic Ticketing** in Collection settings to convert every new request to a ticket automatically.

**Configuration:** Collection Settings → Ticketing Settings → Enable "Automatic Ticketing"

### Manual Ticket Creation with Emoji

With **Manual Ticketing** enabled, add a 🎫 emoji reaction to the first message in a thread to create a ticket.

**Configuration:** Collection Settings →Ticketing Settings → Enable "Manual Ticketing"

### Using /cf-file Command

1. Go to any channel monitored by ClearFeed
2. Type in **/cf-file** command and hit enter
3. Choose the applicable form for ticket creation
4. Fill out the form, and we will share the ticket details on the same channel

<figure><img src="/files/n0uvrHwkVhUyfr2s817b" alt="" width="563"><figcaption><p>Creating a ticket using /cf-file command</p></figcaption></figure>

### Using Message Bar

When the action "File Ticket" in Message Bar settings is enabled for a Collection, a “Create Ticket” button appears just below the latest message in the channel (and moves down as new messages arrive). Clicking this button opens the ticket modal in Slack and displays the forms configured for that Collection. Requesters can choose the appropriate form, fill in the required details, and submit to create a ticket. Learn more about setup [here](/clearfeed-help-center/clearfeed-helpdesk/message-bar).

## Manual Ticket Creation from Existing Messages

ClearFeed doesn't load old messages when a channel is added. Manually create tickets using emoji reactions:

* **🎫** Creates a ticket (and request simultaneously)
* **📌** Creates a request only (convert to ticket later)

{% hint style="info" %}
If a custom emoji is configured for ticket creation, use that emoji instead of 🎫.
{% endhint %}

## FAQs

1. **I added a channel but don't see any tickets. Why?**\
   **Answer:** Only **new messages** create requests/tickets after a channel is added. Convert older messages manually using 🎫 or 📌 emoji.
2. **Auto Ticketing is enabled but tickets aren't being created. Why?**\
   **Answer:** Common reasons:
   * **Forms not filled** - Users didn't complete required fields. Manually create tickets using 🎫 emoji
   * **Messages merged** - Multiple messages merged into one request. Use Split in Triage channel
   * **AI filtering** - Messages filtered out. See [AI Filtering](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels#ai-filtering)
3. **What's the difference between ClearFeed Tickets and External Tickets?**\
   **Answer:**

   * **ClearFeed Tickets** - Native tickets with IDs like CF-12345
   * **External Tickets** - Synced with external systems (Zendesk, Jira, etc.)

   Learn more: [Types of Tickets](/clearfeed-help-center/how-it-works/creating-or-linking-tickets#types-of-tickets)
4. **Why isn't my workflow creating tickets?**\
   **Answer:** Check:
   * First line has `#requester` followed by requester variable
   * Message posted in monitored channel (added to Collection)
   * Workflow variables correctly mapped
   * Workflow bot whitelisted in Settings > Additional Settings
5. **Can I use workflows in private channels?**\
   **Answer:** Yes, if ClearFeed bot is added to the private channel and channel is in a Collection.
6. **Can I customize workflow form questions?**\
   **Answer:** Yes, add any questions relevant to your process. Use workflow variables to pass answers into the message.


# Email

Learn how to create ClearFeed tickets via email

## From Email

ClearFeed allows customers to create tickets by sending emails to your support email address. This guide explains how email-based ticket creation works in ClearFeed.

{% hint style="info" %}
**ClearFeed Tickets Only:** This method is only available for **ClearFeed's native ticketing system**. For external ticketing systems (Zendesk, Jira, etc.), refer to your [integration-specific documentation](/clearfeed-help-center/integrations/task-and-ticketing-systems).
{% endhint %}

## How Email Ticketing Works

When a customer sends an email to your support address, ClearFeed automatically:

1. **Creates a ticket** from the email
2. **Posts the email content** to your configured Triage Slack channel as a new request
3. **Syncs replies** - Team replies in the Slack thread are sent back to the customer via email
4. **Maintains the conversation** - The entire email thread is synchronized bidirectionally

{% hint style="info" %}
**Note:**\
For email tickets, ClearFeed includes the last 5 messages from the email thread in all outgoing emails. This ensures recipients have sufficient context if they were recently added as a CC or cannot easily locate the earlier messages in their inbox.
{% endhint %}

<figure><img src="/files/B2IMguAl4L8vlZaA8Z2a" alt="" width="563"><figcaption><p>Email to ticket workflow</p></figcaption></figure>

**Benefits:**

* Customers can use familiar email to create tickets
* Your team manages everything in Slack
* No context switching between email and Slack
* Full conversation history maintained

### Setup Email Ticketing

To enable email ticketing for your ClearFeed instance:

1. Navigate to your **Collection Settings**
2. Configure your support email address:
   * Use the **ClearFeed-provided email address**, or
   * Configure your **custom domain email** (e.g., <support@yourdomain.com>)
3. Select which **Triage Channel** should receive email tickets

{% hint style="info" %}
**For detailed setup instructions**, including how to configure custom domain emails and advanced settings, see the [Email Setup Guide](/clearfeed-help-center/sources/email).
{% endhint %}

### Creating Tickets via Email

#### For Customers

Customers simply send an email to your support address:

1. Customer composes an email to your support address (e.g., <support@yourcompany.com>)
2. Writes their issue/question in the email body
3. Sends the email
4. Receives an automatic confirmation with the ticket ID
5. Can reply to the email thread to add updates

**What the customer sees:**

* Email confirmation with ticket ID (e.g., CF-12345)
* Email updates when your team responds
* Full conversation history in their email client

#### For Responders

When an email arrives:

1. A new request/ticket appears in your **Triage Slack channel**
2. The email content and any attachments are posted as a Slack message
3. Team members can view and respond directly in the Slack thread
4. Replies are automatically sent back to the customer via email

**Replying to customers:**

* Simply reply in the Slack thread
* Your message is sent as an email reply to the customer
* Attachments added in Slack are included in the email
* Thread history is maintained

### Filing Tickets on Behalf of Customers

Sometimes responders need to create tickets on behalf of customers (e.g., from a phone call or direct email to a team member).

#### Using the #requester Tag

When forwarding an email or filing on behalf of someone, add this line at the **top of the email body**:

```
#requester customer@example.com
```

Replace `customer@example.com` with the actual customer's email address.

**What happens:**

* The specified email becomes the **requester**
* The agent sending the email is automatically added to **CC**
* The customer receives a **notification email** that a ticket was filed on their behalf
* This notification starts the email thread for that ticket

**Example:**

```
#requester john.doe@customer.com

Hi,

The customer reported an issue with their laptop not connecting to WiFi.
Priority: High

Thanks,
Support Team
```

### Alternative Method: Email Forwarding to Slack

You can also create tickets by [forwarding emails directly to a Slack channel](https://slack.com/intl/en-in/help/articles/206819278-Send-emails-to-Slack).

**How it works:**

1. Forward an email to your Slack channel's email address
2. The email content and attachments appear as a Slack message
3. If the channel is monitored by ClearFeed, a request is created
4. The email becomes a request for internal tracking

{% hint style="warning" %}
**Important:** Replies made in the Slack thread for requests created via email forwarding **will not** be synced back to the original email sender. This method is for bringing email content into Slack for internal discussion only, not for managing email conversations with customers.
{% endhint %}

**Use this method for:**

* Internal tracking of forwarded emails
* Sharing email threads with your team in Slack
* Converting emails to internal requests without customer visibility

**Do NOT use this method for:**

* Active customer conversations requiring email replies
* Tickets that need bidirectional email sync

### Email Ticket Features

#### Attachments

* Customers can include attachments in their emails
* Attachments are automatically posted to the Slack thread
* Responders can add attachments in Slack replies
* Attachments in Slack replies are included in email responses to customers

#### Reply Instructions in Outgoing Emails

ClearFeed adds a short instruction like **"Reply above this line"** to outgoing email messages.

* This line is an intentional safeguard to ensure that customer replies are captured correctly.
* ClearFeed currently **cannot process inline replies** (where users type responses within or below the quoted email history).
* The instruction helps guide users to reply in a way that ClearFeed can reliably parse and sync back to Slack.

Because of this, the text "Reply above this line" **cannot be removed**.

#### Threading

* Email threads are maintained as Slack threads
* Multiple back-and-forth exchanges stay organized
* Full conversation history visible in both email and Slack

#### Notifications

* Customers receive email notifications when tickets are updated
* Responders receive Slack notifications for new emails and replies
* All participants stay informed automatically

#### Adding CC Recipients to Email Tickets <a href="#adding-cc-recipients-to-email-tickets" id="adding-cc-recipients-to-email-tickets"></a>

You can add CC recipients to ongoing email ticket conversations from both the **Slack triage channel** and the **ClearFeed WebApp**.

**From the Slack triage channel:**

* Open the ticket thread in the configured triage channel
* Click the **Edit Ticket** button on the ticket message
* Use the CC field in the form to add or update CC recipients for that email ticket

**From the ClearFeed WebApp:**

* Open the ticket from the WebApp
* Expand **Email Details** from the right panel
* Click on the **Add Cc** button to add to the CC list

<figure><img src="/files/D0CEVdhSJ57TpDaFb471" alt="" width="300"><figcaption><p>Add CC recipients from the ClearFeed WebApp</p></figcaption></figure>

### FAQs

1. **Can I customize the look or layout of response emails sent from ClearFeed?**\
   **Answer:** No, currently ClearFeed does not support customization of the email template layout. However, you can set up email signatures in ClearFeed settings to include branding or specific information.
2. **Is there a way to set up custom email templates for responses?**\
   **Answer:** While ClearFeed does not have built-in email templates, you can:
   * Set up **email signatures** for outgoing emails in ClearFeed settings
   * Use **Quick Replies** in Slack for common responses that will be sent via email
3. **Can I use my existing support email address?**\
   **Answer:** Yes, you can configure ClearFeed to use your custom domain email address (e.g., <support@yourcompany.com>) instead of the ClearFeed-provided address.
4. **What happens if a customer replies to an email ticket?**\
   **Answer:** Customer replies to email tickets are automatically posted to the corresponding Slack thread, allowing your team to continue the conversation seamlessly.
5. **Can I create email tickets manually from the web app?**\
   **Answer:** Yes, you can create email tickets from the ClearFeed web dashboard. See [Creating Tickets from Web Dashboard](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/webapp) for details.


# Web Chat

Learn how to create ClearFeed tickets via web chat widget

ClearFeed allows customers to create tickets by initiating conversations through a chat widget embedded on your website. This guide explains how web chat-based ticket creation works in ClearFeed.

{% hint style="info" %}
**ClearFeed Tickets Only:** This method is only available for **ClearFeed's native ticketing system**. For external ticketing systems (Zendesk, Jira, etc.), refer to your [integration-specific documentation](https://github.com/clearfeed/new-docs/blob/main/how-it-works/creating-or-linking-tickets/integrations/task-and-ticketing-systems.md).
{% endhint %}

## How Web Chat Ticketing Works

When a customer initiates a chat on your website, ClearFeed automatically:

1. **Creates a ticket** from the conversation
2. **Posts the chat messages** to your configured Triage Slack channel
3. **Syncs replies bidirectionally** - Team replies in Slack appear in the chat widget in real-time
4. **Sends email notifications** - If the customer goes offline, responses are sent via email
5. **Maintains conversation history** - Customers can view and reinitiate previous conversations

**Benefits:**

* Customers get instant support without leaving your website
* Your team manages everything in Slack
* Real-time bidirectional communication
* Automatic fallback to email for offline customers
* Full conversation history maintained

## Prerequisites

{% hint style="warning" %}
**Email Setup Required:** Web Chat requires email integration to be configured first, as email is used to notify customers when they go offline. Set up email before configuring web chat.
{% endhint %}

**Setup Steps:**

1. [Configure email integration](/clearfeed-help-center/sources/email) first
2. Then [set up the web chat widget](/clearfeed-help-center/sources/web-chat)

## Creating Tickets via Web Chat

### For Customers

Customers create tickets by using the chat widget on your website:

1. Customer clicks the **chat widget icon** on your website
2. Types their message or question
3. Sends the message
4. A ticket is automatically created in ClearFeed
5. Customer receives responses in real-time in the chat widget
6. Can view previous conversations and reinitiate them

**What the customer sees:**

* Real-time responses from your team
* Conversation history for reference
* Email notifications if they go offline
* Seamless chat experience without leaving your site

### For Responders

When a customer initiates a chat:

1. A new ticket appears in your **Triage Slack channel**
2. The chat message is posted as a new request
3. Team members can respond directly in the Slack thread
4. Responses are instantly sent to the customer via the chat widget
5. If customer goes offline, responses are automatically sent via email

**Responding to chat tickets:**

* Reply in the Slack thread - customer sees it in real-time
* Add internal notes for team collaboration
* Convert chat to tasks if needed
* Full conversation context available

## Email Notification Behavior

Web chat includes intelligent email notifications to ensure customers don't miss messages:

### When Customer is Offline

* Agent replies are **immediately sent via email**
* Email includes the full response
* Customer can reply via email to continue the conversation

### When Customer is Online

* ClearFeed waits **15 minutes** before sending email
* If customer replies during this period, **email is not sent**
* If customer doesn't respond within 15 minutes, a **consolidated email** with agent replies and a link to the conversation is sent

{% hint style="info" %}
Note:

* The default waiting period is **15 minutes**. To change this duration, contact the [ClearFeed Support team](mailto:support@clearfeed.ai).
* By default, all outgoing emails are sent from custom email address configured in your account.
  * Emails sent using the custom email address will not be threaded in the recipient’s inbox.
  * Each outgoing email always includes the last 5 messages from the conversation as context.
    {% endhint %}

## FAQs

1. **What happens if the customer closes the chat?**

   **Answer:** The conversation is saved and they can reinitiate it later. If an agent responds while they're offline, the response is sent via email.
2. **Can multiple agents respond to the same chat?**

   **Answer:** Yes, all agents with access to the Triage Channel can see and respond to chat tickets. We recommend coordinating to avoid duplicate responses.
3. **How do customers access their previous chats?**

   **Answer:** When they open the chat widget, they see a list of their previous conversations and can click to reinitiate any of them.
4. **Can I set operating hours for the chat widget?**

   **Answer:** Yes, you can configure operating hours in the Web Chat settings. Outside these hours, the widget can display a custom message or hide entirely.
5. **How is the 15-minute email delay customizable?**

   **Answer:** Contact [ClearFeed Support](mailto:support@clearfeed.ai) to adjust the waiting period before sending consolidated emails to online customers.


# ClearFeed WebApp

{% hint style="info" %}
This feature is only available if your account is on the **External Helpdesk** product edition.
{% endhint %}

ClearFeed allows responders to **create tickets directly from the web app** as part of the **External Helpdesk** edition. This ensures that all customer issues—whether they start in Slack or elsewhere—are consistently captured, visible to the right teams, and easy to act on.

## Create Ticket via Email

Choose this method when you need to **create a ticket on behalf of a customer who isn't active in Slack**.

* The customer's preferred communication channel is email, not Slack
* The customer doesn't have Slack access
* You want to log an issue from a phone call or email conversation
* The customer expects email updates rather than Slack notifications

### Steps to Create

**1. Access Ticket Creation**

* Log in to the **ClearFeed Web App**
* Click the **New** button at the bottom on Inbox
* Select **Request** from the dropdown

**2. Choose Creation Method**

* Select **Create Ticket via Email**

**3. Fill Out Ticket Details**

* **Customer Email** - Enter the email address of the customer on whose behalf the ticket is being created
* **Subject** - Provide a subject line (this will be used as the email subject sent to the customer)
* **Reply-To Email Address** - Enter the email address where customer replies should be routed. The ticket will be associated with the Collection based on this email
* **Description** - Enter the issue or ticket details
* **Status** - Choose the initial status
* **Priority** - Set the priority level
* **Assign** (Optional) - Assign the ticket to a specific responder

<figure><img src="/files/xBMDwhM2yVhFYEPeVr67" alt="" width="446"><figcaption><p>Email ticket creation form</p></figcaption></figure>

**4. Submit**

* Click **Create Ticket** to send the email and create the ticket

### What Happens Next

Once you create the ticket:

* An email is sent to the customer with the ticket details
* The customer receives the ticket subject and description via email
* The customer can reply to the email to add updates or comments
* Replies are automatically routed to the Collection based on the Reply-To email address
* The ticket appears in ClearFeed for your team to track and manage

{% hint style="info" %}
**Note:**

By default, outgoing emails are sent from your configured custom email address and will not be threaded in the recipient’s inbox. Each outgoing email always includes the last 5 messages from the conversation as context.
{% endhint %}

## FAQs

1. **Can I attach files when creating tickets via the web dashboard?** **Answer:** Currently, file attachments are not supported during initial ticket creation via the web dashboard. You can add files as follow-up messages in Slack or include links to files in the description field.


# API

Learn how to create ClearFeed tickets programmatically using the API

ClearFeed provides REST API endpoints to create and manage tickets programmatically. This allows you to integrate ClearFeed ticketing into your existing tools, workflows, and automation systems.

{% hint style="info" %}
**ClearFeed Tickets Only:** This method is only available for **ClearFeed's native ticketing system**. For external ticketing systems (Zendesk, Jira, etc.), use their native APIs or refer to [integration-specific documentation](/clearfeed-help-center/integrations/task-and-ticketing-systems).
{% endhint %}

## When to Use the API

Use the ClearFeed API to create tickets when:

* **Integrating with internal tools** - Connect your custom applications to ClearFeed
* **Automating ticket creation** - Create tickets from monitoring systems, webhooks, or scheduled jobs
* **Bulk operations** - Create or update multiple tickets programmatically
* **Custom workflows** - Build custom ticketing flows for your specific needs
* **Third-party integrations** - Connect services that don't have native ClearFeed integration

## Setup API Collection

Before using the API, you need to create an **API Collection** to manage API-based tickets.

### Step 1: Create API Collection

1. Go to **Collections** → Click **Add New Collection**
2. Select **API Collection**
3. Configure the Collection settings:
   * **Name** - Give your API Collection a descriptive name
   * **Add Responders** - Select users who will respond to these tickets
   * **Select Request Channel** - Choose the Slack channel where API tickets will be posted
     * For private channels, follow the [channel management guide](/clearfeed-help-center/sources/manage-request-channels)
   * **(Optional) Associate Triage Channel** - Link or create a triage channel for team visibility
     * Learn more: [Triage Channel Setup](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup)
4. **Enable Workflows** (Optional) - Set up alerts for unattended tickets
   * Learn more: [Workflows Guide](/clearfeed-help-center/clearfeed-helpdesk/workflows)

### Step 2: Get API Credentials

1. Navigate to **Settings → Developer Settings**
2. Generate or copy your **Personal Access Token**
3. Use a **Read & Write** token for ticket creation and other API calls that modify ClearFeed data. Store the token securely. **Learn More:** [Developer Settings](/clearfeed-help-center/account-setup/developer-settings#token-scopes)

## Creating Tickets via API

### API Endpoint

Use the **Create Request API** endpoint to create new tickets:

```
POST https://api.clearfeed.app/v1/rest/requests
```

**API Documentation:** [Create Request API Reference](https://docs.clearfeed.ai/api/reference/api-reference/requests#create-request)

### Request Format

**Headers:**

```
Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN
Content-Type: application/json
```

**Body:**

```json
{
  "collection_id": "col_abc123",
  "title": "API ticket title",
  "description": "Detailed description of the issue",
  "priority": "high",
  "requester_email": "customer@example.com",
  "custom_fields": {
    "environment": "production",
    "severity": "critical"
  }
}
```

**Required Fields:**

* `collection_id` - The ID of your API Collection
* `title` - Ticket title/subject
* `description` - Detailed description of the issue

**Optional Fields:**

* `priority` - Ticket priority (low, medium, high, urgent)
* `requester_email` - Email of the person requesting support
* `assignee_id` - User ID to assign the ticket to
* `custom_fields` - Additional metadata as key-value pairs
* `tags` - Array of tags for categorization

### Example: Create Ticket with cURL

```bash
curl -X POST https://api.clearfeed.app/v1/rest/requests \
  -H "Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "collection_id": "col_abc123",
    "title": "Production API Error - 500 responses",
    "description": "Users are experiencing 500 errors when accessing the /api/orders endpoint. Started approximately 30 minutes ago.",
    "priority": "urgent",
    "requester_email": "ops@example.com",
    "custom_fields": {
      "environment": "production",
      "service": "orders-api",
      "error_rate": "25%"
    }
  }'
```

### Example: Create Ticket with Python

```python
import requests

url = "https://api.clearfeed.app/v1/rest/requests"
headers = {
    "Authorization": "Bearer YOUR_PERSONAL_ACCESS_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "collection_id": "col_abc123",
    "title": "Production API Error - 500 responses",
    "description": "Users are experiencing 500 errors when accessing the /api/orders endpoint.",
    "priority": "urgent",
    "requester_email": "ops@example.com",
    "custom_fields": {
        "environment": "production",
        "service": "orders-api",
        "error_rate": "25%"
    }
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
```

### Response

Successful ticket creation returns:

```json
{
  "id": "req_xyz789",
  "ticket_id": "CF-12345",
  "collection_id": "col_abc123",
  "title": "Production API Error - 500 responses",
  "status": "open",
  "priority": "urgent",
  "created_at": "2025-01-15T10:30:00Z",
  "slack_thread_url": "https://yourworkspace.slack.com/archives/C123/p1234567890"
}
```

## What Happens After Creating a Ticket

Once you create a ticket via API:

1. **Ticket is posted to Slack** - A message appears in the configured Request Channel
2. **Team notification** - Responders receive Slack notifications
3. **Ticket ID assigned** - A unique ClearFeed ticket ID is generated (e.g., CF-12345)
4. **Tracking begins** - The ticket is tracked in the ClearFeed system
5. **Team can respond** - Responders reply in the Slack thread to manage the ticket

## Managing Tickets via API

Beyond creating tickets, the ClearFeed API supports:

* **Update tickets** - Modify status, priority, assignee
* **Get ticket details** - Retrieve ticket information
* **Add comments** - Post updates to tickets programmatically
* **Search tickets** - Query tickets by various criteria
* **Close tickets** - Mark tickets as resolved

**Full API Documentation:** [ClearFeed API Reference](https://docs.clearfeed.ai/api/reference)

## FAQs

1. **How do I get my API credentials?**\
   **Answer:** Navigate to **Settings → Developer Settings** in the ClearFeed web app to generate your Personal Access Token. Use a read/read \&write token for creating or updating tickets.
2. **Is there a rate limit for API requests?**\
   **Answer:** Yes, API rate limits apply. Refer to the [API Documentation](https://docs.clearfeed.ai/api/reference) for current rate limits and best practices.
3. **Can I create tickets in multiple Collections using the same token?**\
   **Answer:** Yes, if your Personal Access Token has read/write access and your user has access to those Collections. Specify different `collection_id` values to create tickets in different Collections.
4. **How do I specify who the ticket is assigned to?**\
   **Answer:** Include the `assignee_id` field in your API request with the user's ID. You can get user IDs from the ClearFeed API or web app
5. **What happens if the API request fails?**\
   **Answer:** The API returns appropriate HTTP status codes and error messages. Implement error handling in your code to retry or log failures.
6. **Can I update an existing ticket via API?**\
   **Answer:** Yes, use the Update Request endpoint. See [API Documentation](https://docs.clearfeed.ai/api/reference) for details.
7. **Are webhooks available to receive ticket updates?**\
   **Answer:** Yes, ClearFeed supports webhooks for ticket events. Configure them in **Settings → Developer Settings → Events API Subscription**.


# Private Tickets

Use ClearFeed App for Slack or shortcut to create tickets privately without posting a message on any Slack channel

**Private Tickets** are tickets created without sending a message on any request channel. There are 3 ways to create a private ticket using ClearFeed:

1. [Message the ClearFeed App for Slack](https://github.com/clearfeed/new-docs/blob/main/how-it-works/creating-or-linking-tickets/using-clearfeed-slack-app.md#message-the-clearfeed-app)
2. [File a Ticket button](https://github.com/clearfeed/new-docs/blob/main/how-it-works/creating-or-linking-tickets/using-clearfeed-slack-app.md#file-a-ticket-button)
3. [/File a Ticket shortcut](https://github.com/clearfeed/new-docs/blob/main/how-it-works/creating-or-linking-tickets/using-clearfeed-slack-app.md#file-a-ticket-shortcut)

## Message the ClearFeed App for Slack

Users can create private tickets by directly messaging the ClearFeed App for Slack.

**Steps:**

* Open the **ClearFeed App** for Slack.
* Navigate to the **Messages** section.
* Type and send a message.

This automatically creates a **private ticket**.

{% hint style="success" %}
**Pro-tip:**

* Best suited for cases where you want your users to create tickets that contain sensitive information(e.g., HR, Finance, People Ops).
* Requests sent via Direct Message (DM) to the ClearFeed app may be lost if the user does not select a **Collection**. Without a collection, no ticket is created, and the request does not appear on dashboards or triage channels. To prevent missed requests, ClearFeed sends **automated reminder messages** nudging users to complete ticket creation. The default reminder delay is **60 minutes**. To customize the delay or message, or to disable reminders, please contact **ClearFeed Support**.\\
  {% endhint %}

<figure><img src="/files/21cYUSbE7H5HP8VWIAdB" alt="" width="563"><figcaption><p>Creating Tickets by Messaging the ClearFeed App</p></figcaption></figure>

## File a Ticket Button

Users can also create a private ticket using the **"File a Ticket"** button in the ClearFeed App for Slack.

**Steps:**

* Open the **ClearFeed App for Slack**.
* Click on `File a ticket` button.
* If multiple forms are configured, select the appropriate one.
* Submit the form.

You can:

* Track and update tickets from the **Messages** section or the [**My Tickets**](https://github.com/clearfeed/new-docs/blob/main/how-it-works/manage-requests/clearfeed-slack-app.md#my-tickets-for-requesters) view.
* See agent replies in the same thread.

<figure><img src="/files/uIJll0eoSQPsG7Drigtv" alt="" width="563"><figcaption></figcaption></figure>

## /File a Ticket Shortcut

This is a **Slack command shortcut**, accessible from anywhere in Slack by typing a `/file a ticket` message.

**Steps:**

* In the Slack message box - type the command **/File a ticket**
* Click on ClearFeed's File a ticket shortcut (or hit Enter)
* Choose the relevant Form
* Enter the details and submit the ticket.

You can track and update the ticket from the **Messages** section or [**My Tickets**](https://github.com/clearfeed/new-docs/blob/main/how-it-works/manage-requests/clearfeed-slack-app.md#my-tickets-for-requesters) view. Agent replies will also appear in the same thread.

<figure><img src="/files/X2humGX45Dx99UqjLAK3" alt="" width="563"><figcaption><p>Creating tickets using Slash command shortcut</p></figcaption></figure>

## Request Routing

Tickets that are created via the ClearFeed App for Slack or the shortcut and stored in the Slack App's DM collection. However, you can enable Request Routing, which helps users select a different Collection for their tickets.

#### Steps to enable Request Routing:

1. Go to ClearFeed WebApp and then navigate to "**ClearFeed App"** Collection
2. Open Settings
3. Open Request Routing
4. Toggle ON

<figure><img src="/files/MIIpseLMPLpTY2w6QBP3" alt="" width="546"><figcaption></figcaption></figure>

### How does Request Routing work?

Request Routing enables you to route tickets created through Direct Messages sent to the ClearFeed app or via the “File Ticket” button on the App Home in Slack to different collections across multiple ClearFeed accounts.

{% hint style="info" %}
Settings of the selected Collection are applied to the filed ticket. E.g., if a triage channel is configured for the chosen Collection - the filed ticket will end up in the chosen triage channel.
{% endhint %}

#### Use Case 1: Single ClearFeed Account + Multiple Collections

* Type your request in the `Messages` section on the ClearFeed App for Slack.
* From the drop-down, select the Collection where the ticket should be routed.
* (If forms are configured) - Select the Form to be used for filing the ticket.

<figure><img src="/files/6VkobcOUqeWxIdKtKg6Y" alt="" width="563"><figcaption><p>Routing tickets to a different Collection from DM</p></figcaption></figure>

#### Use Case 2: Multiple Accounts + Multiple Collections

* Type your request in the `Messages` section on the ClearFeed App for Slack.
* From the drop-down, select the Collection where the ticket should be routed.
* Select the Form along with the Account to be used for filing the ticket.

<figure><img src="/files/ReGXqFbuGJAZH2GL87FL" alt="" width="563"><figcaption><p>Routing tickets to a Collection in another ClearFeed account</p></figcaption></figure>


# DMs on Slack

{% hint style="info" %}
**Request Routing** must be enabled in your DM Collection to create tickets from Personal DMs. Learn how to do that [**here**](https://github.com/clearfeed/new-docs/blob/main/how-it-works/creating-or-linking-tickets/using-clearfeed-slack-app.md#request-routing).

Converting DMs into tickets is **not supported** in the External Helpdesk Product Edition.
{% endhint %}

You can turn personal conversations into tickets right from Slack DM.

#### Steps to convert Personal DMs into tickets:

1. Hover over the message that you want to convert into the ticket.
2. Click on Slack's More Actions menu (three dots).
3. Click on ClearFeed Actions under Shortcuts.
4. Proceed to **File a ticket**.
5. You will see a dropdown of all available Forms, grouped by the Collections they're linked to.
6. Select the relevant Form.
   * The title and description will be pre-filled out from the message.
7. A ticket will be created on behalf of the user (requester).

<figure><img src="/files/q9TdJxKFocEeuBWMx3UT" alt="" width="563"><figcaption><p>Creating tickets out of personal DMs</p></figcaption></figure>


# Using Slack Workflows

ClearFeed supports creating requests directly through **Slack Workflows**. This allows teams to collect structured information from requesters before creating a request.

**Note:** This feature requires setup. Contact [ClearFeed Support](mailto:support@clearfeed.ai) to enable it for your account.

## Steps to Create a Slack Workflow

* **Access Slack Automations**
  * From your desktop, hover over **More**, then select **Automations**.

<figure><img src="https://slack.zendesk.com/hc/article_attachments/32816116183443" alt="" width="563"><figcaption></figcaption></figure>

* **Create Workflow**
  * Click **Create Workflow** near the top-right corner.
* **Configure the Trigger**
  * Choose **"From a Link in Slack"** as the trigger.
* **Add Workflow Actions**
  * **Collect information in a form:** Add questions for the requester (e.g., *Describe your issue*, *Priority level*, *Team*).
  * **Send a message to a channel:**
    * Select the channel monitored by ClearFeed.
    * Use workflow variables to send the collected information in the message.
    * To ensure ClearFeed attributes the request to the person who submitted the form (not the Bot), add the requester info in the **first line** using this format:

      ```
      #requester {{Person who submitted the form}}
      ```
    * **Example:**

      ```
      #requester @John Doe
      Issue: Laptop not connecting to WiFi
      Priority: High
      Team: IT Support
      ```
    * To use a different keyword (e.g., `#employee` or `#user`), contact [ClearFeed Support](mailto:support@clearfeed.ai) to configure it.
* **Add Workflow to Request Channel**
  * Open the **request channel** where you want the workflow.
  * Click the **Workflows** tab in the conversation header.
  * If you don't see it, click the **"+" button** to find it.
  * Select **Add workflow** to add the workflow to the Request Channel.
  * You can also use **Feature workflow** to replace the message field with a button to start the workflow.\
    Learn more about [managing workflows in Slack](https://slack.com/intl/en-gb/help/articles/32393999092883-Manage-the-Workflows-tab-in-channels-and-DMs).
* **Whitelist the Workflow Bot**
  * Go to **Settings > Additional Settings** and whitelist the workflow bot on ClearFeed so that ClearFeed can monitor and create requests from workflow messages. See the [Bot Whitelisting section](#bot-whitelisting) below for detailed instructions.

#### Example Use Cases

* **IT Team Workflow:** Collect laptop issue details → Post formatted message in *#it-support* → ClearFeed creates a request for the employee.
* **HR Workflow:** Collect leave application info → Post in *#hr-requests* → ClearFeed creates a request under the employee's name.

<figure><img src="/files/woz9bEbgZiWfrSfr2Fqq" alt="" width="322"><figcaption><p>Sample Workflow</p></figcaption></figure>

## FAQs

1. **Why isn’t my Slack Workflow creating a ticket in ClearFeed?**\
   **Answer:** ClearFeed can only process workflow messages if the **workflow bot is whitelisted**. Go to:\
   **ClearFeed WebApp → Settings → Additional Settings → Whitelist Workflow Bot.** If the bot is not whitelisted, the workflow message will be ignored.
2. **Do workflow messages need to follow a specific format?**\
   **Answer:** Yes. The **first line** of the workflow’s posted message must include the requester in this exact format:\
   \#requester @username\
   Or if using workflow variables:\
   \#requester {{Person who submitted the form}}
3. **Why is ClearFeed asking for the requester’s email every time the workflow runs?**\
   **Answer:** This happens when the workflow message is posted by a **responder** (an internal agent) rather than an external user. ClearFeed always ask responder for an email. To avoid this, you have below options:
   * **Disable “Ask for Requester Email”**\
     Settings → Collection → Ticketing Settings → **Ask for Requester Email → OFF**
   * **Configure a Default Requester Email** in the collection's form.
4. **Will the workflow work if an internal agent triggers the workflow instead of a customer?**\
   **Answer:** Yes, but with different behavior.
   * If a **customer/end-user** submits the workflow → ClearFeed auto-detects the requester.
   * If a **responder/agent** submits the workflow → ClearFeed requires requester details (If "Ask for requester's email for responder-initiated requests" is enabled)
5. **My workflow format is correct but ticket creation still failed. What should I check?**\
   **Answer:** Verify the following:
   * Workflow bot is whitelisted
   * Workflow is added to a channel that is part of a **Collection**
   * First line is exactly `#requester <user>`
   * “Ask for Requester Email” (Collection setting) may require user email
6. **The workflow doesn't appear in the whitelisting dropdown. What should I do?**\
   **Answer:** Sometimes the workflow bot app appears under a different bot name. Try:
   * Searching for the workflow’s App ID (visible in Slack → App → About)
   * Posting a workflow message first (the bot becomes visible once it posts)
7. **Why did my workflow message fail even though the requester line was correct?**\
   **Answer:** Possible reasons:
   * Workflow message was posted by a **responder**
   * Requester user lacks an email in Slack profile and "Ask for requester's email for responder-initiated requests" is enabled
   * Workflow message used a variable that didn’t resolve to a Slack user
   * Workflow bot not whitelisted


# Portal

## Portal

ClearFeed Portal allows end users to file tickets, track status, and respond to support conversations through a web interface.

Tickets submitted through the portal are automatically created in ClearFeed and routed to Slack, where agents can continue working from the Triage channel or the ClearFeed WebApp. Agent replies sync back to the portal, keeping both sides in sync.

## Types of Portals

ClearFeed supports two portal experiences:

* **Customer Portal** for **External Helpdesk** accounts:
  * Allows customers configured in the Web App to submit tickets through a portal web interface.
  * The allowed domains, access controls and user roles are all configurable for each customer.
* **Employee Portal** for **Internal Helpdesk** accounts:
  * Allow employees to submit tickets through a portal web interface.
  * The allowed domains are derived from the account's configured domains, but access can also be restricted to specific users.

Refer to the [portal setup page](/clearfeed-help-center/sources/portal) for a detailed explanation.

### How the Portal Works

You can share the portal link with the people who need to raise requests through a web interface. You can find the link by going to **Settings -> Portal Setup**.

Portal users can sign in using:

* Google Sign-In
* Microsoft Sign-In
* Email magic link

### What Portal Users Can Do

* File new tickets using configured forms
* View tickets/filter tickets - whether they can view all tickets or only their own will depend on the portal type and user role.<br>

  <figure><img src="/files/gkOozmZb8rIQ6YCf9nO3" alt="" width="563"><figcaption></figcaption></figure>
* Track ticket status and updates<br>
* Reply to tickets and continue conversations<br>

  <figure><img src="/files/i0ZW6HN3xKLu2BAAMQHt" alt="" width="375"><figcaption></figcaption></figure>
* Export tickets from the portal<br>

  <figure><img src="/files/wE0nzJFMoISzHlM92H9E" alt="" width="447"><figcaption></figcaption></figure>
* Tag support team members who are ClearFeed users when replying to a ticket, ensuring the right people are notified.<br>

  <figure><img src="/files/6uhFRjFKcLcWBeE8xRUI" alt="" width="563"><figcaption></figcaption></figure>

**What Happens When a Portal User Submits a Ticket**

When a user submits a ticket through the portal:

* A ticket is created in ClearFeed
* A new ticket appears in your **Triage Slack channel**
* The ticket is routed to the dedicated Slack channel configured for that customer (in case of Customer Portal).
* Team members can respond directly from the Slack thread or the ClearFeed WebApp
* Agent replies sync back to the portal user and the portal user also receives updates via email.

{% hint style="info" %}
**Note:**

By default, all outgoing emails are sent from your configured custom email address.

Important:

* Emails sent using the custom email address will not be threaded in the recipient’s inbox.
* Each outgoing email always includes the last 5 messages from the conversation as context.
  {% endhint %}


# Creating or Linking Tasks

Escalate Slack conversations to engineering tasks with ClearFeed

This guide explains how to create and link tasks from ClearFeed to external task management systems. Tasks allow you to escalate customer issues to engineering teams while maintaining the support request/ticket in ClearFeed.

## Understanding Tasks in ClearFeed

While ClearFeed handles customer requests and tickets, you often need to escalate issues to engineering or project management systems. **Tasks** in ClearFeed allow you to:

* **Escalate issues** to external systems (Jira, Linear, GitHub, etc.)
* **Maintain SLAs** in ClearFeed while tracking work externally
* **Link support and engineering workflows** seamlessly
* **Track dependencies** with blocker functionality

{% hint style="info" %}
**What's the difference between Tickets and Tasks?**

* **Tickets** - Customer-visible support items tracked in ClearFeed or external ticketing systems (Zendesk, Intercom)
* **Tasks** - Work items created in task management systems (Jira, Linear, GitHub, Asana, ClickUp) to resolve issues

Learn more: [Requests, Tickets and Tasks](/clearfeed-help-center/how-it-works/request-tickets-tasks)
{% endhint %}

## Common Use Cases

Tasks are ideal for:

* **Feature Requests** - Customer requests that require engineering work
* **Bug Reports** - Issues that need developer investigation and fixes
* **Engineering Follow-ups** - Technical work needed to resolve support issues
* **Product Improvements** - Enhancements identified through customer feedback
* **Cross-team Collaboration** - Issues requiring marketing, PM, or other teams

**Example Flow:**

1. Customer reports an issue in Slack
2. Support team creates a ClearFeed ticket
3. Issue requires engineering work → Create task in Jira
4. Developers work on the task in Jira
5. Task updates sync back to ClearFeed
6. Support team closes ticket when task is complete

## Supported Task Management Systems

ClearFeed integrates with the following task management platforms:

* [**Jira**](https://github.com/clearfeed/new-docs/blob/main/integrations/jira/README.md)
* [**Linear**](https://github.com/clearfeed/new-docs/blob/main/integrations/linear/README.md)
* [**GitHub**](https://github.com/clearfeed/new-docs/blob/main/integrations/github/README.md)
* [**ClickUp**](/clearfeed-help-center/integrations/clickup)
* [**Asana**](https://github.com/clearfeed/new-docs/blob/main/integrations/asana/README.md)

{% hint style="warning" %}
**Integration Required:** You must integrate ClearFeed with your task management system before creating tasks. See the [integration guides](/clearfeed-help-center/integrations/task-and-ticketing-systems) for setup instructions.
{% endhint %}

## Configuration

Before creating tasks, configure task management settings for your Collection.

### Enable Task Creation

1. Navigate to your desired **Collection**
2. Go to **Settings → Task Management**
3. Enable **"Enable Task Creation via Emoji for all request channels in this collection"**
4. Configure settings:
   * **Task Management System** - Select your integrated system (Jira, Linear, etc.)
   * **Emoji Trigger** - Choose the emoji that triggers task creation (default: 📁)
   * **System-specific settings:**
     * **Jira** - Select projects, issue types, and non-Jira user permissions
     * **ClickUp** - Select which forms to use (All Forms or Specific Forms)

**Learn More:** [Collections Setup](/clearfeed-help-center/clearfeed-helpdesk/collections)

## Methods for Creating Tasks

Once configured, there are multiple ways to create tasks from ClearFeed.

### Method 1: From Triage Channel

Create tasks from the Triage Channel with full control over task details and message selection.

#### Steps to Create

1. Go to your **Triage Channel** in Slack
2. Find the relevant request you want to track as a task
3. Click the **More Actions** button
4. Select **File a Jira/Linear/ClickUp/GitHub/Asana Issue**
5. **Pick messages** to include in the task description
6. **Fill out task details** based on the target system (project, assignee, labels, etc.)
7. **(Optional) Mark as Blocker** if the task must be completed before closing the ticket
8. **Choose sync options:**
   * **Post task details to Request channel** - Share task link only (no comment sync)
   * **Post task details and sync task comments** - Share link and sync comments bidirectionally
   * **Neither** - Don't share task details with customer
9. Click **File Issue**

<figure><img src="/files/NefxWQyoISIk0Snobkyn" alt="" width="563"><figcaption><p>Creating tasks from Triage Channel</p></figcaption></figure>

### Method 2: Using Slack More Actions

Create tasks directly from any message in a Request Channel using Slack's More Actions menu.

{% hint style="info" %}
**Prerequisite:** The channel must be monitored by ClearFeed. Learn how to [add channels to Collections](/clearfeed-help-center/sources/manage-request-channels).
{% endhint %}

#### Steps to Create

1. In the **Request Channel**, hover over the message you want to track as a task
2. Click **More Actions** (three-dot menu)
3. Select **ClearFeed Actions**
4. Select **File a Jira/Linear/ClickUp/GitHub/Asana Issue**
5. **Pick messages** to include in the task description
6. **Fill out task details** based on the target system
7. **(Optional) Mark as Blocker**
8. **Choose sync options:**
   * **Post task details to Request channel** - Share task link only
   * **Post task details and sync task comments** - Share link and sync comments
   * **Neither** - Keep task details private
9. Click **File Issue**

### Method 3: Using Emoji Reaction

Create tasks quickly using an emoji reaction on any message in a Request Channel.

{% hint style="success" %}
**Fastest Method:** This is the quickest way to create tasks, ideal for high-volume workflows.
{% endhint %}

#### Steps to Create

1. In the **Request Channel**, find the message you want to track as a task
2. **React with the configured emoji** (default: 📁)
3. ClearFeed automatically creates a task with:
   * Message content as task description
   * Requester info and metadata
   * Link back to ClearFeed for tracking
4. **Task confirmation posted** - ClearFeed posts the task ID and link in the Slack thread

{% hint style="info" %}
Learn how to setup task creation for a Collection [here](#enable-task-creation)
{% endhint %}

<figure><img src="/files/z7DIT1LxklSUTxrMOoN8" alt="" width="563"><figcaption><p>Creating tasks with emoji reaction</p></figcaption></figure>

### Method 4: From ClearFeed WebApp

You can create a Jira or GitHub task directly from any request or ticket in the ClearFeed Web App.

{% hint style="warning" %}
**Note:** This method currently supports Jira and GitHub. Support for other task management systems will be added in the future.
{% endhint %}

#### Steps to Create

1. Open the ClearFeed Web App.
2. Open the request or ticket you want to create a task from.
3. In the right-hand panel, open the **Tasks** tab.
4. Click **+** and select **File a Jira task or File a GitHub Task**
5. Fill in the task details in the modal.
6. Click **Create Task**.

Once the task is created, ClearFeed posts the task ID and link back in the Slack thread for that request.

## Task Features

### Bidirectional Sync

When you enable comment sync, ClearFeed maintains bidirectional synchronization:

* **From Slack to Task System** - Comments in Slack thread appear in the external task
* **From Task System to Slack** - Updates in the external task appear in the Slack thread
* **Status Updates** - Task status changes are synced to ClearFeed
* **Closure Notifications** - Team is notified when tasks are completed

### Blocker Functionality

Mark critical tasks as **Blockers** to enforce completion before ticket closure.

**How Blockers Work:**

* Tickets cannot be marked as **Closed** or **Solved** until all blocker tasks are completed
* Ensures critical dependencies are addressed
* Prevents premature ticket closure

**Ways to Mark as Blocker:**

1. **While creating a task** - Check "Mark as Blocker" in the file task form
2. **From Triage Channel** - More Actions → Mark as Blocker next to the task
3. **From Web App** - Ticket details → Standard Fields → 3 dots next to task → Mark as Blocker

<figure><img src="/files/XAKIbzLquYEmM388djFB" alt="" width="375"><figcaption><p>Marking task as blocker while creating</p></figcaption></figure>

<figure><img src="/files/RTKX1hyJOTdbro1jxpyM" alt="" width="375"><figcaption><p>Marking task as blocker from Triage Channel</p></figcaption></figure>

<figure><img src="/files/aAVnFcK40vgcJ9I7WzxZ" alt="" width="324"><figcaption><p>Marking task as blocker from Web App</p></figcaption></figure>

### Task Information Synced

When creating a task, ClearFeed includes:

* **Conversation summary** - AI-generated summary of the thread
* **Title** - Generated from the request context
* **All messages** - Original message, replies, and attachments
* **Requester info** - Who reported the issue
* **Metadata** - Relevant context from ClearFeed

## Sync Options Explained

When creating tasks from Triage Channel or More Actions, you have three sync options:

### Option 1: No Sharing

**Checkboxes:** Both unchecked **What happens:**

* Task is created in external system
* No information posted to Request Channel
* Customer doesn't know about the task

### Option 2: Post Link Only

**Checkboxes:** "Post task details to Request channel" checked

**What happens:**

* Task link shared in Slack thread
* Closure notification sent when task is completed
* Comments are NOT synced

### Option 3: Post Link and Sync Comments

**Checkboxes:** "Post task details and sync task comments" checked

**What happens:**

* Task link shared in Slack thread
* Comments sync bidirectionally
* Status updates posted to Slack
* Closure notification sent

{% hint style="info" %}
**Preference Saved:** ClearFeed remembers your selection, so you only need to configure this once per user.
{% endhint %}

## FAQs

1. **What information does ClearFeed include in created tasks?**\
   **Answer:** ClearFeed includes:
   * AI-generated conversation summary
   * Generated title from request context
   * All messages in the thread (original message, replies, attachments)
   * Requester information
   * Relevant metadata
2. **Can I create tasks without integrations?**\
   **Answer:** No, you must integrate ClearFeed with your task management system first. See [integration guides](/clearfeed-help-center/integrations/task-and-ticketing-systems).
3. **What do the sync checkboxes mean?**\
   **Answer:**
   * **Both unchecked** - Task created, no info shared with customer
   * **First checked** - Task link shared, closure notification only
   * **Both checked** - Task link shared, comments and updates synced bidirectionally
4. **Can I stop sending updates when Linear issues are moved to "Canceled" or "Duplicate"?**\
   **Answer:** Yes, contact [ClearFeed Support](mailto:support@clearfeed.ai) to configure this for your account.
5. **What if I don't want customers to see task details?**\
   **Answer:** Create the task from Triage Channel and uncheck both sync options. The task will be created privately without sharing details to the Request Channel.
6. **Can I change the emoji used to create tasks?**\
   **Answer:** Yes, go to Collection Settings → Task Management → Configure the emoji trigger. Choose any emoji you prefer.
7. **What happens if a blocker task is deleted in the external system?**\
   **Answer:** The blocker status in ClearFeed will remain. You should manually remove the blocker or verify the task completion status.
8. **Can multiple tasks be linked to one ticket?**\
   **Answer:** Yes, you can create multiple tasks for a single ticket. Each task can be marked as a blocker independently.


# Slack Channels

Learn how to add Slack channels to ClearFeed to track requests and tickets

This guide explains how to configure and manage Slack channels as Request Channels in ClearFeed. We'll cover adding channels so ClearFeed can monitor requests, setting up automatic monitoring, moving channels between Collections, getting channel data, and removing channels.

## What are Request Channels?

Request Channels are Slack channels where your customers or your people from your organization ask for help or submit requests. ClearFeed monitors these channels, allowing your team to efficiently track and manage these incoming requests.

{% hint style="danger" %}
**Before You Start**

By default as part of the onbaording, we create a Collection for your account but sometimes it can fail so ensure you there is at least one Collection configured before you can add channels for ClearFeed to monitor.
{% endhint %}

## **Slack Channel Management**

You can perform the following actions to manage your Slack channels within ClearFeed Collections:

* [**Add Slack channels**](#adding-slack-channels-to-collection) to a Collection to track requests and tickets.
  * [From WebApp](#add-request-channels-from-webapp)
  * [From Slack](#from-slack)
* [**Automatically Monitor New Slack Connect Channels**](#automatically-monitor-slack-connect-channels)**:** Set up a regex to automatically add new Slack Connect channels to a Collection that match a specific name pattern.
* [**Move channels** between different Collections.](#moving-request-channels)
* [Download Channels data from within a Collection.](#downloading-channels)
* [**Stop monitoring Slack Channels**](#removing-slack-channels)
  * [From WebApp](#removing-slack-channels-from-webapp)
  * [From Slack](#removing-slack-channels-from-slack)

## Adding Slack channels to Collection <a href="#adding-slack-channels-to-collection" id="adding-slack-channels-to-collection"></a>

Slack channels can be set up for ClearFeed monitoring and added to a Collection. You can do this via the ClearFeed WebApp or directly from Slack.

### **From WebApp** <a href="#add-slack-channels-from-webapp" id="add-slack-channels-from-webapp"></a>

You can add Slack channels to a Collection in ClearFeed through three methods within the WebApp.

#### Method 1:

* Navigate to the **Inbox** in the ClearFeed WebApp.
* Click on **Collections**, then select the name of the Collection you want to modify (e.g., *Customer Support*).
* Click the **three dots** icon next to the Collection name and select "**+ New Channel**".
* In the pop-up window:

  * Use the **Select Channels** dropdown to choose one or more Slack channels for ClearFeed to monitor.

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>For the <strong>External Helpdesk</strong> product edition, the <strong>“Search only Slack Connect channels”</strong> filter is enabled by default. If a channel does not appear in the <strong>Select Channels</strong> dropdown even after inviting the ClearFeed bot, disable this option to view all available channels, including internal (non–Slack Connect) channels</p></div>

  * Public channels will be listed automatically.
  * For **private channels**, you'll only see those where the ClearFeed bot is already a member.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>To add a private channel not listed, go to Slack and run <code>/invite @ClearFeed</code> in that channel first.</strong></p></div>
* Click **Add**, assign a **Channel Owner** for each, and then click **Start Monitoring**.

<figure><img src="/files/6QG50ztJiSXjPyUltR3q" alt="" width="563"><figcaption></figcaption></figure>

#### Method 2:

* Navigate to the **Collection** in which you want to add Slack Channels
* Open **Collection Settings**.
* Expand **Request Channels**.
* Click on the **"+ Add Channels**" button.
* In the pop-up:
  * Use the **Select Channels** dropdown to pick one or more Slack channels.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>For the <strong>External Helpdesk</strong> product edition, the <strong>“Search only Slack Connect channels”</strong> filter is enabled by default. If a channel does not appear in the <strong>Select Channels</strong> dropdown even after inviting the ClearFeed bot, disable this option to view all available channels, including internal (non–Slack Connect) channels.</p></div>
  * As above, public channels are listed; for private channels, ensure the ClearFeed bot is invited via `/invite @ClearFeed` in Slack.
* Click **Add**, assign a **Channel Owner** for each, and then click **Start Monitoring**.

<figure><img src="/files/4yQEen9ddokOTUHtLvKk" alt="" width="563"><figcaption></figcaption></figure>

#### Method 3:

* Navigate to the **Inbox** in the ClearFeed WebApp and hover over the **New** button at the bottom.
* From the dropdown, select **Channel**.
* In the pop-up:
  * Choose the Collection you want to add channels to.
  * Use the **Select Channels** dropdown to pick one or more Slack channels.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>For the <strong>External Helpdesk</strong> product edition, the <strong>“Search only Slack Connect channels”</strong> filter is enabled by default. If a channel does not appear in the <strong>Select Channels</strong> dropdown even after inviting the ClearFeed bot, disable this option to view all available channels, including internal (non–Slack Connect) channels.</p></div>
  * As above, public channels are listed; for private channels, ensure the ClearFeed bot is invited via `/invite @ClearFeed` in Slack.
* Click **Add**, assign a **Channel Owner** for each, and then click **Start Monitoring**.

<figure><img src="/files/FMXfUJcuVr4prpRwOVgZ" alt="" width="563"><figcaption></figcaption></figure>

### From Slack <a href="#add-request-channels-from-slack" id="add-request-channels-from-slack"></a>

You can also configure a channel as a Request Channel directly from Slack:

* Go to Slack and open the channel you wish to monitor.
* Add the ClearFeed bot by typing `/invite @ClearFeed` and press **Enter**.
* ClearFeed will send a message asking how you want to configure the channel.
* Select the option to configure the channel `As a Request Channel` .
* Select the **Channel Owner** and **Collection** to which you want to add the channel.
  * A Channel Owner can move the channel from one collection to another and transfer the channel's ownership within ClearFeed.
* Click on `Start Monitoring` .

<figure><img src="/files/V2qDwBpfzPgwVGLpTD1x" alt="" width="563"><figcaption><p>Adding Channels from Slack</p></figcaption></figure>

## Automatically Monitor Slack Connect Channels <a href="#automatically-monitor-slack-connect-channels" id="automatically-monitor-slack-connect-channels"></a>

{% hint style="warning" %}
This functionality is only available for Parent accounts with the **"External Helpdesk" Product Edition** and can only be configured for a single Collection on your account. To check your current product edition, navigate to the '[Plans & Billing](https://web.clearfeed.app/settings/plans-and-billing)' section located within the [Account Settings](https://web.clearfeed.app/settings).
{% endhint %}

Slack Connect channels allow external organizations to communicate with your team. If your Slack Connect channels follow a set naming pattern, ClearFeed can automatically monitor these channels using a regex (regular expression) pattern to match channel names and add them to a designated Collection when created.

**Steps to Set Up Automatic Monitoring:**

Steps to Set Up Automatic Monitoring:

* Navigate to the **Inbox** in the [ClearFeed WebApp](https://web.clearfeed.app/).
* Navigate to the "**Collections**" tab. Find the specific Collection where you want to automatically add Slack Connect channels and click on the "**Settings**" icon associated with it.
* In the Collection's settings, scroll to the "**Request Channels**" section. Look for the option "**Automatic Monitoring of new Slack Connect channels**" and switch it on.
* You'll need to provide a "**Regex Pattern**". This is a special text string that ClearFeed uses to identify which newly created Slack Connect channels to monitor.
* Click "**Save**" to apply the settings. ClearFeed will now automatically add new Slack Connect channels that match your regex pattern to this Collection.

<figure><img src="/files/lV1ErOLCEz7RdRnR5efW" alt="" width="563"><figcaption><p>Configuring Automatic Monitoring of new Slack Connect Channels</p></figcaption></figure>

## Moving Request Channels <a href="#moving-request-channels" id="moving-request-channels"></a>

To move a channel from one collection to another within ClearFeed, follow these steps:

* Navigate to the **Inbox** in the [ClearFeed WebApp](https://web.clearfeed.app/).
* Select the Collection from which you want to move the channels.
* Click on the **Collection Name** to expand and see all the channels within it.
* Click on the **three-dots menu** against the channel you want to move.

  <figure><img src="/files/lcJUZfJ4DwOyF9iYTsKx" alt="" width="378"><figcaption></figcaption></figure>
* Click on **Move**. A modal window will be shown.

  <figure><img src="/files/um77bMGYAu1k7pxiNczF" alt="" width="563"><figcaption></figcaption></figure>
* From the dropdown, choose the **target collection** where you plan to move the channel.
* To confirm the transfer, click on the **Save** button.

  <figure><img src="/files/2WdVklI1YqrNjS60pe9z" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
All settings & workflows of the new collection will now apply to the moved channel. We suggest you review those settings before you move the channel.
{% endhint %}

## Downloading Request Data <a href="#downloading-channels" id="downloading-channels"></a>

To download the request data for channels that are added to a Collection, follow the below steps:

* Navigate to the **Collection** for which you want to download the requests.
* Open **Collection Settings**.
* Expand **Request Channels**.
* Click on the **Download** icon.

<figure><img src="/files/WiDw6UtDszLDndVnzRxU" alt="" width="563"><figcaption><p>Download Request Channels for a Collection</p></figcaption></figure>

{% hint style="info" %}
The data will be downloaded as a CSV file, with the following information for each Request Channel in the Collection:

* Channel Name
* Channel ID
* Channel Type
* Channel Owner ID
* Channel Owner Name
  {% endhint %}

## Stop Monitoring Slack channels <a href="#removing-slack-channels" id="removing-slack-channels"></a>

You can stop ClearFeed from monitoring a Slack channel either from the **WebApp** or directly from **Slack**. ClearFeed offers flexibility: you can **retain existing requests for future reference**, or **permanently delete all data** related to the unmonitored channel.

You can do this from the **ClearFeed WebApp** or directly from **Slack**.

### From WebApp <a href="#removing-slack-channels-from-webapp" id="removing-slack-channels-from-webapp"></a>

#### Option 1: From the Request Channel List

* Open the **ClearFeed WebApp** and go to the **Inbox**.
* Expand the **Collections** menu in the left sidebar.
* Locate the channel you want to stop monitoring under the relevant Collection.
* Hover over the channel name and click the **three-dots menu**.
* Select **Stop Monitoring**.

  <figure><img src="/files/eKF1HOU43qI6ubm0PgBN" alt="" width="304"><figcaption></figcaption></figure>
* You’ll now see two options for handling channel data:
  * **Keep Data**
    * Monitoring will stop, but all existing requests will be retained according to your account’s data retention policy.
    * If the channel is public, you’ll also be prompted to remove the ClearFeed bot.
  * **Delete Channel Data**
    * Monitoring will stop, and all associated data will be permanently deleted. ⚠️ This action is irreversible.

<figure><img src="/files/1mcrJnTqCBkCk0wEQ7aA" alt="" width="520"><figcaption><p>Option for handling Channel Data while stop monitoring a channel</p></figcaption></figure>

#### Option 2: From Collection Settings

* Navigate to the Collection containing the channel.
* Open **Collection Settings**.
* Expand the **Request Channels** section.
* Find the channel and click **Stop Monitoring**.

You'll be presented with the same options: **Keep Data** or **Delete Channel Data**.

<figure><img src="/files/FTbR0rHTcizINjVRylRR" alt="" width="563"><figcaption><p>Stop Monitoring Channels from Collection Settings</p></figcaption></figure>

### From Slack <a href="#removing-slack-channels-from-slack" id="removing-slack-channels-from-slack"></a>

* Use the following command in the Slack channel:

  ```
  /remove @ClearFeed
  ```

<figure><img src="/files/9M6780Xm7iLdahrtgFvz" alt="" width="563"><figcaption><p>Removing a Request Channel from Slack</p></figcaption></figure>

* Once this is done:
  * The ClearFeed bot is removed from the channel.
  * Monitoring stops immediately.
  * Channel status is updated in the WebApp.
  * Collection owners receive a Slack notification with a link to manage the channel’s data (keep or delete).

What You’ll See in the WebApp

* The channel will remain visible under its Collection and **data is retained**.
* A **banner** appears on the channel’s page, offering two actions:
  * **Monitor Channel** – to resume tracking
  * **Delete Channel Data** – to permanently remove data

    <figure><img src="/files/xv3mvRonLXKR8EntGQBh" alt="" width="563"><figcaption></figcaption></figure>
* You can also manage this from:
  * **Collection Settings > Request Channels** – where the option to delete retained data remains available.

    <figure><img src="/files/65GivScE9TU3GXtfCBR6" alt="" width="563"><figcaption></figcaption></figure>

    <figure><img src="/files/BzdQs2breTxgROpxIc5A" alt="" width="554"><figcaption></figcaption></figure>

## Adding Slack Connect Channels Already Used by Another Organization

By default **ClearFeed does not work correctly if the `ClearFeed` app is added to the same Slack Connect channel by multiple organizations**. This will result in messages from such a channel to not be processsed correctly.

To configure a Slack Connect channel as a Request Channel when another organization has already installed `ClearFeed` in such a channel - please contact our support team with the channel ID and the organization detail. Supporting this setup requires a manual configuration change by ClearFeed support.

**Important Considerations** When the same Slack Connect channel is monitored by multiple ClearFeed accounts, keep the following in mind:

1. **Emoji Ticketing**: Do not use the same emoji if emoji-based ticketing is enabled. Otherwise, two tickets will be filed—one in each account monitoring the channel.
2. **Thread Behavior**: If two tickets are filed from the same thread, replies synced from one ticket will not flow back to the other.
3. **Responder Configuration**: Set collection responders carefully. Incorrect responder settings may result in unexpected request creation.
4. **Automatic Ticketing**: If automatic ticketing is enabled in both accounts, tickets will be filed in both systems from the same thread.
5. **Emoji Actions**: Use separate emojis for each organization to avoid conflicts. Depending on configuration and who applies the emoji, different actions may be triggered across organizations.

## FAQs <a href="#faqs" id="faqs"></a>

1. **Is it possible to bulk-add private channels into a Collection?** **Answer:** It is not possible to bulk-add private channels using the standard method because apps with bot privileges (like ClearFeed) cannot list private channels in Slack. You have to manually invite ClearFeed to each private channel individually by running `/invite @Clearfeed` from within that channel in Slack. Once the bot is a member, you can then add the channel via the WebApp as described in the "Adding Slack channels from WebApp" section.
2. **How can I add a private Slack channel to ClearFeed?** **Answer:** To add a private channel, you must invite ClearFeed into it:
   1. Go to the private channel in Slack.
   2. Type `/invite @clearfeed`.
   3. You’ll get a prompt to add the channel to a collection. You can complete this step either:
      * Directly within Slack, or
      * From the ClearFeed web application (the private channel will now appear in the **Add Channel** dropdown).
3. **I see multiple ClearFeed apps when trying to invite—what should I select?** **Answer:** Multiple apps may be visible when you share a Slack Connect channel with ClearFeed. When you type `/invite @clearfeed`:

   1. **Select the `ClearFeed` app** — this is the correct app installed in your workspace.
   2. **Ignore any app named `ClearFeed Support`** — this is an external app that cannot be added to your workspace.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Previously, customers would see two apps both named <code>ClearFeed</code>. This has been fixed — you should no longer encounter multiple identically named ClearFeed apps.</p></div>
4. **How can I invite the ClearFeed bot to a shared Slack channel if I don't have permission?** **Answer:** If you are in a shared Slack channel where your customer owns the channel and has not granted you permission to invite users or apps, they will have to temporarily grant you permission to invite apps. You can then add the ClearFeed bot using `/invite @Clearfeed`, and the owner can revoke the permissions later if desired. Note that your customer directly adding the ClearFeed bot will not work correctly for ClearFeed monitoring purposes.
5. **What happens when we archive a Slack Channel?** **Answer:** Once a channel is archived in Slack, ClearFeed is automatically removed from that channel, and monitoring stops. You should see an interface reflecting this change in the WebApp under the Collection dropdown, similar to when you manually remove the channel from Slack.
6. **How do I monitor archived channels in ClearFeed?** **Answer:** To resume monitoring an archived channel, you must first unarchive the channel in Slack. Then, in the ClearFeed WebApp, you can typically click on the "**Monitor Channel**" button to add ClearFeed back into the channel and resume monitoring, with previous Requests data also being restored.
7. **What is a Channel Owner in ClearFeed?** **Answer:** Think of the channel owner as the person who is managing a specific client or request channel. Channel owners are referred to in a few places in ClearFeed:
   * When sending bulk announcements: The announcement can be sent on behalf of the respective channel owner for each channel. This allows the announcement to look more personalized from the customer's perspective.
   * To receive important channel related notifications: When a channel is moved across Collections or removed from ClearFeed - a notification is sent to the channel owner. If you are worried about what to fill out for the channel owner - just leave it to the default (which would be the user who is adding the channel in ClearFeed)
8. **Is it possible to reconfigure a channel as a Request Channel if it was mistakenly set up as a Triage Channel earlier?** **Answer :** Yes we can reconfigure channels that were incorrectly added a Triage channel instead of a Request Channel. The steps for it as as follows :
   1. Visit[ ClearFeed Triage Settings](https://web.clearfeed.app/settings/triage)
   2. Find the channel name and click on Edit
   3. Scroll to the bottom and click Delete
   4. Navigate to the Collection where you want to add the Request Channel and click on the Collection Settings
   5. You’ll now see the channel available to be added as a Request Channel, Select it and Add it to the Collection
9. **How can I send a message to all of my customer Slack channels at once using ClearFeed?** **Answer:** We can use the [Announcements Feature](https://github.com/clearfeed/new-docs/blob/main/sources/clearfeed-help-center/announcements.md) to send a message to multiple customer Slack channels at once.


# Email

Set up Email Ticketing and bi-directional Slack-Email sync in ClearFeed

## Table of Contents

* [How does Email Ticketing work in ClearFeed?](#how-does-email-ticketing-work-in-clearfeed)
* [Configuring Email Ticketing](#configuring-email-integration-and-auto-response)
* [Configure Email Addresses & Mailboxes](#configure-email-addresses--mailboxes)
* [Creating & Configuring Email Collection](#creating-an-email-collection)
* [Customize Email Ticketing Behavior (Optional)](#customize-email-ticketing-behavior-optional)
* [Setting up Email Forwarding](#setup-email-forwarding)
* [FAQs](#faqs)

## How does Email Ticketing work in ClearFeed? <a href="#how-does-email-ticketing-work-in-clearfeed" id="how-does-email-ticketing-work-in-clearfeed"></a>

* Admins have to configure Email addresses in ClearFeed where incoming support emails are received.
* New incoming messages to these configured Email addresses create Tickets in ClearFeed.
* Newly created Tickets are posted to the configured Triage Slack channels. Each ticket creates a thread in Triage.
* Agents can respond to these Tickets by replying in the corresponding Triage thread.
* Replies posted in the Slack Triage thread are automatically sent back to the requester via Email.
* Similarly, subsequent Email replies by the Requester are appended to the Slack Triage thread as well.
* Replies from both Agents and Requesters are appended to the same Email thread.
* Agents can also respond to Email Tickets from the ClearFeed Webapp.

Agents can perform all other collaboration and ticket management on Email tickets (like posting private comments, tagging co-workers, updating the ticket state or linking it to Tasks) from Triage channel or the ClearFeed Webapp - just like they can do with tickets and requests from Slack, WebChat or Microsoft Teams.

## Configuring Email Ticketing in ClearFeed <a href="#configuring-email-integration-and-auto-response" id="configuring-email-integration-and-auto-response"></a>

Configuring Email Ticketing requires three important Steps:

1. [Configure Email Addresses & Mailboxes](#configure-email-addresses--mailboxes) — set up incoming support email addresses and (optionally) their outgoing reply addresses.
2. [Configure Email Collections, Triage channel and other Ticketing settings](#creating-an-email-collection) for emails received on the configured addresses.
3. [(Optionally) Customize the Email auto-response and signatures](#customize-email-ticketing-behavior-optional) to tailor the Email ticketing experience.

{% hint style="success" %}
ClearFeed can support multiple incoming Email addresses from multiple custom domains and they can be routed flexibly to one or more Triage channels.
{% endhint %}

## Configure Email Addresses & Mailboxes

Go to [Email Setup](https://web.clearfeed.app/settings/email-setup) on the ClearFeed Web Dashboard and open the **Email Addresses** section. Choose a setup method based on whether you want to use a ClearFeed-hosted address or your own domain.

<figure><img src="/files/zVbFos90hozPecz2pSiY" alt="" width="563"><figcaption><p>Email Addresses — choose between ClearFeed Email and Custom Email</p></figcaption></figure>

### Option 1: ClearFeed Email

Use a ClearFeed-hosted address (`support@<subdomain>.clearfeed-mail.com`). No DNS configuration or email forwarding required. This mailbox is pre-configured for all Internal and External Helpdesk accounts.

{% hint style="info" %}
**Note:** If your account was created using a **free email domain** (like Gmail), the ClearFeed Email can generate up to **100 tickets**. Once this limit is reached, ClearFeed automatically sends **email and Slack notifications** to all account admins.
{% endhint %}

The incoming address is pre-configured. You only need to choose how outgoing reply emails are sent:

* **Shared team address** — All agents reply from the same address. You can customize the local part (prefix) of the address (e.g., `support`, `help`).
* **Per-agent address** — Each agent gets their own "from" address based on their name, in the format `{{firstname}}.{{lastname}}@<subdomain>.clearfeed-mail.com`.\
  **Example:** When John Doe replies, the email is sent from `john.doe@clearfeed.clearfeed-mail.com`

<figure><img src="/files/yrsqNlNhEqPQsECjDefO" alt="" width="563"><figcaption><p>ClearFeed Email — configure incoming address and outgoing reply format</p></figcaption></figure>

Click **Save Changes** once you have selected your preferred outgoing format.

### Option 2: Custom Email

Use your own domain email addresses (e.g., `support@yourcompany.com`, `billing@yourcompany.com`). Requires email forwarding to be configured on your mail provider. See [Setup Email Forwarding](#setup-email-forwarding) for detailed instructions.

The **Mailboxes** section lists all configured incoming email addresses paired with their outgoing reply addresses. Each incoming address is a separate mailbox that can have its own dedicated outgoing address.

<figure><img src="/files/BuMiPjbvuee1p58lwXws" alt="" width="563"><figcaption><p>Custom Email — Mailboxes list showing incoming and outgoing address pairs</p></figcaption></figure>

{% hint style="info" %}
**How reply emails are sent:**

1. Replies are sent from the outgoing address that matches the ticket's incoming email address.
2. If no outgoing address is configured for that mailbox, replies fall back to the account's **Default** outgoing address.
   {% endhint %}

From the Mailboxes section you can:

* Configure a custom sending domain with DKIM authentication
* Add new mailboxes (incoming + optional outgoing in one flow)
* Connect outgoing addresses via Google or Microsoft OAuth (or use an outgoing email from a DKIM authenticated domain)
* Set a default outgoing address
* Remove or update outgoing addresses independently

#### Configure Custom Sending Domain with DKIM authentication

Custom domain (DKIM) authentication lets ClearFeed send outbound emails directly from your company domain (such as `support@yourcompany.com`), without relying on Google or Microsoft OAuth for the outgoing send path. For complete DKIM setup walkthrough - see [Send emails from your own domain with DKIM authentication](/clearfeed-help-center/sources/email/dkim-custom-domain).

#### Adding a Custom Email Mailbox

Click **+ Add mailbox** to open the two-step setup dialog.

**Step 1 — Incoming email**

1. Enter the incoming support email address.
2. A **Mail forwarding address** is shown inline — configure your email provider to forward to this address. See [Setup Email Forwarding](#setup-email-forwarding) for detailed forwarding instructions per provider.
3. Click **Next: Outgoing email** to proceed.

<figure><img src="/files/jsqt3UYHNyZcMk3HrdtZ" alt="" width="563"><figcaption><p>Add mailbox — Step 1: Incoming email</p></figcaption></figure>

**Step 2 — Outgoing email (optional)**

Enter the email address ClearFeed will use to send replies for this mailbox, along with a display name that appears in the customer's "From" field.

If the outgoing address belongs to a **verified DKIM domain**, ClearFeed will use that domain automatically and no Google or Microsoft authentication is required. For outgoing addresses that are not covered by a verified DKIM domain, authenticate with **Google** or **Microsoft** to allow ClearFeed to send on your behalf.

You can click **Skip for now** to add the incoming address without configuring an outgoing address immediately — the outgoing can be set up later from the Mailboxes list.

<figure><img src="/files/l31zKpjkTFIx3QCMfVDw" alt="" width="563"><figcaption><p>Add mailbox — Step 2: Outgoing email with OAuth authentication</p></figcaption></figure>

{% hint style="danger" %}
**Important Information: Using Google Groups or Shared Mailboxes**

If you are using a **Google Group email address** (e.g., `support@company.com`) or an **email alias** that is not your primary Google account:

**You MUST configure "Send mail as" in Gmail before authenticating**, otherwise emails will be sent from your personal email address instead of the intended group/alias email.

**Required Steps:**

1. **Before clicking "Continue with Google"**, add the Google Group/alias as a "Send mail as" address in your Gmail settings:
   * Go to Gmail Settings → Accounts and Import → Send mail as
   * Click "Add another email address"
   * Enter the Google Group/alias email (e.g., `support@company.com`)
   * Follow the verification steps
2. **Verify you have permission** to send emails as the Google Group (check with your Google Workspace admin if unsure)
3. **Complete authentication** in ClearFeed using the Google account that has the "Send mail as" configured
4. **Send a test email** to verify the setup is working correctly

**Detailed Instructions:** [How to set up "Send mail as" in Gmail](https://support.google.com/mail/answer/22370)

**If you authenticate without configuring "Send mail as", ClearFeed will send emails using your personal email** address (e.g., `john@company.com`) instead of the intended group email (e.g., `support@company.com`).

**This means:**

* Customers will see replies from your personal email
* Reply-to addresses may not work as expected

**Gmail does not notify us if the wrong email is used**, so it's critical to verify your setup by sending a test email.
{% endhint %}

{% hint style="danger" %}
**For Microsoft 365 Users**

If you are using a **shared mailbox** or **email alias, you MUST have `SendAs` permissions granted by your Exchange administrator**, otherwise emails will be sent from your personal account or fail to send.

**Required Steps:**

1. **Before clicking "Continue with Microsoft"**, contact your Exchange administrator to:
   * Grant `SendAs` permissions to your user account for the shared mailbox/alias
   * Verify the permissions are properly configured
2. **Complete authentication** in ClearFeed using your Microsoft account
3. **Send a test email** to verify the setup is working correctly

**Detailed Instructions:** [Microsoft documentation on SendAs permissions](https://learn.microsoft.com/en-us/exchange/recipients-in-exchange-online/manage-permissions-for-recipients)

**Note about display names:**

The custom display name you enter may be replaced with the name of your Microsoft account by default. To use a custom display name, your Exchange administrator must configure this along with the `SendAs` permissions.
{% endhint %}

### Setting a Default Outgoing Address

One outgoing address in the Mailboxes list can be marked as **Default**. Any mailbox that does not have its own outgoing address configured will use the Default address for all replies.

### Verify Your Email Setup

After completing the setup, we strongly recommend sending a test email to ensure your configuration is correct.

1. After completing the authentication and saving Email setup, create a test ticket by sending an email to the support address you added in Step 1.
2. Now, go to ClearFeed WebApp or Slack triage channel and send a reply.
3. Check your inbox for the email
4. Verify the "From" address matches your intended outgoing email (e.g., `support@company.com`, not `john@company.com`)
5. If the test fails or shows the wrong email address, review the setup instructions above.

## Creating & Configuring Email Collection <a href="#creating-an-email-collection" id="creating-an-email-collection"></a>

An Email Collection is simply a dedicated [Collection](https://docs.clearfeed.ai/clearfeed-help-center/product-features/collections) used to store email tickets.

{% hint style="success" %}
Note that an Email Collection with the default ClearFeed Email Address should be pre-configured in your account. The steps here are useful for creating and configuring additional collections for custom Email addresses.
{% endhint %}

To create a new Email Collection, perform the following steps:

1. Go to **Collections** -> click on **Add New Collection** -> Select **Email Collection**.
2. Add Responders (these will be users responding to these tickets).
3. **(Optional/Strongly Recommended) Associate a triage channel**: You can also create or link an existing triage channel to the Email Collection.
   * Learn more about Triage channels [here](https://github.com/clearfeed/new-docs/blob/main/sources/clearfeed-helpdesk/interfaces/triage-channel.md).

Once an Email Collection exists - one must attach the incoming Support Email associated with that Collection. This must be done via Collection Settings:

1. Click on the Email Collection from the Inbox section of the ClearFeed Webapp
2. Open the Collection Settings accessible by clicking **Settings** from the Top Right
3. Go to the section named **Email Settings:** Expand the Choose the support email(s) that send incoming emails to this Collection.

If there are multiple incoming email addresses - you can configure multiple email collections - one for each of them. The emails can be routed to different (or same) triage channels.

<figure><img src="/files/jYDu4E1aeb2B6OOhB6uj" alt="" width="563"><figcaption></figcaption></figure>

## Customize Email Ticketing Behavior (Optional)

Once the basic Email Ticketing setup has been done, it can be customized as per your needs. Here are some options that can help in this regard:

1. Setup an Auto-response message
2. Customize Status Updates
3. Email Thread Management

<figure><img src="/files/6Nw01yhA3kchWfL0VUEG" alt="" width="542"><figcaption></figcaption></figure>

### Auto-response Message <a href="#configure-auto-response-message" id="configure-auto-response-message"></a>

ClearFeed can automatically send an acknowledgement to requesters once they send an email for support.

* You can choose to enable/disable this acknowledgement message.
* You can also customize the message.

### Customize Status Updates <a href="#customize-status-updates" id="customize-status-updates"></a>

ClearFeed can send **Status Update Notifications** to requesters, informing them when their email ticket has been marked as Solved and Closed. These updates are sent as automated emails on the same email thread. You can enable or disable these notifications completely from the [Email Setup](https://web.clearfeed.app/settings/email-setup) section in Settings.

**Configure the notifications to send updates only when:**

* A ticket is Solved
  * Behavior note: A ticket in Solved status will reopen automatically if the customer replies to the same email thread (even after several days), unless you have explicitly configured automations that change this behavior. ClearFeed does not automatically move tickets from Solved to Closed on its own.
* A ticket is Closed
  * Behavior note: Closed is a terminal state. Replies to a Closed ticket will not reopen the same ticket. If you want to continue the conversation, you must create a new ticket (for example, by starting a new email thread).

<details>

<summary>Example: Emails Sent on Status Updates</summary>

1. **When the ticket is moved to Solved**

Hello John, This is an automated message to inform you that we've marked your ticket CF-123 as solved. If you're satisfied with the resolution, no further action is needed. However, if you need further assistance or have additional questions, please reply to this email. Your reply will reopen the ticket, and our support team will get back to you as soon as possible. Thank you for your patience and understanding.

2. **When the ticket is moved to Closed**

Hello John, This is an automated message to inform you that we've closed your ticket CF-321. Please note: New replies to this thread will not reopen the ticket. If your issue remains unresolved or you need further assistance, kindly start a new email thread to <support@acme.com> to create a fresh ticket. Thank you for your understanding.

</details>

### Email Thread Management <a href="#customize-status-updates" id="customize-status-updates"></a>

Control how ClearFeed manages and updates CC recipients on email-based tickets when you reply.

* **Update CCs from replies:** ClearFeed automatically adds or removes CC recipients based on the email addresses included in each customer reply.
  * If a customer removes someone from CC, that recipient will no longer receive future emails in the thread.
  * If a customer adds someone to CC, that recipient will be added to the thread and included in future replies.
* **Always Preserve Customer CCs:** ClearFeed preserves all CC recipients that customers add at any point in the conversation, even if the customer removes them in later replies.
  * Removed CCs will continue to receive future emails.
  * Agents can manually add or remove CC recipients from Slack at any time.

## Setup Email Forwarding <a href="#setup-email-forwarding" id="setup-email-forwarding"></a>

There are three ways of setting up Email forwarding from your custom email to ClearFeed:

### Method 1: Use Mail Forwarding <a href="#use-mail-forwarding" id="use-mail-forwarding"></a>

1. Enter your support Email address.
2. Setup forwarding to the domain mentioned in the **Mail forwarding information** section
   * Guide to setup forwarding: [**https://support.google.com/a/answer/10486484?hl=en**](https://support.google.com/a/answer/10486484?hl=en)
3. If you've added multiple support emails, configure the forwarding for each of the mailboxes.

### Method 2: Use a Google Group <a href="#use-a-google-group" id="use-a-google-group"></a>

1. Keep the Google Group address the same as your support email. E.g. if the support email is <support@clearfeed.ai> -> this email should also be set up as the Google Group Address.
2. Copy the ClearFeed Support email (found under Mail forwarding information in the setup) and add it to the Google Group
3. Ensure the following permissions are set up correctly:
   1. **Who can post:** Anyone on the web
   2. **Who can join group:** Invited users only
   3. **Allow External members:** ON

### Method 3: Use Recipient Address Mapping (Google Workspace) <a href="#use-microsoft-365-outlook" id="use-microsoft-365-outlook"></a>

Many organizations disable **user-level mailbox forwarding** to prevent company emails from being forwarded to personal or unapproved external accounts. This is a common security control enforced by IT teams to protect sensitive data.

#### How redirect/forward behaves

* Redirected messages appear to come **directly from the original sender**
* The **To:** field retains the original recipient address
* You can choose to:
  * Send emails **only to ClearFeed**, or
  * Send to ClearFeed **and** keep a copy in the original mailbox

#### Steps to configure in Google Admin Console

1. Open **Google Admin Console**
2. Navigate to\
   **Menu → Apps → Google Workspace → Gmail → Routing.**
3. Select **Routing** (not *Default routing*).
4. On the left, select the **top-level organizational unit**
5. Scroll to **Email forwarding using recipient address map** and click\
   **Configure** or **Add Another Rule**
6. In the **Add setting** box, enter a descriptive name\
   \&#xNAN;*Example: "Route support aliases to ClearFeed"*
7. In **Step 1 – Add address mapping**
   * **Address:** original email (e.g., <help@yourcompany.com>)
   * **Map to address:** ClearFeed inbox\
     (e.g., <tickets@yourcompany.clearfeed.io>)
8. Click **Add**
   * Repeat to map additional addresses if required
   * Bulk mapping can be used for large lists
9. Under **Messages to affect**, choose:
   * **All incoming messages** – includes internal + external emails
   * **Only external incoming messages** – customer emails only
10. Optional settings (recommended)
    * **Also route to original destination**
      * Keeps a copy in the existing mailbox during rollout
    * **Add X-Gm-Original-To header**
      * Preserves recipient info for troubleshooting and advanced routing
11. Click **Save**
12. Your rule will appear as a new row on the **Routing** page.

You can refer to [this](https://support.google.com/a/answer/4524505?hl=en#address-map-forwarding) page to learn more.

### Method 4: Use Microsoft 365 / Outlook: <a href="#use-microsoft-365-outlook" id="use-microsoft-365-outlook"></a>

{% hint style="warning" %}
**Important:** Do not use Outlook client-side rules for forwarding. Client-side forwarding does not preserve the original sender information and always creates tickets on behalf of the email address that has set up the forwarding. Instead, use server-side forwarding as described below.
{% endhint %}

To preserve the original sender information and ensure proper email threading, set up **server-side forwarding** in Microsoft 365. Choose one of the following methods:

**Option A: Microsoft 365 Admin Center (Recommended)**

Requires admin access.

1. Go to [Microsoft 365 Admin Center](https://admin.microsoft.com) → **Users** → **Active Users**
2. Select the mailbox (e.g., <support@yourcompany.com>)
3. Click the **Mail** tab
4. Under **Email Forwarding**, click **Manage forwarding**
5. Enable **Forward all emails**
6. Enter the ClearFeed forwarding address (found in your Email Setup)
7. Optionally check **Keep a copy of forwarded email in this mailbox**

**Option B: Exchange Admin Center (For complex routing)**

If you need conditional forwarding or multiple recipients:

1. Go to [Exchange Admin Center](https://admin.exchange.microsoft.com)
2. Navigate to **Mail flow** → **Rules**
3. Create a new rule:
   * **Apply this rule if:** Recipient is \<your support mailbox>
   * **Do the following:** **Redirect** the message to \<ClearFeed forwarding address>
4. **Important:** Use **Redirect** (not Forward) to preserve original sender information

**Option C: Outlook Web Redirect Rule**

1. Go to [Outlook Web](https://outlook.office.com)
2. Click **Settings** → **Mail** → **Rules**
3. Add a new rule:
   * **Condition:** Apply to all messages
   * **Action:** **Redirect to** \<ClearFeed forwarding address>
4. **Important:** Choose **Redirect**, not **Forward**

**Additional Resources:**

* [Use rules to automatically forward messages (Microsoft Support)](https://support.microsoft.com/en-us/office/use-rules-to-automatically-forward-messages-45aa9664-4911-4f96-9663-ece42816d746)
* [Configure email forwarding in Microsoft 365 (Microsoft Learn)](https://learn.microsoft.com/en-us/microsoft-365/admin/email/configure-email-forwarding?view=o365-worldwide)

## FAQs <a href="#faqs" id="faqs"></a>

1. **Is the Email integration available for all plans and product editions in ClearFeed?**\
   **Answer:** The Email integration feature is available in Internal and External Helpdesk product editions. It is available in all plans including during Trial phase.
2. **Is the email integration available on ClearFeed Child Accounts?**\
   **Answer:** Yes, Email integration is supported in both Parent and Child accounts.Note that the default ClearFeed email setup in each ClearFeed account is unique to that account and will differ in Child and Parent accounts.
3. **I am not able to create a new Email Collections or perform Email Setup in my account. What could be the reason?**\
   **Answer:** Email Integration may not be available if you have picked the Integration edition during account setup (by identifying ticketing integration with an existing tool as your primary use case).
4. **Does ClearFeed support integration with multiple custom Email addresses (potentially from different custom domains)?**\
   **Answer:** Yes. You can configure multiple custom Email addresses and domains in ClearFeed by adding a separate mailbox for each address in the **Email Addresses** section of Email Setup.
5. **Can I use the ClearFeed provided email and a custom email both?**\
   **Answer:** Yes. You can have a mailbox with the ClearFeed-provided email address and additional mailboxes with custom email addresses — all managed from the Mailboxes list.
6. **How can we route tickets from different custom Email addresses to separate Triage channels? Can I use the same support email in multiple collections?**\
   **Answer:** You can route incoming tickets from different custom email addresses to separate triage channels by creating multiple Email Collections one for each custom email address.
   * For each custom Email, create a new Email Collection.
   * Under `Email Settings` for each Collection, choose the support Email for this Collection (you can add multiple emails).
   * Configure a different Triage channel for each Collection.
   * The same support email address cannot be assigned to more than one collection. Each collection must have a unique support email address. - If you want the same email to reach multiple collections/triage channels, set up email aliases or separate forwarding addresses for each collection, and configure each as a unique support email in ClearFeed.
7. **Can I set a different outgoing address for each incoming support email?**\
   **Answer:** Yes. Each mailbox in the **Email Addresses** section can have its own outgoing address. Replies to tickets from a given incoming address will be sent from that mailbox's configured outgoing address. If no outgoing address is set for a mailbox, replies fall back to the **Default** outgoing address.
8. **Can I use a Google Group address as the outgoing email address in ClearFeed?**\
   **Answer:** Yes, you can use a Google Group address as the outgoing email address in ClearFeed. However, you must first add the Google Group address as an outgoing address in your personal Google account settings. After authenticating with your Google account in ClearFeed, ensure that you select the Google Group address from the dropdown menu and click "Save" to apply the changes.
9. **What should I do if my emails are sent from my personal address instead of the Google Group address?**\
   **Answer:** If emails are being sent from your personal address rather than the Google Group address, please check the following: 1. Ensure that you have added the Google Group address as an outgoing address in your personal Google account settings. 2. Confirm that you selected the Google Group address from the dropdown menu in ClearFeed and clicked "Save." 3. If you have authenticated correctly and still face issues, try re-authenticating your account by clicking "Continue with Google." Use this link for reference: <https://support.google.com/mail/answer/22370?hl=en>
10. **Why did replying to a ticket in Slack both send an email to the requester and create a new request in the Slack channel?**\
    **Answer:** This usually happens if multiple support email addresses are copied in the message. For example, if both the ClearFeed-generated email (e.g., `support@<subdomain>.clearfeed-mail.com`) and your forwarding address (e.g., `support@yourcompany.com`) are copied, ClearFeed may treat the reply as a new request. To resolve this, avoid copying both addresses in replies.
11. **Can I use my own support email (e.g., `support@mydomain.com`) as the sender instead of the ClearFeed-generated address?**\
    **Answer:** Yes. You can either authenticate the outgoing address with Google/Microsoft OAuth or verify your domain using **Custom domain (DKIM)**. With DKIM, ClearFeed can send from addresses on your verified domain without additional OAuth authentication.
12. **Do I still need to use the ClearFeed-generated email address after setting up a custom email?**\
    **Answer:** No. Once your custom email is configured and authenticated or your custom domain is verified with DKIM, you can use it directly. There is no need to CC or reference the ClearFeed-generated email address.
13. **Do I still need Google "Send mail as" or Microsoft `SendAs` permissions if I use DKIM?**\
    **Answer:** No. Those permissions are required for Google/Microsoft OAuth-based sending. If you verify your domain using **Custom domain (DKIM)**, ClearFeed sends directly from your verified domain and does not need Google or Microsoft OAuth for that outgoing address.


# DKIM Setup for Custom Domain

Send outbound ClearFeed emails from your own company domain by verifying it with DKIM, without relying on Google or Microsoft OAuth.

Custom domain authentication lets ClearFeed send outbound emails from your company domain, such as `support@yourcompany.com`, without relying on Google or Microsoft OAuth for the outgoing send path. ClearFeed signs these emails with DKIM, which helps receiving mail servers verify that ClearFeed is authorized to send on behalf of your domain.

This is useful when you want Web Chat, Portal, or Email ticket notifications to originate from your own support domain instead of a ClearFeed sending address.

{% hint style="info" %}
You must be an account **Admin** to add, verify, or remove a custom email domain.
{% endhint %}

{% hint style="info" %}
**Domain limits:**

* Each ClearFeed account can be configured with **one DKIM-authenticated sending domain** at a time.
* A sending domain can be DKIM-authenticated in **only one account**. Related accounts in the same organization (parent, child, or sibling accounts) can also use that verified domain, but an independent, unrelated account cannot authenticate a domain that is already in use.
  {% endhint %}

<figure><img src="/files/aTdumzWiQMtX5VdHxCiO" alt="" width="563"><figcaption><p>Email Addresses — Custom domain (DKIM) setup option</p></figcaption></figure>

## Step 1: Add your sending domain

1. Go to [Email Setup](https://web.clearfeed.app/settings/email-setup) → **Email Addresses**.
2. In **Custom domain (DKIM)**, choose **Use your own domain**.
3. Enter the domain you want to send from, such as `yourcompany.com`.
4. Click **Generate DNS records**.

ClearFeed creates the DNS records required to prove domain ownership and enable DKIM signing.

<figure><img src="/files/nv97Zbo90VoYckkJqOKl" alt="" width="563"><figcaption><p>Generate DNS records for a custom email domain</p></figcaption></figure>

## Step 2: Add the DNS records at your DNS provider

After you generate records, ClearFeed shows the DNS entries you need to add with your DNS provider.

You will need to add:

* **1 TXT record** for domain ownership verification.
* **3 CNAME records** for DKIM signing.

<figure><img src="/files/ZbkEn5fdPaagt7kqDH88" alt="" width="563"><figcaption><p>DNS records required for DKIM domain verification</p></figcaption></figure>

{% hint style="warning" %}
Add all records exactly as shown in ClearFeed. DNS propagation can take time. ClearFeed updates the domain status automatically after verification events are received.
{% endhint %}

## Step 3: Wait for verification

The domain remains in **Waiting for DNS** or **Pending Verification** until ClearFeed can verify both the TXT ownership record and the DKIM CNAME records.

Once verification succeeds, the domain is marked **Verified** and outgoing emails can be sent from addresses on that domain.

<figure><img src="/files/HvhEZYweQNk8BY3A6uMJ" alt="" width="563"><figcaption><p>Verified custom email domain</p></figcaption></figure>

{% hint style="warning" %}
Keep the DNS records in place after verification. If records are removed or become invalid, ClearFeed may pause or fail the domain and temporarily fall back to the ClearFeed sending address so delivery does not silently break.
{% endhint %}

## Step 4: Use the verified domain for outgoing emails

After the domain is verified, add or edit a mailbox and enter an outgoing email address using that domain, such as `support@yourcompany.com`.

When the outgoing address belongs to a verified DKIM domain, ClearFeed automatically uses the verified domain. No additional Google or Microsoft OAuth authentication is needed for that outgoing address.

<figure><img src="/files/I8ErlEn6x8CSUcQbdJMF" alt="" width="563"><figcaption><p>Add a mailbox using a verified DKIM domain for outgoing email</p></figcaption></figure>

## Domain status reference

| Status                                     | What it means                                                                         | What to do                                                                                                    |
| ------------------------------------------ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Waiting for DNS / Pending Verification** | ClearFeed has generated DNS records, but the records are not verified yet.            | Add the TXT and CNAME records at your DNS provider, then wait for DNS propagation and automatic verification. |
| **Verified**                               | The domain ownership and DKIM records are verified.                                   | You can use outgoing email addresses on this domain.                                                          |
| **Verification Failed**                    | ClearFeed could not verify the required DNS records within 72 hours.                  | Review the DNS records, fix any missing or incorrect values, and retry the setup.                             |
| **Paused**                                 | Sending from this domain has been paused, usually because the domain needs attention. | Contact ClearFeed support before sending from this domain again.                                              |

<figure><img src="/files/LiQ81S6O1Q4BLdE8lO0W" alt="" width="563"><figcaption><p>Verification failed status for a custom email domain</p></figcaption></figure>

<figure><img src="/files/aeVh9tqr2WulyULsfqMi" alt="" width="563"><figcaption><p>Paused status for a custom email domain</p></figcaption></figure>

## FAQs <a href="#faqs" id="faqs"></a>

1. **What happens if my DKIM DNS records are removed later?**\
   **Answer:** ClearFeed monitors verified domains. If DNS verification fails or sending is paused, admins are notified and ClearFeed may temporarily fall back to the ClearFeed sending address so customer emails do not silently stop sending.
2. **What if I need to send from more than one domain? Can I register additional DKIM domains in child or sibling accounts?**\
   **Answer:** Yes. Since each account can have its own DKIM-authenticated sending domain, you can register additional sending domains across child or sibling accounts. However, this fragments email ticketing across multiple ClearFeed accounts — tickets for each domain are handled only in the account where that domain is authenticated. To keep email ticketing unified, use a single account and sending domain where possible.


# Web Chat

Embed chat in your website to allow users to ask for help where they need it

Web Chat allows customers to initiate support conversations directly from your website through an embedded chat widget. Conversations automatically appear in your Slack Triage channels where agents can respond, and replies sync back in real-time.

{% hint style="info" %}
**Prerequisite:** Email setup is required before configuring Web Chat, as email is used to notify customers when they go offline.
{% endhint %}

### Setting Up Web Chat

### Step 1: Complete Email Setup

Web Chat requires email integration for offline notifications. A default ClearFeed Email Address should be pre-configured in your account, if it is not or you want to configure custom Email address, refer [here](/clearfeed-help-center/sources/email).

### Step 2: Enable & Install Chat Widget

* Navigate to the **Settings >** [**Chat Setup**](https://web.clearfeed.app/settings/chat-widget) on ClearFeed WebApp.
* Click the toggle to **Enable Chat Widget**.
* After enabling the widget, click on **Setup Instructions** in the same section (**Settings** > **Chat Setup**). This page contains your unique `client_id` and `client_secret`, along with the necessary code snippets.
* Add the following script right before the closing `<body>` tag of your site:

  ```
  <script src="https://cdn.clearfeed.app/chat-widget.js"></script>
  ```
* To securely identify logged-in users and provide them with a personalized, continuous chat history, you need to generate an HMAC hash on your server. This prevents users from impersonating others. (This step is optional and is required only for authenticated users.)

  * Retrieve your unique **Client Secret** from the **Setup Instructions** page in the ClearFeed WebApp.
  * Implement server-side code to generate an HMAC-SHA256 hash using your `clientSecret` and the logged-in user's unique email address.

  ```
  const crypto = require('crypto');
  // Use your Client Secret obtained from ClearFeed Setup Instructions
  const clientSecret = "your_client_secret_here";
  // Get the email of the currently logged-in user on your website
  const userEmail = currentUser.email; // Replace 'currentUser.email' with how you access the user's email
  // Generate the HMAC hash
  const userHash = crypto.createHmac('sha256', clientSecret)
      .update(userEmail)
      .digest('hex');
  ```
* Add the initialization script to your website's HTML:.

  * Retrieve your unique **Client ID** from the **Setup Instructions** page in the ClearFeed WebApp.
  * Include the `user` object only when a user is logged into your website. Pass their name, email, and the HMAC `hash` generated in Step 4. Omit the `user` object for anonymous visitors.

  ```
  <script>
    window.ClearFeed("init", {
      client_id: "your-client-id-here", // Replace with your Client ID

      // Pass user details for signed-in users; omit this 'user' object for anonymous visitors.
      user: userIsLoggedIn ? { // Replace 'userIsLoggedIn' with your logic to check login status
        name: currentUser.name, // Replace with the user's name
        email: currentUser.email, // Replace with the user's email
        hash: userHash // Use the server-generated HMAC hash from Step 4
      } : undefined // Pass 'undefined' or simply omit the 'user' property for anonymous users
    });
  </script>
  ```

{% hint style="danger" %}
*Ensure that the user information (`name`, `email`, `hash`) passed in the `user` object is not empty when provided.*
{% endhint %}

## How User Identity Appears in ClearFeed

Currently, the ClearFeed WebApp does **not** provide a dedicated, clickable "User Profile" view (e.g., to open a panel showing email/phone) for Web Chat requesters. Instead, the requester identity shown in ClearFeed is derived from the \`user\` object you pass when initializing the widget. If you want agents to see additional metadata such as email or phone directly in the requester name shown across ClearFeed interfaces, you can embed that information into the \`name\` field you send from your website.

### User Identity Updates and Limitations

* **Name updates after initialization:** If a user changes their name (for example, in your application or identity provider) and then starts a **new Web Chat session / creates a new ticket**, the **updated name will be reflected** in ClearFeed for that new ticket.
* **Existing tickets:** Tickets that were already created before the name change will **continue to show the original name** captured at the time of ticket creation. Historical tickets are not retroactively updated.
* **Display length limit:** In Slack triage channels, the **user name is truncated to 50 characters**. Names longer than 50 characters will be trimmed in the triage message.
* **Additional user parameters:** During `window.ClearFeed("init", { ... })`, the `user` object currently supports only `name`, `email`, and `hash`. Passing **additional custom parameters in the `user` object is not supported** at this time and such values will not appear on the ticket.

## Understanding User Identification

How ClearFeed Web Chat identifies and handles users depends on the information provided during the widget initialization:

* **Logged-In Users:** When you pass the `user` object containing `name`, `email`, and the secure `hash` for a signed-in user, ClearFeed can reliably identify them. This allows ClearFeed to:
  * Provide a personalized support experience across different devices and browsers.
  * Ensure users can access their past conversation history whenever they return and log in.
* **Anonymous Users:** If the `user` object is omitted during initialization (meaning the visitor is not logged into your website), ClearFeed treats them as an anonymous user. When an anonymous user starts a chat, ClearFeed will automatically prompt them to provide their **Name** and **Email Address** before they can begin the conversation. This ensures consistency for their session and allows agents to follow up if needed.

{% hint style="info" %}
Web chat widget does **not** support session invalidation, logout, or a session reset.
{% endhint %}

### Conversation Lifecycle and Ticket Status

Web Chat conversations remain visible even when the corresponding ClearFeed ticket is marked **Solved** or **Closed** in the WebApp. This is expected behavior and is designed to:

* Preserve full conversation history for the end user
* Allow customers to return and continue the same chat later if needed

Because the widget does not support session invalidation or clearing the chat history, closing a ticket in ClearFeed does **not** prevent the customer from sending additional messages in the same Web Chat thread.

If you want to clearly communicate resolution or encourage users to start a new chat for new issues, you can use **Conversation Status Messages** to send an automatic message when a ticket is solved (or use automations triggered on Ticket Closed/Solved events to achieve the same)

## Customizing the Web Chat Widget Appearance and Behavior

You can customize the look and feel of your web chat widget by passing a `config` object within the `window.ClearFeed("init", { ... })` call. This allows for tailoring the widget to match your website's branding and specific needs, even creating different configurations on various pages.

Add the `config` object as shown below:

```
<script>
  window.ClearFeed("init", {
    client_id: "your-client-id-here",
    user: userIsLoggedIn ? { /* ... user details ... */ } : undefined,

    // Optional: Customize the appearance and behavior by adding the 'config' object
config: {
brand_color: '#HEXCODE',           // Updates major UI elements like background, icons, input fields, and attachments.
icon_logo_source: 'svg/link',      // Use a direct SVG or a link to your logo.
icon_logo_color: '#HEXCODE' or 'color-name', // Sets color for the default logo, text, and close (X) icon on the web-chat button.
icon_type: "horizontal",           // Options: "horizontal" | "round"
icon_size: "medium",               // Options: "small" | "medium" | "large"
position: "right",                 // Options: "left" | "right"
allow_dragging: true,              // Enables users to drag and reposition the web chat widget.
icon_text: "Help",                 // Label shown next to the icon (applies only for "horizontal" icon_type).
offset: {
    x: 40,                           // Horizontal offset (in pixels) from the left or right edge based on position. Optional (default: 40).
    y: 40                            // Vertical offset (in pixels) from the bottom of the screen. Optional (default: 40).
    }
  }
});
</script>
```

### **Configuration Options**

<table><thead><tr><th width="171">Option</th><th width="115">Type</th><th width="476">Description</th></tr></thead><tbody><tr><td><code>brand_color</code></td><td><code>string</code></td><td>Hex code (e.g., <code>#RRGGBB</code>) to customize primary UI elements like backgrounds, icons, input fields, and attachments.</td></tr><tr><td><code>icon_logo_source</code></td><td><code>string</code></td><td>A direct SVG string or a URL pointing to your logo image (SVG or other image types supported).</td></tr><tr><td><code>icon_logo_color</code></td><td><code>string</code></td><td>Hex code or CSS color name to set the color for the default logo, button text, and close (X) icon on the button.</td></tr><tr><td><code>icon_type</code></td><td><code>string</code></td><td>Determines the appearance of the chat button. Options: <code>"horizontal"</code> (shows text and icon) or <code>"round"</code> (icon only).</td></tr><tr><td><code>icon_size</code></td><td><code>string</code></td><td>Sets the size of the widget button. Options: <code>"small"</code>, <code>"medium"</code>, or <code>"large"</code>.</td></tr><tr><td><code>position</code></td><td><code>string</code></td><td>Specifies where the widget button appears on the screen. Options: <code>"left"</code> or <code>"right"</code>.</td></tr><tr><td><code>icon_text</code></td><td><code>string</code></td><td>The label displayed next to the icon when <code>icon_type</code> is set to <code>"horizontal"</code>. Ignored for <code>"round"</code> type.</td></tr><tr><td><code>offset</code></td><td><code>object</code></td><td>Adjusts the button's position: <code>{ x: number, y: number }</code> (in pixels). <code>x</code> is horizontal offset from the edge (<code>left</code> or <code>right</code>), <code>y</code> is vertical offset from the bottom.</td></tr><tr><td><code>allow_dragging</code></td><td><code>boolean</code></td><td>If <code>true</code>, users can drag and reposition the chat widget on desktop. Dragging is limited to stay on-screen.</td></tr></tbody></table>

{% hint style="warning" %}
All web chat widget configuration must be done manually by modifying the initialization script code. There is no user interface within the ClearFeed WebApp for changing these visual or behavioral settings.
{% endhint %}

## Configure Reply Expectations

Define what response time customers see on your **chat widget** during business hours. Outside of business hours, ClearFeed automatically displays when your team will be back online.

### When Reply Expectation Messages Are Shown

The reply expectation message follows this logic:

| State                                         | Message Displayed                                                      | When It Appears                                                                                        |
| --------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **No messages yet**                           | Response time message (configured below) or business hours return time | Before a ticket is created, or when a customer clicks "Start a conversation" but hasn't sent a message |
| **Customer sent message, no responder reply** | "Someone is looking into it and will respond shortly."                 | After a customer sends a message and no responder has replied yet                                      |
| **Responder replied**                         | *No message*                                                           | Once a responder has replied to the ticket                                                             |

{% hint style="warning" %}
**Note:** The "Someone is looking into it..." message is **not editable** and cannot be configured as of now.
{% endhint %}

{% hint style="info" %}
These messages are **only shown when Virtual Agent interactive mode is disabled**. When Virtual Agent interactive mode is enabled, no reply expectation messages are displayed. [Learn more](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents#using-virtual-agent-in-interactive-agent-mode).
{% endhint %}

### Configuring Reply Expectations

To configure the reply expectation message:

1. Navigate to **Settings** (from the left sidebar in ClearFeed WebApp)
2. Select **Chat Setup**
3. Under the **Reply Expectations** section, choose your preferred response time option

### Response Time Options

| Option                          | Message Shown to Customers                                     |
| ------------------------------- | -------------------------------------------------------------- |
| **In a few minutes**            | "We usually respond within a few minutes."                     |
| **In a few hours**              | "We usually respond within a few hours."                       |
| **In a day**                    | "We usually respond within a day."                             |
| **Average First Response Time** | Displays your **average response time** based on recent chats. |

<figure><img src="/files/fZEhlh6Mxc7iMwKayaUh" alt=""><figcaption></figcaption></figure>

### Displaying Business Hours Return Time

If you have configured **Business Hours** for your Web Chat collection, ClearFeed will automatically display when your team will be back online to customers who reach out outside of those hours.

To set up Business Hours:

1. Navigate to **More → Business Schedule & SLA** (from the left sidebar in ClearFeed WebApp)
2. Create or edit a Business Schedule
3. Apply it to your Web Chat collection

### Sending Automated Greeting Messages

You can configure automated messages to be sent when a query comes through your Web Chat - for example: *"Thanks for getting in touch! Our team is looking into it and will get back to you shortly."*

Use [ClearFeed Automations](/clearfeed-help-center/clearfeed-helpdesk/automations) to set up automated replies triggered on new request creation events.

## Web Chat Collection

By default - when a new account is created in ClearFeed - a "Web Chat" collection would be automatically created. Furthermore (for accounts created 2026 and later), logged in conversations are automatically routed to the corresponding Customer Collection (and the conversations started from webchat will show up in the triage channel for that Customer Collection). By default, in new accounts, this channel is named `#cf-triage-channel`.

Users can:

* Turn off routing of chat requests to Customer Collections
* After turning off routing, potentially

These configuration changes can be performed using **Settings** (top-right) after clicking on the Web Chat Collections.

## Showing Solved and Closed Status in Web Chat

ClearFeed can display the **Solved** or **Closed** status directly in Web Chat, so requesters know when their issue has been resolved.

This behavior depends on **how the request is resolved** and **how your Web Chat is configured**.

### When the status is shown

If a responder marks a request as **Solved** or **Closed** from the collection:

* The status is shown in Web Chat **only if** the *Show solved/closed status* setting is enabled in Web Chat configuration.
* If the setting is disabled, the status change is not shown to the requester in Web Chat.

## FAQs

1. **Is Email setup mandatory for Web Chat?**

   **Answer:** Yes. Email integration is required to notify customers when they go offline and to send conversation history.
2. **Can I have multiple web chat widgets with different credentials or configurations on different websites?**

   **Answer:** No, each ClearFeed account supports only one set of web chat widget credentials (client ID and secret). If you need separate widgets with different credentials or authentication (for example, for different websites or customer installations), you must create a separate ClearFeed account (or child account) for each. Each account will have its own independent credentials and configuration.
3. **Can I customize the widget appearance?**

   **Answer:** Yes. Configure widget colors, position, branding etc. in the Web Chat settings. Refer [here](#customizing-the-web-chat-widget-appearance-and-behavior) to see the details
4. **How are chat conversations routed to Slack?**

   **Answer:** Conversations are routed based on the Web Chat Collection configuration. Each Collection can be associated with a specific Triage channel.


# Portal

Provide customers or employees with a self-service portal to file and track support tickets

This page explains how administrators can enable, configure, and manage access to the ClearFeed Portal.

For details on how the portal works from an end-user or agent perspective, see: [*Creating tickets using the Portal*](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/portal).

{% hint style="info" %}
**Availability:**

* **Customer Portal** is available only for accounts with the **External Helpdesk** Product Edition on **Professional** and **Enterprise** plans.
* **Employee Portal** is available only for accounts with the **Internal Helpdesk** Product Edition on **Professional** and **Enterprise** plans.
  {% endhint %}

{% hint style="info" %}
**Setup:**

Apart from **configuring access control** - the steps for setting up Employee and Customer Portal are the same.
{% endhint %}

## Enable and Configure Portal

1. Navigate to [**Account Settings**](https://web.clearfeed.app/settings) -> [**Portal Setup**](https://web.clearfeed.app/settings/portal-setup)
2. Configure:
   * **Portal Name** - Your portal will be accessible at `https://<portal-name>.clearfeed.app`
   * **Company Logo** - Displayed in the portal header
   * **Access Control** - Configure who can sign in to the portal

{% hint style="info" %}
If this is the first portal enabled for your company across accounts, ClearFeed uses your base subdomain. Additional portals use an account-specific variation of that subdomain. To customize your portal link beyond the default format, contact <support@clearfeed.ai>
{% endhint %}

## Configure Access Control

### Customer Portal

Use Customer Portal access controls to decide which customer users can sign in.

#### Add Customers

To give customers access to the portal:

1. Go to [**Customers**](https://web.clearfeed.app/customers) -> Click **Add New Customer**
2. Fill in:
   * **Customer Name**
   * **Slack Channels** - Channels where requests from this customer are handled (must be monitored by ClearFeed and not assigned to another customer)
   * **Email Domains** - Authorized domains for customer sign-in

#### Disable Portal for Specific Customer

1. Go to **Customers -> Manage -> Edit Customer Details**
2. Toggle off **Enable Support Portal**
3. Click **Save**

#### Restrict to Specific Users

1. In **Edit Customer Details**, set **User Access** to "Specific Users"
2. Enter authorized email addresses (must match configured domains)
3. Click **Save**

### Employee Portal

Choose one of the following access modes for the Employee Portal:

#### Allow All Users from Account Domains

Use this mode when any employee with an email address from one of your account domains should be able to access the portal.

Employees can sign in using:

* Google Sign-In
* Microsoft Sign-In
* Email magic link

#### Allow Only Specific Users

Use this mode when only selected employees should be able to access the portal.

1. In **Portal Setup**, choose **Only specific users**
2. Enter the employee email addresses that should be allowed to sign in
3. Click **Save**

## Configure Forms for the Portal

The portal uses ClearFeed Forms for ticket creation.

* If only one form is mapped to the portal, it opens directly when users click **File Ticket**.
* If multiple forms are mapped, users will see a form selection dropdown.

Forms shown in the portal:

* Include all non-hidden fields
* Include only fields marked editable by non-responders

#### To configure forms:

1. Go to the **Collection** used for the portal.
2. Open **Settings -> Forms**.
3. Select the forms you want users to see when creating tickets through the portal.

**Learn more about** Forms [here](/clearfeed-help-center/clearfeed-helpdesk/forms)

## Custom Domain <a href="#custom-domain" id="custom-domain"></a>

{% hint style="info" %}
**Availability:** Custom domain is available on the **Enterprise** plan for accounts with Portal enabled.
{% endhint %}

By default, your portal is accessible at `https://<subdomain>.clearfeed.app`. With a custom domain, you can serve the portal from a subdomain you own — for example, `support.acme.com` — so your end users see your brand, not ClearFeed's domain.

Your original `clearfeed.app` URL always remains active as a fallback regardless of whether a custom domain is configured.

### Set up a Custom Domain

1. Go to [**Settings → Portal Setup**](https://web.clearfeed.app/settings/portal-setup)
2. Under **Portal link**, switch to the **Custom domain** tab
3. Enter your subdomain (e.g. `support.acme.com`)
4. Click **Add domain** — ClearFeed displays two DNS records to add at your registrar

{% hint style="warning" %}
**Subdomains only.** Root domains (e.g. `acme.com`) are not supported — you must use a subdomain like `support.acme.com`.
{% endhint %}

### Add DNS Records

After clicking **Add domain**, ClearFeed displays two CNAME records. Add both at your DNS provider:

| Type  | Host (Name)                              | Points to (Value)                   |
| ----- | ---------------------------------------- | ----------------------------------- |
| CNAME | Your subdomain (e.g. `support.acme.com`) | ClearFeed-provided routing hostname |
| CNAME | Validation hostname                      | Validation value                    |

Once both records are in place at your DNS provider, ClearFeed automatically verifies domain ownership. The setup screen shows a **Waiting on DNS propagation** status while this is in progress.

{% hint style="warning" %}
**72-hour expiry.** The verification window expires 72 hours after the DNS records are generated. If verification is not complete within that window, remove the domain and add it again to generate a fresh set of records.
{% endhint %}

### Verification

ClearFeed verifies your domain automatically in the background. Once verified, the status changes to **Domain verified successfully** and your custom domain becomes live. After verification, the DNS records must stay in place — removing them will take your custom domain offline.

### Authentication on Custom Domains

| Sign-in method           | Status on custom domain                  |
| ------------------------ | ---------------------------------------- |
| Email magic link         | Works automatically                      |
| Google / Microsoft OAuth | Requires a one-time setup from ClearFeed |

If your users sign in via Google or Microsoft, contact <support@clearfeed.ai> after your domain is verified to enable OAuth on your custom domain.

### Change or Remove a Custom Domain

Custom domains cannot be edited in place. To change your domain:

1. Click **Remove** on the current custom domain
2. Add the new domain and complete the DNS setup again

Removing a custom domain immediately takes the custom URL offline. Your original `clearfeed.app` URL continues to work.

## Test the Portal

To test the portal experience:

1. Enable the portal.
2. Configure the relevant access mode for your edition.
3. Sign in as a permitted user.
4. Submit a test ticket and verify:
   * It appears in the correct Slack or Triage channel
   * Agent replies sync back to the portal

## FAQs

1. **Why do portal users see a form selection dropdown?**\
   **Answer:** This appears when multiple forms are mapped to the portal. Ensure your portal collection mapping reflects the correct default form.
2. **Can I customize which fields are shown in the portal?**\
   **Answer:** To display custom fields in portal ticket views, contact ClearFeed support via Slack or <support@clearfeed.ai>
3. **Does my original `clearfeed.app` URL still work after setting up a custom domain?**\
   **Answer:** Yes. Your original ClearFeed subdomain remains active as a fallback at all times.
4. **Can I have multiple custom domains for different portals?**\
   **Answer:** Each ClearFeed account supports one active custom domain at a time.


# MS Teams

Set up Microsoft Teams as a channel in ClearFeed

ClearFeed integrates with Microsoft Teams to bring customer requests from Teams directly into your Slack Triage Channels. This creates a unified workflow where your support team can manage and respond to Teams messages without leaving Slack.

{% hint style="info" %}
**Requirements:**

* **Authorization:** An Azure organization admin (not just a Teams admin) must authorize ClearFeed
* **Installation:** By default, only MS Teams admins can install apps like ClearFeed (this is configurable in your Teams settings)
  {% endhint %}

## How It Works

When customers send messages in Microsoft Teams:

1. Messages automatically appear in your Slack Triage Channel
2. Support agents respond from Slack
3. Responses sync back to Teams in real-time
4. Conversations remain synchronized across both platforms
5. Requests can be converted to trackable tickets

## Ways to Connect Your Customers via Teams

There are two common patterns for using Microsoft Teams channels with external customers. Understanding which approach you're using will help you set things up correctly.

### Option 1: Shared Channels (Teams Connect)

Create shared channels that bridge your Team with the customer's own Microsoft Teams tenant. Customers participate using their existing work identity — no account switching needed, and no guest accounts are created in your directory.

* Customers must have their own Microsoft 365 / Teams tenant
* Customers see the shared channel natively in their own Teams client, alongside their own org's channels
* The channel is isolated — only members explicitly added to the shared channel can see it; other members of your Team cannot

For enabling shared channels with external organizations, refer to [Microsoft's shared channels guide](https://learn.microsoft.com/en-us/microsoftteams/shared-channels).

### Option 2: Guest Access (Standard Channels)

Create a Team in your MS Teams workspace and invite customers as **guest users**. Guests join using any email address — no Microsoft 365 tenant is required on the customer's side.

**Recommended structure:** Create one Team per customer (e.g., "Acme Corp Support") and add channels within it for different topics. Because guests added to a Team can see all standard channels in that Team, keeping each customer in a separate Team ensures they cannot see each other's conversations.

* No Microsoft 365 tenant needed on the customer's side
* No IT admin action required on the customer's side — a simple invite is enough
* Customers must switch to a guest account in your tenant when using Teams

{% hint style="info" %}
**Which option is right for you?**

Use **guest access** if your customers may not have Microsoft 365 tenants, or if you prefer a simple invite-based setup with no admin action on their side.

Use **shared channels** if you want to give a more hands-on support experience to your customers and they are already working from Microsoft Teams.
{% endhint %}

## Setting Up Teams Channel

### Step 1: Connect Teams Integration

1. Go to **Settings** → [**Integrations**](https://web.clearfeed.app/settings/integrations) in ClearFeed
2. Find and select **Teams**
3. Click **Connect** to start the 2-step process<br>

   <figure><img src="/files/IImAEKi0Lyeh17EPTBvC" alt="" width="563"><figcaption></figcaption></figure>

### Step 2: Authorize ClearFeed

1. Click **Authorize** in the pop-up window
2. Sign in with your Microsoft credentials
3. Complete the OAuth authorization flow

<figure><img src="/files/UT1QmlIpbq0IuhmTkwuc" alt="" width="375"><figcaption></figcaption></figure>

### Step 3: Install ClearFeed Bot in Teams

1. Download the ClearFeed Teams App Package from the link shown

<figure><img src="/files/TFItf5DbLY1E1LNCLG55" alt="" width="375"><figcaption></figcaption></figure>

2. Open Microsoft Teams → **Apps** → **Manage Your Apps** → **Upload an app**

<figure><img src="/files/PHyEyMG8tCR3cJJ7qKhl" alt="" width="375"><figcaption></figcaption></figure>

3. Upload the downloaded App Package
4. Review the Overview & Permissions pop-up
5. Click **Add**

<figure><img src="/files/zVHToChruVZvYS81GFY6" alt="" width="375"><figcaption></figcaption></figure>

6. Select which Microsoft Teams channels to sync with Slack
7. Click **Go**

{% hint style="info" %}
If you're unsure about app permissions, check with your MS Teams administrator.
{% endhint %}

### Step 4: Add ClearFeed to your Team or channels

First, add ClearFeed to the **Team** where your customer channels live:

1. In Microsoft Teams, open the **Team**
2. Click **More options** (three dots) → **Manage team**

   <figure><img src="/files/rAC7LrB8HWOOn0w5xd7M" alt="" width="563"><figcaption></figcaption></figure>
3. Open the **Apps** tab
4. Click **Get more apps** button

   <figure><img src="/files/w16mfQPPcrdpecrFYpcu" alt="" width="563"><figcaption></figcaption></figure>
5. Search for **ClearFeed** and click **Open**

Then, follow the instructions below depending on whether you use [shared channels](#step-4-shared-channels) or [standard channels](#step-4-standard-channels):

#### Shared channels <a href="#step-4-shared-channels" id="step-4-shared-channels"></a>

For shared channels, add ClearFeed **in each shared channel** you want to monitor. Installing the app at the Team level alone is not enough—without adding it per channel, ClearFeed cannot post messages back to that channel.

1. Open the shared channel in Microsoft Teams
2. Click the **+** icon in the channel header
3. Click **Apps**

   <figure><img src="/files/rZ9JpbCbDumRZmnLAinQ" alt="" width="563"><figcaption></figcaption></figure>
4. Select **Manage your apps**

   <figure><img src="/files/6a81OoCTxdIh0IkWSok7" alt="" width="563"><figcaption></figcaption></figure>
5. Select **ClearFeed** from the list of apps
6. Click **Add**

   <figure><img src="/files/kfLRtBQXbG89Y0CB9NdT" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Shared channel support for existing customers**

Shared channel monitoring is supported natively for new ClearFeed customers. If you are an existing customer and shared channels are not appearing or syncing correctly, you may need an app update. Please contact ClearFeed support and we'll get you updated.
{% endhint %}

#### Standard channels <a href="#step-4-standard-channels" id="step-4-standard-channels"></a>

Adding ClearFeed to the **Team** is usually sufficient—the app is then available across all standard channels in that Team. If channels are missing in ClearFeed or messages are not syncing, open the Team → **Manage Team** → **Apps** and verify that **ClearFeed** is installed for that Team.

### Step 5: Create Teams Collection

Configure which Teams channels route to Slack:

1. Go to **Collections** in ClearFeed dashboard
2. Create a new **Teams Collection**
3. Select Teams channels to monitor
4. Choose a [Triage Channel](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup) in Slack
5. **(Optional)** Enable ticketing integration (Zendesk/Freshdesk) to auto-create tickets

{% hint style="info" %}
Configure [Workflows](/clearfeed-help-center/clearfeed-helpdesk/workflows) for your Teams Collection to get reminders for no response, SLA breaches, etc.
{% endhint %}

## Working with Teams Requests

Once configured, Teams conversations automatically appear in your Triage channel:

* Customers create conversations in Teams channels
* Conversations appear in Slack Triage channel
* Agents respond from Slack
* Replies sync back to Teams
* ClearFeed keeps both platforms synchronized

{% hint style="warning" %}
**Note on sync delays (shared channels only)**

When syncing **shared channels**, after installing the app or selecting channels, **new Teams messages and message updates may take up to 1 minute** to show up in ClearFeed/Slack.
{% endhint %}

## **Troubleshooting: Teams Channels Not Showing in ClearFeed**

If your Microsoft Teams channels do not appear in the **Select Channels** dropdown—especially after reinstalling or reconnecting the integration—this is typically caused by the ClearFeed app still being installed inside individual Teams.

This can happen if:

* You recreated your ClearFeed account
* You reinstalled the ClearFeed app in Teams
* ClearFeed was previously added to Teams/channels in an older setup

#### **Fix: Remove ClearFeed from All Teams Where It Was Previously Installed**

Follow these steps for every Team where ClearFeed may have been added:

1. Open **Microsoft Teams**
2. Select the **Team**
3. Click **Manage Team**
4. Go to the **Apps** tab
5. Find **ClearFeed**
6. Click the **three dots → Remove**

After removing the app from all relevant Teams:

7. Reinstall the ClearFeed app/bot using the steps in the setup guide
8. Add the bot again to the Teams or channels you want to sync
9. Return to ClearFeed → Collections → Teams Collection
10. The channels should now appear in the dropdown

#### **Why This Happens**

Microsoft Teams retains app associations at the Team level even after an account is deleted or the app is re-uploaded. These stale associations prevent ClearFeed from fetching the channel list correctly until the old app installations are removed.

## FAQs

1. **Can ClearFeed monitor private or shared channels?**\
   **Answer:** We support **shared channels**. However, we do not currently support monitoring of **private channels**.
2. **Can we use ClearFeed with our customer's Teams account?**\
   **Answer:** ClearFeed monitors channels in **your** MS Teams workspace — not your customer's. There are two ways to bring customers into your workspace:\\
   * **Guest access:** Invite customers as guest users to a Team you create in your workspace. No Microsoft 365 tenant is needed on their side. Best practice: Create one Team per customer so guests cannot see each other's channels.\\
   * **Shared channels:** Create shared channels that connect your Team with the customer's own Microsoft 365 tenant. Customers participate using their existing work identity without switching accounts, but this requires IT admin configuration on both sides.
3. **Why do I see an error when reinstalling ClearFeed?**\
   **Answer:** ClearFeed may still exist in **Teams Admin Center** even after removal from Teams interface. Go to [Teams Admin Center – Manage Apps](https://admin.teams.microsoft.com/policies/manage-apps), search for **ClearFeed**, and remove it. Contact your Teams admin if you don't have access.
4. **What happens if a customer replies to a closed ticket thread?**\
   **Answer:** ClearFeed automatically creates a follow-up ticket in your ticketing system (e.g., Zendesk), ensuring new activity is captured without manual intervention.
5. **Why can’t I see my Teams channels in the ClearFeed channel selector?**\
   **Answer:** ClearFeed may have been installed previously in certain Teams (even from an older or deleted account). Remove the ClearFeed app from **Manage Team → Apps** for each affected Team, then reinstall the app. After this, Teams channels will appear correctly in the ClearFeed dropdown.
6. **Do I need to upload the ClearFeed app package every time I create a new Team?**\
   **Answer:** No. Once the ClearFeed app is uploaded to your Microsoft Teams tenant, you do not need to upload the app package again for each new Team. Simply add the ClearFeed app to the new Team from the Teams UI.

   <br>


# Discord

Set up Discord as a channel in ClearFeed

ClearFeed integrates with Discord to bring customer requests from Discord servers directly into your Slack Triage Channels. This creates a unified workflow where your support team can manage and respond to Discord messages without leaving Slack.

{% hint style="info" %}
**Requirements:**

* **Authorization:** A Discord user with the **Manage Server** permission must authorize ClearFeed
* **Server access:** You must be a member of the Discord server you want to connect
  {% endhint %}

## How It Works

When customers send messages in Discord:

1. Messages automatically appear in your Slack Triage Channel
2. Support agents respond from Slack
3. Responses sync back to Discord in real-time
4. Conversations remain synchronized across both platforms
5. Requests can be converted to trackable tickets

## Setting Up Discord Channel

### Step 1: Connect Discord Integration

1. Go to **Settings** → [**Integrations**](https://web.clearfeed.app/settings/integrations) in ClearFeed
2. Find and select **Discord**
3. Click **Connect** to start the authorization flow

<figure><img src="/files/DshEu2JOoaPcmfXLvJNT" alt="" width="563"><figcaption></figcaption></figure>

### Step 2: Authorize ClearFeed Bot

1. You will be redirected to Discord
2. Sign in to Discord if prompted
3. Select the Discord server you want to connect to ClearFeed
4. Review the requested bot permissions:
   * View Channels
   * Send Messages
   * Read Message History
   * Manage Webhooks
5. Click **Authorize**

Once authorization completes, the ClearFeed bot will be added to your selected server and you will be redirected back to ClearFeed.

<figure><img src="/files/2nHMRXENKeHYhqgoX04F" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
**Manage Webhooks** is required so ClearFeed can post replies on behalf of your responders, displaying their name and avatar in Discord.
{% endhint %}

### Step 3: Create Discord Collection

Configure which Discord channels route to Slack:

1. Go to **Collections** in the ClearFeed dashboard
2. Create a new **Collection**
3. When prompted to choose a messaging platform, select **Discord**
4. Select the Discord channels to monitor
5. Choose a [Triage Channel](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup) in Slack
6. Save the collection

<figure><img src="/files/EKUjiUN58hpLlUcVrJFO" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
ClearFeed supports monitoring **text channels** and **forum channels** in Discord. Every new message in a monitored text channel, and every new forum post in a monitored forum channel, is tracked as a separate request.
{% endhint %}

## Working with Discord Requests

Once configured, Discord conversations automatically appear in your Triage channel:

* Customers post messages in monitored Discord channels
* Each new message (or forum post) appears in the Slack Triage channel as a request
* Agents respond from Slack
* Replies are posted back to Discord — for text channels, ClearFeed creates a thread on the original message and posts replies there; for forum channels, replies go into the existing forum post thread
* Replies appear in Discord with the responder's name and avatar
* ClearFeed keeps both platforms synchronized, including message edits and deletions

## FAQs

1. **Can ClearFeed monitor private Discord channels or DMs?**\
   **Answer:** No. ClearFeed only monitors public text and forum channels in the connected Discord server. Private channels, DMs, and voice channels are not supported.
2. **Can I connect more than one Discord server to the same ClearFeed account?**\
   **Answer:** No. Each ClearFeed account can be connected to a single Discord server at a time.
3. **Can the same Discord server be connected to more than one ClearFeed account?**\
   **Answer:** No. A Discord server can only be connected to one ClearFeed account at a time.
4. **What kinds of Discord channels are supported?**\
   **Answer:** ClearFeed supports **text channels** and **forum channels**. Voice channels, private channels, and DMs are not supported.
5. **How do replies appear in Discord?**\
   **Answer:** Replies are posted via Discord webhooks so that the responder's name and avatar are shown on the message. For text channels, the reply is posted inside a thread on the original message. For forum channels, the reply is posted in the existing forum post thread.
6. **Can I create tickets in Zendesk, Freshdesk, or other external systems from Discord requests?**\
   **Answer:** Discord collections currently support ClearFeed's native ticketing only. External ticketing systems are not available for Discord collections.
7. **My Discord channels are not showing up in ClearFeed. What should I do?**\
   **Answer:** Use the **Refresh channels** option in the channel picker to re-fetch the latest list of channels from Discord. Newly created channels in Discord are also picked up automatically.
8. **How do I disconnect Discord from ClearFeed?**\
   **Answer:** Go to **Settings → Integrations**, open the Discord integration, and click **Disconnect**. You can reconnect to the same Discord server at any time.


# Overview

ClearFeed provides multiple ways to manage support requests. Each option is designed for different workflows and user preferences, allowing you to choose the best approach for your team's needs. All interfaces work together seamlessly:

* **Actions sync across platforms** - Changes made in one interface appear in others
* **Real-time updates** - Request status changes are reflected immediately
* **Unified data** - All interfaces access the same request information
* **Flexible workflows** - Switch between interfaces based on current needs

## Available Interfaces

### [Triage Channel](/clearfeed-help-center/managing-requests/triage-channel)

**Your central command center in Slack**

* Consolidate all requests from multiple channels in one place
* Reply to customers directly from the triage channel
* Manage request properties (status, priority, assignee)
* Configure public/private comment visibility
* Access GPT-powered agent assistance

### [ClearFeed WebApp](/clearfeed-help-center/managing-requests/clearfeed-webapp)

**Comprehensive web-based interface**

* Advanced filtering, sorting, and bulk operations
* Kanban and List views for different workflow preferences
* Detailed request drawer with full conversation history
* Powerful search capabilities (keyword, phrase, user-based)
* Reporting and data export functionality

### [ClearFeed App for Slack](/clearfeed-help-center/managing-requests/clearfeed-app-for-slack)

**For Requesters to view their request and Agents to search the tickets**

* View and filter requests within Slack's App Home
* Quick actions for assigning, reassigning, and solving requests
* "My Tickets" view for requesters to track their submissions
* Natural language search using `/cf-query` command

### [API & MCP](/clearfeed-help-center/managing-requests/api-and-mcp)

**Programmatic access to manage requests**

* REST API for creating, searching, updating, and closing requests
* MCP (Model Context Protocol) server for AI agent integration
* Webhook subscriptions for real-time event notifications
* Integrate ClearFeed into your custom tools and workflows

### [Google Sheets](/clearfeed-help-center/managing-requests/google-sheets)

**Access ClearFeed data in spreadsheets**

* Import request and insights data directly into Google Sheets
* Build custom reports and dashboards
* Share data with stakeholders who prefer spreadsheet workflows
* Schedule periodic data refreshes


# Triage Channel

Triage Channels are dedicated Slack channels powered by ClearFeed. They serve as your team's central command center, enabling agents to efficiently manage, respond to, and track requests and tickets originating from various channels, including Slack, MS Teams, Email, Portal, Web Chat, and API. Learn more about Triage Channel [here](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup)

## Accessing Triage Channels

Triage Channels appear as regular Slack channels in your workspace. Once configured, ClearFeed automatically posts new requests to the triage channel as threaded messages, allowing your support team to collaborate and respond efficiently.

To find your triage channels, navigate to ClearFeed WebApp and Check **Settings > Triage**\
**Settings** in the ClearFeed WebApp to see all configured triage channels.

## Responding to Requests from Triage

### Public Replies (Visible to Customers)

The visibility of your replies depends on your **Triage Comment Visibility** setting:

**If set to "Public" (default):**

* All messages you post in the triage thread are synced to the customer's channel
* To keep a message internal, prefix it with the 🔒 emoji
* Example: `🔒 This customer has been difficult in the past, handle with care`

**If set to "Private":**

* By default, messages stay internal to your team
* To send a message to the customer, prefix it with the 📢 emoji
* Example: `📢 Hi! We've resolved your issue. Please verify it's working.`

{% hint style="warning" %}
Emoji visibility modifiers only work when added **before** sending the message - Editing a message to add 🔒 or 📢 after sending will **not** change its visibility
{% endhint %}

### Slack Message Link Previews in Synced Replies

When someone pastes a Slack message link in a synced request or triage thread, Slack may add a preview of the linked message after the message is posted. ClearFeed syncs that preview in both directions between the Request Channel and the Triage Channel, so responders can see the referenced message context wherever they are working.

This applies to message links shared from the Request Channel and the Triage Channel — previews are synced in both directions, including from the Triage Channel back to the Request Channel. Message forwards are also synced. If the sender removes the Slack link preview from the original message, ClearFeed removes the synced preview as well.

## Handling Emails from Triage Channels <a href="#tips-on-handling-emails-from-triage-channels" id="tips-on-handling-emails-from-triage-channels"></a>

#### Deleting Emails

* You will find a dedicated button for email tickets on the triage channel called `Delete Email`.
* If a new Email ticket comes into triage - and you recognize that as spam, click on the `Delete Email` button to remove it from the triage channel.
  * If you delete an email ticket from triage, any replies on that email thread will no longer sync to Slack and the ticket will not reopen.
* If there are existing responses from your team on the email ticket, the Delete Email button collapses the thread on triage and doesn't sync any future replies.

{% hint style="info" %}
You can hide the Delete Email option for email-based tickets in the triage channel. If you'd like this disabled for your account, please contact ClearFeed support.
{% endhint %}

## Internal Notes and Collaboration

For internal team discussions—such as asking clarifying questions, sharing background context, coordinating handoffs, or tagging teammates for their expertise—ClearFeed supports two ways to collaborate:

* **From the Triage Channel**
* **From the Request Channel**

Regardless of which option you choose, **all comments sync to the connected ticketing system**, ensuring consistent context across Slack and your ticketing tool.

### Adding Private Notes From Triage Channel

Depending on your [**Triage Comment Visibility**](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup#triage-comment-visibility) settings, you can collaborate internally by:

* Prefixing your message with the :lock: emoji, **or**
* Simply typing and sending your message (if configured to treat all triage messages as private)

These notes stay within the triage workflow and **do not sync back to the Request Channel**.

{% hint style="info" %}
If "Disable tagging Slack users on Triage Channel" is enabled, @mentions in triage won't trigger notifications to avoid duplicates when users are also mentioned in the original request channel.
{% endhint %}

### Adding Private Comments from the Request Channel

This option is available **only when a Triage Channel exists**.

When a Triage Channel is configured for a Collection, users can add **Private Comments** directly to the external ticketing system from the Request Channel.

To add a private comment:

1. Open the thread in the Request Channel.
2. Click the `...` menu on the ticket message block.
3. Select **Add Private Comment**.

Private comments appear **only** in the connected ticketing system and are **not visible** on the public Slack thread.

{% hint style="warning" %}

* Messages posted directly in the **Request Channel** are always visible to everyone in that Slack channel, including customers even if the message includes :lock:emoji.
* Internal note behavior applies **only** to messages posted in the **Triage Channel**, and follows your configured **Triage Comment Visibility** settings.
* If you post a message starting with an internal-note emoji in the Request Channel, ClearFeed shows a warning to clarify that the message will **not** be treated as private.
  {% endhint %}

## Managing Request Properties

You can update request properties directly from the triage channel using emoji reactions or by interacting with the ClearFeed bot message:

* **Status**: Update using reactions or the status dropdown
* **Priority**: Change priority level (Low, Medium, High, Urgent)
* **Assignee**: Assign or reassign requests to team members
* **Custom Fields**: Update any custom fields configured for your collection

Changes made in the triage channel are immediately reflected in the ClearFeed WebApp and synchronized with any linked external tickets.

{% hint style="success" %}
**Pro-tip:**\
ClearFeed displays a vertical color bar on ticket messages in triage channels to visually indicate ticket status:

* **Red:** Open
* **Yellow/Orange:** In-Progress or Pending
* **Green:** Closed/Solved

In rare cases, there may be a short delay in updating the color bar in Slack after a ticket's status changes.
{% endhint %}

## Using AI Agents

If AI Agents is enabled for your collection, ClearFeed will automatically fetch the relevant answers from the attached Knowlede Sources and post it publicly or privately based on whether it has been set up as Virtual Agent or Agent Assistant. Learn more about this [here](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents).

## Creating or Linking Tickets and Tasks

From a triage channel thread, you can:

* **Create tickets** in external systems (Jira, Zendesk, Freshdesk, etc.) using configured emoji reactions
* **Link existing tickets** to track work in your ticketing system
* **Create tasks** in project management tools (Linear, GitHub, ClickUp, Asana) for follow-up work

Refer to [Creating or Linking Tickets](/clearfeed-help-center/how-it-works/creating-or-linking-tickets) and [Creating or Linking Tasks](/clearfeed-help-center/how-it-works/creating-or-linking-tasks) for details.

## Proactively Starting Conversations

You can initiate conversations with customers directly from your Triage Channel using the `/cf-start-thread` command. This allows you to:

* Reach out proactively with updates or check-ins
* Follow up on previous conversations
* Share important announcements
* Initiate support before customers ask

Learn more about [Creating Requests from Triage Channel](/clearfeed-help-center/how-it-works/creating-requests/from-triage-channel)

## Syncing Private Comments with Ticketing Systems

If you're using an external ticketing system (Zendesk, Freshdesk, etc.), your triage channel can sync private comments bidirectionally:

**From Triage to Ticketing System:**

* Private comments (🔒) can be synced to your ticketing system as internal notes
* Configure whether all private comments sync, or only those reacted with :pencil: emoji

**From Ticketing System to Triage:**

* Internal notes from your ticketing system can be synced back to the triage channel as private comments
* Currently supported for Freshdesk (as private notes) and Zendesk (as internal comments)

## Triage Notifications and Digests

ClearFeed sends automatic reminders to keep your team on top of open requests:

* **Daily Digest**: Notifies daily for requests that are 'Open' and require attention, highlighting those with High priority
* **Weekly Digest**: Every Monday, reminds you of unsolved requests from the last month up\
  to the most recent week

These digests are posted directly in your triage channel to keep the team informed. Learn more [here](/clearfeed-help-center/clearfeed-helpdesk/digests)

## Setting Up or Configuring Triage Channels

For information about setting up, configuring, or managing triage channel settings, see [Triage Channel Setup](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup)

## FAQs

1. **Could we make the default setting of the triage channel to have all messages treated as internal comments and only selected messages to go into customer channels?**\
   **Answer:** Yes, you can use the Comment Visibility option in Triage Settings to configure this. Setting Comment Visibility to **Private** will make messages internal by default, requiring users to prefix messages with the 📢 emoji to have them flow into the customer channels.
2. **Can we edit any message and put the 🔒emoji to make it visible internally?**\
   **Answer:** No, once a message is sent in a thread, it will be public. Editing the message by placing emoji post sending will not make it internal/private.
3. **Will customers see the triage channel or know we're using it?**\
   **Answer:** No, customers never see the triage channel. They only see replies sent to their original request channel (or via email/other channels). The triage channel is entirely internal to your support team.
4. **Can I respond to requestsfrom both the triage channel and the original request channel?**\
   **Answer:** Yes, you can respond from either location. Responses are bidirectionally synced, so your team sees all replies in the triage channel regardless of where they were posted.
5. **How do I find the triage thread for a request from the requester channel?**\
   **Answer:** To quickly locate the corresponding triage thread for a request in Slack:

   * In the requester channel, hover over the original thread message
   * Click on the three dots (**More Actions**) menu
   * Select **Connect to Apps > ClearFeed Actions**
   * Click the **View in Triage** button to jump to the triage thread

   <figure><img src="/files/vSFEKijmrsD2Iv97LssV" alt="" width="563"><figcaption><p>Finding the Triage Thread from a Requester Thread</p></figcaption></figure>


# ClearFeed WebApp

The **ClearFeed WebApp** is your central command center for managing support requests, tickets, and team workflows. Navigate to the **Inbox** from the left sidebar to view, filter, organize, and respond to requests across all your collections. Note that requests and tickets are used synonymously in this article.

The ClearFeed WebAp provides you:

* A **unified dashboard** to view, filter, and triage requests.
* A **request details drawer** to reply, add notes, and take actions.
* **Advanced controls** like bulk actions, search, Kanban/List Views etc.

<figure><img src="/files/na71kPyaXTH49RsyWIMe" alt="" width="563"><figcaption><p>Viewing and editing requests on ClearFeed web application</p></figcaption></figure>

## Navigating the Inbox

You can manage requests in two primary ways:

* **Collections**: A Collection groups requests based on their source, such as Slack channels, DMs, or email. This is your go-to space for organizing and accessing requests by origin. You can also add new channels or collections. Learn more [here](/clearfeed-help-center/clearfeed-helpdesk/collections).
* **Views**: Views are saved combinations of filters that help you quickly access specific subsets of requests - ideal for managing different aspects of your support workflows. Learn more [here](/clearfeed-help-center/clearfeed-helpdesk/views).

{% hint style="info" %}
Even if messages are deleted due to the configured **Data Retention Period**, the **request/ticket will continue to appear** in **Collection & Views.**

ClearFeed **does not exclude requests** from these views based on the data retention period.
{% endhint %}

## Actions Available in Views and Collections

The following actions help you organize, manage, and take action on requests across both **Collections** and **Views:**

* [Filter Request](#filter-requests)
* [Customize Display](#customize-display)
* [Bulk Edit](#bulk-edit-requests)
* [See Request Details](#request-details-drawer)
* [Request Search](#request-search)
* [Download Requests](#download-requests)

### Filter Requests <a href="#filter-requests" id="filter-requests"></a>

Filters let you zero in on specific requests using parameters like **status**, **assignee**, **SLA breach**, and more.

Common filters include:

* **Status**, **Assignee**, **SLA Breach Status**, **Time Duration, Channel** and **Custom Fields**
* **Created/Updated/Resolution Date**: Filter requests by when they were created or last updated or resolved. Options include:
  * Last 7/30/90/180 days
  * Older than 7/30/90/180 days
  * All Time
  * Absolute - Custom date range
* **Requests with Tickets**: Shows only requests that have associated tickets.
* **Involves**: View requests involving team members (e.g., creators, repliers, or mentioned users).
* **Mentions**: See requests where specific users are tagged in the conversation.
* **Author (Slack App DMs only)**: Filter requests based on the message author.
* **Customer:** Shows only requests for the selected Customer.

{% hint style="info" %}
For accounts with **Customer Centric Inbox** enabled, you can filter Requests using additional criteria, including **Customer Owner, Source Type** (Slack, MS Teams, API, Portal, Email, Webchat) and any configured **Customer Custom Fields**. Learn more about Customer Centric Inbox [here](/clearfeed-help-center/clearfeed-helpdesk/customers#customer-centric-inbox).
{% endhint %}

**To apply filters:**

* Click **Add Filter** to open the filter dropdown.
* Choose a field (e.g., Priority, Collection, Status) from the dropdown.
* **Select values** you want to include/exclude and click **Apply**.
* **Combine multiple filters** for precise results.
* Remove filters by clicking the ❌ icon on any filter tag.

{% hint style="info" %}

* You can **save filters as a Custom View**. Default Views may include uneditable filters. Learn about Custom Views [here](/clearfeed-help-center/clearfeed-helpdesk/views#custom-views).
  {% endhint %}

### Customize Display

Tailor how requests are displayed using layout options, grouping, column controls, sorting, and pagination—so you can work the way that suits your workflow best.

**Layout Modes**

You can switch between two display modes at the top of the Inbox:

* [**List View**](#list-view): A table layout ideal for quickly scanning request details and performing bulk actions
* [**Kanban View**](#kanban-view): A visual board for managing requests via drag-and-drop interaction

#### List View

The **List View** is ideal for users who need a detailed, spreadsheet-like interface for managing large volumes of requests.

**Key Features:**

* Display requests in a sortable, customizable table
* Quickly scan key fields like **Status**, **Assignee**, **Priority**, **SLA**, and **Dates**
* Apply **filters**, perform **bulk edits**, and group requests for better visibility
* Customize which fields appear using the **Configure Columns** icon
* Group requests using the **Group** button (by **Assignee** or **Status**)

{% hint style="info" %}
You can now view the CSAT rating and comment directly in the List View. Use the 'Configure Columns' option to add them as visible columns.
{% endhint %}

**Pagination in List View:**

* Navigate through pages using controls at the bottom of the table
* Choose how many requests to show per page: **10 / 20 / 50 / 100**
* Bulk edits only apply to requests shown on the current page

**Sorting in List View:**

* Sort by any column (e.g., **Created Date**, **Updated Date**, **Resolution Date**, or custom date fields)
* Click a column header to sort; click again to toggle between ascending and descending
* Sorting works independently of filters and pagination

{% hint style="success" %}
💡 **Pro Tip:** Use List View when you need to filter, review, and update many requests quickly.
{% endhint %}

#### Kanban View

The **Kanban View** provides a visual, board-style interface for request triaging and tracking. In the Kanban view, each request tile displays the originating Slack channel name as a clickable link (opens the channel in Slack) and the customer domain name (if available).

**Key Features:**

* Drag and drop requests across columns to update their **Status** or **Assignee**
* Use inline icons on each card to quickly change **Priority**, **Assignee**, or **Status**
* Group and sub-group requests using:
  * **Group By:** Status or Assignee
  * **Sub-Group By:** None, Status, or Assignee

{% hint style="warning" %}
**Note:** Assignees without requests/tickets are hidden from the Kanban view
{% endhint %}

**Pagination in Kanban View:**

* Each column has **independent pagination**
* More requests load automatically when you scroll to the bottom of a column

**Sorting in Kanban View:**

* Requests in each column are sorted by **Created Date** (most recent first) by default
* You can sort by other date fields like **Updated Date**, **Resolution Time**, or any custom date field
* Toggle between **ascending** and **descending** order from the sort menu

<figure><img src="/files/9XyJd2l2f9eWQiNpG4ML" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
💡 **Pro Tip:** Use Kanban View when you prefer a visual workflow for request handling.
{% endhint %}

### **Bulk Edit Requests**

Bulk edit lets you modify multiple requests simultaneously, saving time on routine updates.

**How to Bulk Edit:**

* Use the checkboxes on the left side of the list to select one or more requests.
* Choose whether to **Mark as Solved** or **Edit Properties** like Assignee, Status, or Priority.
* If marking as solved, click **Confirm** on the pop-up to apply the change.
* If editing properties, select the field and value you want to apply to all selected requests, then click **Submit**.

{% hint style="danger" %}
Bulk edits apply only to the requests visible on the current page.
{% endhint %}

### Request Search

#### Search by ID

Quickly locate a request using the **ClearFeed Request ID (CF-ID)**.

* Access the search bar on the dashboard.
* Use `Ctrl + K` (or `Cmd + K` on Mac) as a shortcut.
* CF-IDs can be found in Slack threads or within the web app.

<figure><img src="/files/HrYpHv5YFqk8UuROU0ah" alt="" width="563"><figcaption><p>Serach requests from Webapp</p></figcaption></figure>

{% hint style="success" %}
**Pro Tip:** Hit Ctrl + K (Command + K on Mac OS) to quickly open the search bar
{% endhint %}

#### Keyword & Phrase search

The Keyword & Phrase Search feature helps you quickly find the right requests or conversation across your monitored Slack channels, email threads, and other connected sources — without endless scrolling.

With keyword search, request ID lookups, and user-based filters, you can locate past requests, review message history, and jump directly to the context you need.

**What You Can Do**

* **Find requests by keywords** – Enter any keyword or phrase to search through request titles and conversation messages. Matching text appears highlighted in the results for quick scanning.
* **Jump to a request by its CF ID** – If you know the request CF ID (e.g., `CF-370`), type it in to go straight to that request.
* **Search by user** – Type `@` followed by a name or email to search results by messages from that person. Works for both internal team members and external users in your Slack workspace.
* **View recent searches** – Your last 5 searches are saved locally so you can quickly run them again.

**How to Use Search**

1. **Open the search interface**
   * Click **Search** in the top-left of the navigation, under the header **Inbox**.
   * A dedicated search panel will open, showing your recent searches.
2. **Type your search query**
   * Enter search keywords and `@username` or a request CF-ID and hit `<Enter>`.
   * Autocomplete suggestions will appear for matching users and request IDs.
3. **Review search results**
   * Results include titles, matching message snippets, and request IDs.
   * You’ll see up to 20 results per page (with more available via pagination).<br>

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong></p><ul><li>Search results are limited to a maximum of 100 right now.</li><li>Sort order persists only within the current browser session and resets to Relevance when a new session starts. The duration filter, however, is always preserved across sessions. After a browser restart, users will see their duration filter retained but sort order reset to Relevance.</li></ul></div>
4. **Open a request**
   * Click any result to jump directly to that request.
   * For message matches, ClearFeed will scroll you to the exact message within the request.
5. **Sort by relevance or recency**
   * By default the search results are sorted by relevance.
   * Requests that match the search keywords more closely in terms of keyword and semantic match are ranked higher.
   * You can sort requests by time instead by using the `Sort By` dropdown next to the search bar.

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> In the search results panel, sorting is limited to relevance or recency. Direct sorting by other fields (such as 'Created') is not supported.</p></div>
6. **Narrowing search results using Time filter**
   * Search results are limited to 100 and may not show all the requests matching the search keywords.
   * By default, no time filter is applied - and all requests available in ClearFeed are searched.
   * To see all matching results for some keywords, apply a time filter using `Requests Created` dropdown next to the search bar.

**Search Behavior by Product Edition**

* **External and Integrations Product Edition:** Search results include **all requests**, whether a ticket has been created or not.
* **Internal Product Edition:** Search results include **only tickets**.

**Tips for Best Results**

* Combine **keywords** with **user tags** to narrow down to messages from a specific person on a specific topic.
* Use **request CF IDs** when you know exactly what you’re looking for.
* Shorter, unique phrases often return the most relevant matches.
* Use a time filter if more than 100 search results are being retrieved.

### Download Requests

There are two ways to export request data:

1. **From the Dashboard** (Views or Collections):
   * Click the **Download** button in the top-right corner.
   * Export includes only data based on active filters.

     <figure><img src="/files/BIRBArdpTIrGz2VCPsGD" alt="" width="563"><figcaption><p>Example from the Collection Dashboard</p></figcaption></figure>
2. **From Collection Settings**:
   * Go to **Additional Settings** > **Download**.
   * Specify a date range before downloading.

     <figure><img src="/files/J9vnTWEM50Z2OkhvH6r3" alt="" width="563"><figcaption><p>Example from the Additional settings of collections</p></figcaption></figure>

### Request Details Drawer

<figure><img src="/files/ji5lmv2NVOk7KpJzaxav" alt="" width="563"><figcaption><p>Request drawer view in ClearFeed Web Application</p></figcaption></figure>

Clicking a request opens the details drawer on the right-hand side. This is where most agent actions take place.

#### What You See

* **Requester & Channel Info**: Who raised the request and where.
* **Conversation History**: Full message thread across Slack, email, or other integrations along with [**Virtual agent/Agent Assistant**](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents) responses.
* **Metadata**: Request type, priority, SLA, linked ticket info etc.

**Actions**

* **Modify request properties** including assignee, priority, and status.
* Edit the request **title** by clicking on it
* Classify interactions as **Not a Request** to exclude them from tracking and reporting.
  * 'Not a Request' option is only available for Slack-originated requests, not for email or web chat tickets.
* Responding to Requests
  * Respond to customers with **public replies** and continue the conversation.
  * Use **Summarize** above the reply editor to generate an AI summary of the request thread. The summary appears progressively in a separate **Thread summary** panel, can be copied, and does not change your draft reply. This option is shown only when AI is enabled for your account.
  * **Tag Slack users** on replies by adding @ and typing out their Slack handles. These users will be notified on Slack if tagged in replies.
  * Share private comments visible only to your team (similar to using the 🔓 emoji in triage channels). If a triage channel is not configured, these private comments are shown only in the Web App.
  * Send **attachments** in public or private replies using either:
    * **Clip Icon Method**: Click the clip icon in the thread to attach files
    * **Slash Command Method**: Type "/" in the Reply Editor, then select "Attachments" from the popup menu using arrow keys or mouse click
  * **Delete replies and comments** by hovering over the comment and clicking on the three dots to view the **Delete** option.
  * **Note:** Editing replies or comments is not supported in the ClearFeed WebApp. To make changes, post a new reply or comment with the updated information.

{% hint style="info" %}
By default, replies from the WebApp are posted to Slack as the ClearFeed bot (with username and avatar of the person replying). Refer to [this ](#post-replies-in-slack-as-yourself)guide for more details and post as Yourself.
{% endhint %}

* Access **Activity Logs** to track key actions such as:
  * CSAT submissions
  * Blocker status changes
  * Request classification updates
  * Status changes in the Request
  * Assignment Changes in the Request

### Handling Emails from WebApp <a href="#tips-on-handling-emails-from-triage-channels" id="tips-on-handling-emails-from-triage-channels"></a>

**Delete Email for Email Tickets**

* The Delete Email action is available for email-originated tickets. When you use this option, the ticket is deleted from ClearFeed and will not reopen, even if there are follow-up replies to the original email thread. This is similar to the Not a Request option used for Slack requests. The Delete Email option is not shown for Tickets that are already marked Solved.
* **Important:** Deleting an email ticket in ClearFeed does **not** delete the original email from Gmail or your email provider; it only removes the ticket from ClearFeed.
* Use `Delete Email` primarily for spam or irrelevant emails. For other cases where you may want the ticket to reopen on future replies, use the regular ticket states (e.g., mark as solved) instead.
* If there are existing responses from your team on the email ticket, the Delete Email button collapses the thread on triage and doesn't sync any future replies.

## Post Replies in Slack as Yourself

By default, replies from the WebApp are posted to Slack as the ClearFeed bot (with username and avatar of the person replying). From Slack’s perspective, these messages come from the bot, not the actual user and as a result, the user who replied is **not notified** when new messages are addd to the Slack thread.

To improve this experience, ClearFeed provides you with an option to post on your behalf using **Slack OAuth connection**, ensuring you receive notifications and the conversation flows naturally.

### **Setup**

* If you have not authorized yourself, everytime you reply to a Slack-linked request from the web app, ClearFeed gives you an option to connect via Slack and reply using your Slack identity to get notified about replies. Make sure you complete this Slack authorization using the **same email/Slack user** that you use in your Slack workspace. If the email used to log into the ClearFeed WebApp does not match the email of your Slack workspace user, the Slack OAuth step can fail with an error.

<figure><img src="/files/RHo6z3q8ok15wNil0kFt" alt="" width="563"><figcaption></figcaption></figure>

* Click on "Connect Slack" and you will be redirected to Slack authorization page. Click "**Allow"**

  <figure><img src="/files/yLg6fLOKpDozKzGwhAS1" alt="" width="563"><figcaption></figcaption></figure>
* Your Slack account is now linked.

### **Using the Feature**

If you have connected to Slack and authorized ClearFeed, you will be prompted to select a target channel when replying (if both options are available):

* **Request Channel** – Displayed only if the request has an associated request channel.
* **Triage Channel** – Displayed only if a triage channel is configured for your collection.

ClearFeed remembers your last selection for future replies.

#### Channel Membership Behavior

If you are not a member of the selected channel:

* **Public channel** – Your reply will be posted, but you will not receive notifications unless you join the channel.
* **Private channel** – ClearFeed (via the bot) will first invite you to the channel and then post the reply on your behalf.

#### Attachments

If a user (authenticated with a user token) sends a reply from the web app that includes attachments, the posting behavior depends on how many channel options were shown and which channel was selected.

#### **When Two Channel Options Are Shown**

**Selected Slack Channel**

* The text message is posted as the user.
* Attachments are also posted as the user.

**Channel Not Selected**

* The text message is synced as a whitelisted user.
* The attachment is posted by the bot with the note: *“Uploaded by \<User>”*.

#### **When Only One Channel Option Is Shown**

* The text message is posted as the user.
* Attachments are also posted as the user.

## FAQs

1. **What are the limitations on attachments when uploading through the ClearFeed web app?** **Answer:**
   * **Number of Attachments:** You can upload up to 10 attachments in a single message.
   * **Maximum File Size:** Each file can be up to 100MB in size.
   * **Unsupported File Types:** Certain file types are not supported. You can find a list of restricted file types in this [article](https://slack.com/intl/en-in/help/articles/1500002249342-Restricted-file-types-in-Slack-Connect).
2. **How are messages with attachments handled in the ClearFeed web app?** **Answer:** When you send a message with attachments, two separate messages will be sent:
   1. The first message contains the actual text or content of your message.
   2. The second message includes the attachments.
3. **Does the web dashboard have a Dark Mode? How can we enable Dark Mode on the ClearFeed web app?** **Answer:** Yes, ClearFeed's Web Dashboard has a dark mode. You can toggle it by hovering your profile icon at the bottom left of the screen.

   <figure><img src="/files/6h6azINvyP97lWVwXUJZ" alt="" width="344"><figcaption></figcaption></figure>


# ClearFeed App for Slack

The ClearFeed App for Slack brings request management directly into your Slack workspace. View, filter, and manage requests without leaving Slack — and use natural language search to find exactly what you need.

The app provides two main experiences:

* **App Home for Agents** — For responders to view, filter, and take action on requests
* **App Home for Employees** — For employees to track their own submitted tickets
* **Slash Command** — Natural language search to quickly find any request

***

## App Home for Agents

<figure><img src="/files/undmNRtihXxJSNQ1SEvS" alt="" width="563"><figcaption><p>ClearFeed App Home used for filtering requests</p></figcaption></figure>

The App Home for Agents allows responders to view and filter all requests within Slack. You can assign, re-assign, or mark requests as solved directly from the list.

**Features:**

* View all requests across collections in one place
* Filter by state, priority, assignee, and more
* Take quick actions using the three-dots menu on each request

{% hint style="info" %}
**Agent-only view:** This is visible only to users added to the ClearFeed WebApp.

For advanced filters, views, and display options, use the [ClearFeed WebApp](/clearfeed-help-center/managing-requests/clearfeed-webapp).
{% endhint %}

***

## App Home for Employees (My Tickets)

<figure><img src="/files/9G53NwN6QbWJnzPVyWFm" alt="" width="563"><figcaption><p>My Tickets view on the ClearFeed App for Slack</p></figcaption></figure>

**My Tickets** helps employees view the tickets they've created — all without leaving Slack.

**Features:**

* See all tickets you've submitted
* Filter by time range
* Click any ticket to jump to the source for updates

{% hint style="info" %}
**Requester-only view:** This is visible only to users who are not added to the ClearFeed WebApp.
{% endhint %}

***

## Slash Command: Natural Language Search

The `/cf-query` slash command lets you search through tickets and requests using plain English. Instead of filtering through lists, just describe what you're looking for.

**How to use:**

1. Navigate to any Slack channel
2. Type `/cf-query` followed by your search in natural language
3. Press Enter

**Example queries:**

* `/cf-query Show me tickets from last week tagged as urgent`
* `/cf-query High priority requests assigned to John`
* `/cf-query Open tickets from the sales channel`

<figure><img src="https://docs.clearfeed.ai/clearfeed-help-center/~gitbook/image?url=https%3A%2F%2F1159203866-files.gitbook.io%2F~%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FKXDOwIQkf9zr2MvIxdC0%252Fuploads%252FRw9XgJ33F6XNv5HouPqN%252FScreenshot%25202025-03-10%2520205903.png%3Falt%3Dmedia%26token%3D72156630-e5df-47e6-9f41-09d87941d313&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=eec979da&#x26;sv=2" alt=""><figcaption><p>Natural language search example</p></figcaption></figure>

The AI interprets your query and shows you matching requests with applied filters. Review and adjust the filters as needed to refine results.

For more details on natural language search, see [Search Using Natural Language](/clearfeed-help-center/clearfeed-ai/search-using-natural-language).


# API & MCP

ClearFeed provides two programmatic ways to manage requests: the **REST API** for direct integration and the **MCP server** for AI agent workflows.

***

## REST API

ClearFeed's REST API provides comprehensive access to create, search, update, and analyze requests. Build custom integrations, automate workflows, and connect ClearFeed to your existing tools.

### What You Can Do

| Area              | Capabilities                                        |
| ----------------- | --------------------------------------------------- |
| **Requests**      | Create, search, update, post messages, close        |
| **Insights**      | Query response times, SLA metrics, team performance |
| **Customers**     | Look up and update customer information             |
| **Collections**   | List collections, add channels                      |
| **Custom Fields** | List, create, update, delete custom fields          |

### Getting Started

1. Generate a **Personal Access Token** from **Settings → Developer Settings**
2. Choose the token access level that matches your integration:
   * **Read-only** for lookups, analytics, and reporting-style integrations
   * **Read & Write** for integrations that create, update, or delete ClearFeed data
3. Use the token in the `Authorization: Bearer` header for all API requests
4. See [Developer Settings](/clearfeed-help-center/account-setup/developer-settings#token-scopes) for authentication and token-scope details

**Full API Reference:** [ClearFeed API Documentation](https://docs.clearfeed.ai/api/reference)

***

## MCP Server

The **MCP (Model Context Protocol) server** exposes ClearFeed as a set of tools that AI assistants like Claude, Cursor, and Codex can call. Ask an assistant to find a request, post a reply, or pull an analytics number, and it talks to ClearFeed for you.

ClearFeed offers two recommended ways to connect:

* **Remote MCP server** at `https://mcp.clearfeed.app/mcp`. Recommended for most teams; nothing to install or host.
* **Local stdio server.** Run the npm package with `npx @clearfeed-ai/mcp` if you prefer to run the server yourself or want to embed it in your own server.

### What You Can Do

| Area                | Example prompts for AI agents                             |
| ------------------- | --------------------------------------------------------- |
| **Search requests** | "Find all high-priority requests from the last week"      |
| **Summarize**       | "Summarize the open requests assigned to me"              |
| **Update requests** | "Mark request CF-1234 as in progress and assign to @john" |
| **Post updates**    | "Reply to request CF-5678 saying we're investigating"     |
| **Look up details** | "Show me the customer info for request CF-9012"           |
| **Analytics**       | "What's our average response time this month?"            |
| **Link tickets**    | "Link the Jira ticket PROJ-123 to request CF-4567"        |

### Available Tools

| Category    | Tools                                                                                                             |
| ----------- | ----------------------------------------------------------------------------------------------------------------- |
| Requests    | `requests_search`, `requests_list`, `requests_get`, `requests_create`, `requests_update`, `requests_post_message` |
| Customers   | `customers_list`, `customers_search`, `customers_get`, `customers_create`, `customers_update`                     |
| Collections | `collections_list`, `collections_add_channels`                                                                    |
| Tickets     | `tickets_get_form`, `tickets_link`                                                                                |
| Insights    | `insights_query`                                                                                                  |
| Other       | Channels, Custom Fields, Teams, Users                                                                             |

***

### Remote MCP server

Add `https://mcp.clearfeed.app/mcp` to your AI assistant once and every user on your team can sign in with their own ClearFeed login. Each user authorizes through OAuth, and ClearFeed handles the API token in the background.

#### Setup in Claude

Claude supports the remote MCP server through its Custom Connectors. There are two ways to add it.

**Option 1: Add it for the whole team (recommended)**

A workspace admin can add the connector once and make it available to everyone:

1. Go to <https://claude.ai/admin-settings/connectors>.
2. Click **Add custom connector**.
3. Name it **ClearFeed** and set the URL to `https://mcp.clearfeed.app/mcp`.
4. Save.

<figure><img src="/files/UiiZnjUBgW25Zm5jWXkm" alt="" width="375"><figcaption><p>Adding ClearFeed as a custom connector in Claude</p></figcaption></figure>

Once the connector is published, every member of the workspace will see it in their connector list and can sign in individually.

**Option 2: Add it just for yourself**

If you do not have admin access, or you want to try it on your own first:

1. Go to <https://claude.ai/customize/connectors>.
2. Click **Add custom connector**.
3. Use the same name and URL: **ClearFeed** and `https://mcp.clearfeed.app/mcp`.

#### Signing in

After the connector is added, each user has to complete the OAuth flow once before Claude can call any tool:

1. Open Claude and start a conversation.
2. Pick the **ClearFeed** connector.
3. Claude opens a browser window where you sign in to ClearFeed and approve access.

Tool calls fail until that flow is finished, so anyone on the team who wants to use ClearFeed in Claude has to do this step on their own login.

{% hint style="info" %}
**Sign in to the ClearFeed account you want to connect.** The connector is bound to the account you are active on at the moment you authorize. If you belong to multiple accounts, switch to the one you want to connect in ClearFeed before completing the OAuth flow.
{% endhint %}

#### Connecting more than one account

Today a single connector is tied to a single ClearFeed account. If you work across two accounts (for example a parent account and a child account), add the connector twice with different names, like **ClearFeed (Parent)** and **ClearFeed (Child)**, each pointing at `https://mcp.clearfeed.app/mcp`. Sign in to the matching ClearFeed account when you authorize each one.

#### Controlling which tools Claude can run

Claude lets you decide, per tool, whether it runs automatically, asks for approval first, or is turned off entirely. Read-only tools (search, list, get, analytics) default to **Always allow** and write tools (create, update, link, delete) default to **Needs approval**, but you can change any of them.

<figure><img src="/files/bmGqGjVvvRlUEWE9kNQB" alt=""><figcaption><p>Per-tool permissions for the ClearFeed connector in Claude</p></figcaption></figure>

#### Permissions and tokens

Tool calls run against the signed-in user's **Personal Access Token**. If the user already has one, it gets reused; if not, ClearFeed creates one the first time they authorize the connector. There is nothing to set up by hand.

Every call still respects that user's ClearFeed permissions and token scope. The server exposes the full tool list, but a call only succeeds if the signed-in user can do that action in ClearFeed and their token scope allows it. For example, a user who cannot delete custom fields will see the `Delete custom field` tool in Claude, but the call will fail. Similarly, write tools such as request updates or message posting require a read/write token.

If a user is later removed from the ClearFeed account, the next tool call from their connector fails and the token is revoked. They will need to be added back to the account and re-authorize the connector to use it again.

***

### Local stdio server

If you prefer to run the MCP server yourself, the same tools are available through the `@clearfeed-ai/mcp` npm package.

1. Set `CLEARFEED_API_TOKEN` as an environment variable. Generate the token from **Settings → Developer Settings**.
2. If you use a non-default ClearFeed API endpoint, also set `CLEARFEED_API_BASE_URL`. The default is `https://api.clearfeed.app`.
3. Configure your MCP client to start the local server with `npx -y @clearfeed-ai/mcp`.

For example, a local MCP client configuration can start ClearFeed with:

```json
{
  "mcpServers": {
    "clearfeed": {
      "command": "npx",
      "args": ["-y", "@clearfeed-ai/mcp"],
      "env": {
        "CLEARFEED_API_TOKEN": "your_token"
      }
    }
  }
}
```

This mode runs with a single API token, so every tool call uses that one user's permissions.

**Package documentation:** [@clearfeed-ai/mcp on npm](https://www.npmjs.com/package/@clearfeed-ai/mcp)

***

## FAQs

1. **How do I get my API token?**\
   **Answer:** Navigate to **Settings → Developer Settings** and click **Generate Token**. See [Developer Settings](/clearfeed-help-center/account-setup/developer-settings).
2. **What's the difference between REST API and MCP?**\
   **Answer:** REST API is for direct HTTP-based integration. MCP server wraps the REST API as tools for AI agents to use via the Model Context Protocol.
3. **Do I need to create an API token to use the remote MCP server?**\
   **Answer:** No, not by hand. The remote server at `mcp.clearfeed.app/mcp` uses OAuth. When you authorize the connector, ClearFeed reuses your existing Personal Access Token or creates one for you automatically. You only need to generate a token yourself if you run the local stdio server.
4. **Can one connector talk to more than one ClearFeed account?**\
   **Answer:** Not today. A connector is bound to the ClearFeed account you were signed into when you authorized it. To work with multiple accounts, add the connector again under a different name and sign in to the other account during that OAuth flow.
5. **A tool shows up in Claude but fails when I run it. Why?**\
   **Answer:** The MCP server exposes the full tool list to every user, but each call still runs against your ClearFeed permissions and token scope. If you do not have access to that feature in ClearFeed, or if your token is read-only and the tool needs to write data, the call will fail. Ask an admin to grant the matching permission or regenerate your token with the required access level.
6. **Are webhooks available for real-time updates?**\
   **Answer:** Yes, configure webhooks in **Settings → Developer Settings → Events API Subscription**.


# Google Sheets

Sync your ClearFeed requests and tickets to Google Sheets for advanced analytics, custom dashboards, and stakeholder reporting.

## What You Can Do

| Area                      | Examples                                                              |
| ------------------------- | --------------------------------------------------------------------- |
| **Request sync**          | Automatically keep requests updated in Sheets with hourly syncs       |
| **Custom dashboards**     | Build charts, pivot tables, and metrics tailored to your team         |
| **Stakeholder reporting** | Share live data with people who don't use ClearFeed                   |
| **Advanced analytics**    | Combine ClearFeed data with other sources for cross-platform insights |

***

## Sync ClearFeed Requests and Insights

### Request Sync

The Google Sheets integration automatically syncs ClearFeed requests to your spreadsheet. Requests are updated hourly, keeping your data fresh without manual work.

#### What Gets Synced

| Category                  | Fields                                              |
| ------------------------- | --------------------------------------------------- |
| **Request details**       | ID, title, state, priority, author, assignee, team  |
| **Timestamps**            | Created at, updated at, last message time           |
| **SLA metrics**           | First response time, resolution time, breach status |
| **Context**               | Channel, collection, customer, linked tickets       |
| **Custom fields**         | All custom field values for your account            |
| **Messages** *(optional)* | Full conversation history for each request          |

#### What You Can Do With the Data

Once your requests are in Sheets, you can:

* **Build pivot tables** — Break down requests by priority, assignee, collection, or customer
* **Track SLA compliance** — Visualize first response times and resolution times
* **Monitor team workload** — See request distribution across agents and teams
* **Identify trends** — Analyze request volume over time by channel or type
* **Create executive dashboards** — Share high-level metrics with leadership
* **Cross-reference data** — Combine with other business data in Sheets

#### Example Analytics

| Question                                | How to Answer                                             |
| --------------------------------------- | --------------------------------------------------------- |
| What's our average first response time? | Pivot table on `Requests.first_response_time_avg` by week |
| Which team has the most open requests?  | Filter by state = open, pivot by assignee team            |
| Are we meeting SLA?                     | Count requests where `SLA.first_response_breached = true` |
| Top customers by request volume?        | Pivot table on `customer.name` with count of requests     |

#### Getting Started with Request Sync

1. **Get your API token** from **Settings → Developer Settings**. A read-only token is sufficient if your script only reads request data; use Read & Write only if your workflow updates ClearFeed.
2. **Create a Google Sheet** and open **Extensions → Apps Script**
3. **Copy the sync script** from the ClearFeed request-sync recipe
4. **Configure** your API token and collection preferences
5. **Run the initial sync** to populate your sheet

**Full Setup Guide:** [ClearFeed Request Sync Recipe](https://github.com/clearfeed/clearfeed-recipes/tree/main/integrations/google-sheets/request-sync)

### Insights Data

Import pre-aggregated analytics and reporting metrics from ClearFeed into Google Sheets. Build executive dashboards, track SLA compliance over time, and monitor team performance with insights data.

#### What Gets Synced

| Category           | Example Metrics                                               |
| ------------------ | ------------------------------------------------------------- |
| **Request counts** | Number of requests by priority, state, channel, or collection |
| **Response times** | Average, median, and percentile response times                |
| **SLA metrics**    | First response breach rate, resolution time breach rate       |
| **Time trends**    | Daily, weekly, or monthly breakdowns                          |

#### What You Can Do With the Data

* **Executive dashboards** — Share high-level metrics with leadership in a familiar format
* **SLA tracking** — Monitor compliance trends over time with line charts
* **Performance comparisons** — Compare metrics across teams, channels, or time periods
* **Forecasting** — Use historical trends to project capacity needs

#### Example Analytics

| Question                               | How to Answer                                     |
| -------------------------------------- | ------------------------------------------------- |
| Are we meeting SLA this month?         | Line chart of first response breach % over time   |
| Which channels have the most requests? | Bar chart of request count by channel             |
| Is our response time improving?        | Trend line of average first response time by week |

#### Getting Started with Insights Sync

1. **Get your API token** from **Settings → Developer Settings**. A read-only token is sufficient for Insights Sync.
2. **Create a Google Sheet** and open **Extensions → Apps Script**
3. **Copy the insights script** from the ClearFeed insights-sync recipe
4. **Configure** your API token and query parameters
5. **Run the script** to populate your sheet

**Full Setup Guide:** [ClearFeed Insights Sync Recipe](https://github.com/clearfeed/clearfeed-recipes/tree/main/integrations/google-sheets/insights-sync)

***

## FAQs

1. **How often does request data sync?**\
   **Answer:** The integration runs automatically every hour after the initial setup. You can also trigger manual syncs from the Clearfeed Sync menu.
2. **Can I filter requests by collection?**\
   **Answer:** Yes, configure the script with a specific `COLLECTION_ID` to sync only that collection, or set it to `null` for all collections.
3. **Can I include message conversations?**\
   **Answer:** Yes, enable `INCLUDE_MESSAGES: true` in the script configuration to sync full conversation history for each request.
4. **Can I customize which fields sync?**\
   **Answer:** The script includes all standard request fields automatically. For custom field selection or data transformation, contact ClearFeed support.


# Triage Channel Setup

Configure and manage Triage Channels for your support team

## Overview

This guide covers how to set up, configure, and manage Triage Channels in ClearFeed. For information on how to use triage channels as an agent, see [Triage Channel](/clearfeed-help-center/managing-requests/triage-channel).

## What is a Triage Channel?

Triage Channels are dedicated Slack channels powered by ClearFeed that serve as your team's central command center. They enable agents to efficiently manage, respond to, and track requests and tickets originating from various sources, including Slack, MS Teams, Email, Portal, Web Chat, and API.

### Key Capabilities

Agents can perform the following operations directly from a Triage Channel:

* **Reply to requests** across Slack and other integrated channels with bidirectional sync
* **Manage request properties** such as Status, Priority, Assignee, and Custom Field
* **Access data** submitted by requesters through forms
* **Create or link tickets/tasks** to external systems like Jira, GitHub, or Linear

## Triage Channel Settings

When setting up or managing a Triage Channel, you will configure several settings that control its behavior, visibility, and notifications. Below is an explanation of each configuration option:

### Triage Mode

Configure which type of Requests will be shown in this specific Triage Channel.

* **All Requests:** The channel will show all requests directed to the associated collections
* **Only Requests with linked tickets:** The channel will only show requests that have been\
  linked to an external ticket (e.g., in Jira or Zendesk) or a ticket has been created in ClearFeed

<figure><img src="/files/QnzzZZnA5o7Ynx9Onqmk" alt="" width="563"><figcaption><p>Triage Mode</p></figcaption></figure>

### Triage Comment Visibility

This setting controls which replies from your team's internal discussions within the Triage Channel are visible to the original requester on the external channel (like the original Slack thread or email).

* **Public:** All comments from the Triage Channel will be synced to the request channel, *except* for those prefixed with a 🔒 emoji. These 🔒 comments remain internal to the Triage Channel.
* **Private:** By default, no comments from the Triage Channel will be synced to the request channel, *except* for those prefixed with a 📢 emoji. These 📢 comments will be explicitly synced externally.

<figure><img src="/files/JGEyDFN3KCmXoFifXT81" alt="" width="563"><figcaption><p>Triage Comment Visibility Option</p></figcaption></figure>

### Disable Tagging Slack Users on Triage Channel

Enable this option to prevent users from being tagged in triage channels. This helps avoid duplicate notifications when a user is already tagged in the original request channel.

<figure><img src="/files/lloMXwHkIfx8stzyZHMU" alt="" width="563"><figcaption><p>Disable Tagging</p></figcaption></figure>

### Sync Private Comments on Triage Channel and Linked Tickets

Configure whether Private (🔒) comments from the Triage Channel are synced to the linked ticketing system and whether internal notes from the ticketing system are synced back to the Triage Channel.

* Choose whether to sync all private comments from the Triage Channel to the linked ticketing system or push only the private comments that have been reacted with :pencil: emoji
* Choose whether to sync all internal notes from linked tickets as private comments on the Triage Channel

<figure><img src="/files/o9op5MkRU3phPxFgSA6T" alt="Sync Private Comment Option" width="563"><figcaption><p>Sync Private Comment Option</p></figcaption></figure>

<figure><img src="/files/Q7D1rfkk9eVu6yin6jX4" alt="" width="563"><figcaption><p>How private messages from Slack are synced to the ticketing system (Zendesk)</p></figcaption></figure>

{% hint style="warning" %}
Currently, syncing internal notes from ticketing systems to the Triage Channel is only supported for Freshdesk (as private notes) and Zendesk (as internal comments)
{% endhint %}

### Notifications

Triage notifications provide reminders about Open and Unsolved items, highlighting those with High priority, directly within the Triage Channel. ClearFeed sends two types of digests:

* **Daily Digest:** Notifies daily for Requests that are 'Open' and require attention
* **Weekly Digest:** Notifies every Monday for unsolved Requests from the last month up to the most recent week

<figure><img src="/files/aicCfZn96de5dJus7uA9" alt="" width="560"><figcaption></figcaption></figure>

## Setting Up a Triage Channel

You can set up a Slack Channel as a Triage Channel in ClearFeed either from the ClearFeed WebApp or directly from Slack.

### From ClearFeed WebApp

* Navigate to **Settings > Triage Settings**
* Click **"Create new Triage Channel"**
* You have two options:
  * Select **"Create new Channel"** to create a new channel in your Slack Workspace and set it as Triage
  * Select **"Select existing"** to designate an existing Slack channel as a Triage Channel
* Configure the Triage Settings for the new channel (refer to the [Triage Channel Settings section](#triage-channel-settings)\
  above for details on each option)
* Click **Save**

<figure><img src="/files/BglHgUnSQlFpRjcDzEI6" alt="" width="563"><figcaption></figcaption></figure>

### From Slack

* Go to Slack and open the channel you wish to use as a Triage Channel
* Add the ClearFeed bot by typing `/invite @ClearFeed` and pressing Enter
* ClearFeed will send a message asking how you want to configure the channel. Select the option to configure the channel **As a Triage Channel**
* *Optional:* Select the Collections to which you want to associate this Triage Channel. (Note: In the dropdown, you will only see Collections that do not currently have a Triage Channel linked to them.)
* Click on **Add as Triage**

<figure><img src="/files/Ps885h9Ru0cmUtFZW6HL" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}

* In the Select Collection dropdown, you will only see the Collections that do not have a triage linked to them
* The initial setup from Slack provides basic configuration. For detailed settings options like Comment Visibility, Sync settings, and Notifications, you must navigate to the Triage Settings in the ClearFeed WebApp after creation
  {% endhint %}

## Managing Triage Channel Settings

You can modify the configuration of an existing Triage Channel at any time via the ClearFeed WebApp.

* Navigate to **Settings > Triage Settings** in the ClearFeed WebApp
* Find the Triage Channel whose settings you want to change and click the **Edit** button next to it
* This will open the configuration drawer, showing the same settings available during creation
* Modify the desired settings. For a detailed explanation of each option, refer to the [Triage Channel Settings section](#triage-channel-settings) above
* Click **Save** to apply your changes

### Deleting a Triage Channel

If you no longer require a Slack channel to function as a Triage Channel in ClearFeed, you can remove this designation by following these steps:

* Navigate to **Triage Settings** in the ClearFeed WebApp
* Find the Triage Channel you wish to delete and click the **Edit** button next to it
* The channel's configuration details will open. Scroll down to the bottom of the page
* Click the **Delete** button to remove the channel as a Triage Channel in ClearFeed

<figure><img src="/files/7mQTkOvRSIPEiJ7JThtB" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="danger" %}

* A Triage Channel cannot be deleted if it is still associated with any collections. Please detach it from all linked collections before attempting deletion
* Deleting a Triage Channel from ClearFeed only removes the Triage Channel configuration from ClearFeed, it does not delete or archive the channel itself on Slack
  {% endhint %}

## Triage Message Configuration

Triage Message Configuration lets admins control **which fields and action buttons appear in Slack triage messages** for requests and tickets.

<figure><img src="/files/isAZqMq6eCF4xqWebQLI" alt="" width="563"><figcaption><p>Triage Message</p></figcaption></figure>

The system automatically shows only the fields and actions that are **relevant in the current context**, so even if something is enabled in settings, it may not appear if it doesn’t apply.

### How visibility works

Triage messages use a **two-layer visibility model**:

1. **Configuration (Admin-controlled)**\
   You choose which fields and actions are enabled from the Triage settings screen.
2. **Context-based rules (System-controlled)**\
   ClearFeed evaluates the request or ticket context at runtime (for example: request vs ticket, email vs Slack, assignment state, AI availability).

A field or action appears **only if both layers allow it**.

### What you can configure

<figure><img src="/files/jnWJjad43XRenmaM4Xae" alt="" width="563"><figcaption></figcaption></figure>

Go to **Settings → Triage Settings →Message Configuration** to configure the Request/Ticket Fields and Customer Fields (for External Product Edition).

#### Configure fields

* Enable or disable:
  * Standard fields (for requests, tickets, and customers)
  * Custom fields (story or customer custom fields)
* Control which fields appear in triage messages when applicable

#### Configure actions

* Enable or disable supported triage actions such as:
  * Take It
  * Mark as Solved
  * Not a Request
  * ClearBot Assist
  * Reopen, Close, Delete Email, and more

### What is not configurable

Some fields and actions are **always shown when applicable** and cannot be disabled.

#### Always-shown fields

These fields appear automatically when relevant:

* **Status**
* **Linked Parent Ticket** (when a parent exists)
* **Linked ClearFeed Tickets** (when child tickets exist)
* **From** (for email requests only, the email address for which request is created)
* **CC** (CC recipients in the email request)
* **To** (All recipient email addresses in the *To* field when email is sent to the support address)

#### Always-shown actions

* **Edit**

These are core to triage behavior and cannot be hidden.

### When fields appear

Even if a field is enabled in settings, it is shown **only when relevant**.

#### Request & ticket fields

| Field                | When it appears                                     |
| -------------------- | --------------------------------------------------- |
| Assignee             | Always shown (shows *Unassigned* if empty)          |
| Assigned Team        | Only if team assignment is enabled                  |
| Priority             | Always applicable                                   |
| Form Name            | Tickets only, and only if more than one form exists |
| Request Channel      | Non-email, non-webchat requests                     |
| Create Form Fields   | Tickets with non-empty form fields                  |
| Edit Form Fields     | Tickets where fields were edited                    |
| Other Linked Tickets | When external linked tickets exist                  |
| Story Custom Fields  | Only enabled fields with values                     |

#### Email-specific fields

| Field | When it appears                         |
| ----- | --------------------------------------- |
| From  | Email-based requests only               |
| CC    | Email-based requests with CC recipients |

#### Customer-related fields

| Field                  | When it appears                |
| ---------------------- | ------------------------------ |
| Customer Name          | When a customer is associated  |
| Customer Owner         | When the customer has an owner |
| Customer Domains       | When domains exist             |
| Customer Custom Fields | Enabled fields with values     |

### When actions appear

Actions are shown only when they make sense for the current state.

<table><thead><tr><th width="224">Action</th><th>When it appears</th></tr></thead><tbody><tr><td>Take It</td><td>Unassigned and not solved/closed</td></tr><tr><td>Mark as Solved</td><td>Assigned and not solved/closed</td></tr><tr><td>Reopen</td><td>Solved tickets</td></tr><tr><td>Mark as Closed</td><td>Solved tickets</td></tr><tr><td>Not a Request</td><td>Non-email requests (if enabled)</td></tr><tr><td>Delete Email</td><td>Email requests (if allowed)</td></tr><tr><td>ClearBot Assist</td><td>AI is enabled for the account</td></tr><tr><td>Unlink Ticket</td><td>When a transferred/linked ticket exists</td></tr><tr><td>More Actions</td><td>Always available</td></tr></tbody></table>

### Important notes

* Disabling a field or action **does not override system rules**
* If a field has no value, it will not appear even if enabled
* Email-only fields never appear for Slack or Web Chat requests
* Customer fields appear only when a customer is linked

## Managing or Turning Off the Triage Channel

ClearFeed offers two ways to reduce noise from Triage Channels — you can either **mute** the channel to stop notifications or **turn off** the Triage Channel completely.

### **Option 1: Reduce Notifications (Recommended)**

If you want to keep the Triage Channel active but reduce interruptions:

* **Mute the channel** directly in Slack.
* **Disable tagging** for all or specific users from **Collection Settings → Triage Channel** in the ClearFeed Web App.

This way, you can still access the Triage Channel anytime to view all customer conversations in one place, without receiving alerts or mentions.\\

<figure><img src="/files/2zRz6yyC0hOcWwvqzCK6" alt="" width="540"><figcaption></figcaption></figure>

### **Option 2: Turn Off the Triage Channel Completely**

To stop syncing new requests to the Triage Channel:

1. Go to the **ClearFeed Web App → Inbox**.
2. Click on the **Collection** for which you want to disable the Triage Channel.
3. In the top right corner, open the **Settings** tab.
4. Scroll to the section titled **Triage Channel**.
5. Select **Proceed without Triage** and **Save** your changes.

Once saved, new requests will **no longer be synced** to the Triage Channel.\\

<figure><img src="/files/j47GWtOc7rWIdT4T016J" alt="" width="539"><figcaption></figcaption></figure>

## FAQs

1. **Does renaming the triage channel take effect in the ClearFeed WebApp? Will it break anything?**\
   **Answer:** Yes, shortly after updating the name, it should start showing up on the dashboard. Renaming the triage channel in Slack (by a Workspace Admin) is fully supported and will not break or disrupt any ClearFeed functionality. All existing requests and workflows will continue to work as expected.
2. **Can I have multiple triage channels for the same collection?**\
   **Answer:** No, each collection can have only one triage channel associated with it.
3. **What happens to existing requests in the triage channel if I change the Triage Mode setting?**\
   **Answer:** Changing the Triage Mode setting only affects new requests going forward. Existing requests in the channel remain visible.
4. **Can I use a private Slack channel as a triage channel?**\
   **Answer:** Yes, both public and private Slack channels can be configured as triage channels. However, ensure that all relevant team members have access to the private channel.


# Collections

Collections are the core way to organize and manage requests in ClearFeed.

A Collection defines:

* How requests are grouped
* Which rules apply to them, such as workflows, SLAs, assignments, automations, AI Agents, ticketing, and CSAT
* How your support team processes requests from intake to resolution

Every request in ClearFeed belongs to exactly one Collection, and the Collection determines how that request is handled across its entire lifecycle.

## Collection Models

How requests are grouped in your account depends on:

* Your Product Edition (External, Internal, Integrations), and
* Whether Customer Centric Inbox is enabled

ClearFeed supports two Collection models:

1. [Customer Collections (Customer Centric Inbox)](#customer-collections-customer-centric-inbox)
2. [Standard Collections (Source-based)](#standard-collections-source-based)

### Customer Collections (Customer Centric Inbox)

* Requests are grouped by customer
* Each Collection represents a set of customers
* All conversations, requests, and tickets for those customers are managed together
* Requests can originate from any source (Slack, email, portal, web chat, API, etc.), but they are organized primarily by customer
* This is the default model for new External edition accounts

<figure><img src="/files/fPs3HERWCTat1B9GwGQA" alt="" width="266"><figcaption></figcaption></figure>

### Standard Collections (Source-based)

Requests are grouped by where they come from. Each Collection represents one source, such as:

* Slack channels
* Microsoft Teams channels
* Support email addresses
* API
* Support Portal
* Web Chat
* ClearFeed App (DM / private requests)

<figure><img src="/files/eLZCvuNl13ijPPV20mQJ" alt="" width="284"><figcaption></figcaption></figure>

All requests belonging to the same collection share the same configuration.

This model is used by:

* Internal edition accounts
* Integrations edition accounts
* External edition accounts where Customer Centric Inbox is not enabled

### How do I know which model my account uses?

You are using Customer-Centric Inbox if:

* The left sidebar shows customers grouped under collections
* There is a system collection called All Customers
* Clicking a customer shows all their conversations and requests

<figure><img src="/files/saeJrmHCI30I1rqWotft" alt="" width="345"><figcaption><p>How left sidebar appears when Customer Centric Inbox is enabled</p></figcaption></figure>

You are using Standard Management if:

* The left sidebar shows channels grouped under collections
* Customers are optional metadata and not the primary navigation

<figure><img src="/files/N3j68YakIYLwquC4M8hs" alt="" width="333"><figcaption><p>Left sidebar as shown in Standard Customer Management</p></figcaption></figure>

If you are using External Product Edition and want to upgrade from Standard to Customer-Centric Inbox, contact <support@clearfeed.ai>.

### What’s common across both models?

Regardless of the model your account uses:

* Collections define how requests are handled using:
  * Workflows
  * SLAs and business hours
  * Assignments
  * Ticketing rules
  * Automations
  * AI Agents
  * CSAT
* Collections are managed from the Inbox in the ClearFeed Web App
* Every request always belongs to exactly one Collection
* The exact settings available depend on:
  * Your Product Edition
  * The Collection model
  * The Collection type (where applicable)

### Which guide should you read next?

* If your account uses Customer Centric Inbox → Go to [Customer Collections](/clearfeed-help-center/clearfeed-helpdesk/collections/customer-collections)
* If your account uses Source-based grouping → Go to [Standard Collections](/clearfeed-help-center/clearfeed-helpdesk/collections/standard-collections)

These pages explain, in detail:

* How Collections work in your model
* How to create and manage them
* What “manage” and “delete” mean in your setup
* And how settings, routing, and rules behave in practice


# Customer Collections

Customer Collections help you organize external customers into groups that share the same support rules. This feature is available only on the **External Helpdesk Product Edition**.

## Understanding the Basics

### What is Customer Centric Inbox?

All new External Helpdesk accounts use **Customer Centric Inbox** by default. This is a customer-first experience where all conversations, tickets, and requests from each customer appear together in one place, regardless of where they originated (Slack, email, web chat, portal, API, etc.).

**Note:** Some existing accounts may still use **Standard (Channel-Based) Management**, where requests are organized by channel instead of by customer. This guide focuses on Customer Centric Inbox. For a comparison between the two models, see **Collections**.

### Two Types of Collections

ClearFeed uses two types of Collections to manage your support workflow:

<table><thead><tr><th width="218">Collection Type</th><th>Purpose</th></tr></thead><tbody><tr><td><strong>Source Collections</strong></td><td>Where requests are created (Email, Web Chat, Portal, API). Source Collections control how requests are initially created, such as forms, required fields, and templates.</td></tr><tr><td><strong>Customer Collections</strong></td><td>Where requests are handled. Each Customer Collection represents a group of customers (for example, Enterprise, Trial, or Regional groups) and controls how requests are managed, such as assignments, SLAs, automations, and AI behavior.</td></tr></tbody></table>

<figure><img src="/files/mp5BSgZa3IPBKj5llUg3" alt="" width="225"><figcaption></figcaption></figure>

### Forwarding: The Bridge Between Collections

**Forwarding** is the mechanism that moves requests from Source Collections to Customer Collections.

* **Forwarding OFF:** Requests stay in their Source Collection (Email, Web Chat, etc.)
* **Forwarding ON:** Requests that are linked to a customer automatically move to that customer’s Customer Collection

When forwarding is enabled, you get a unified view of each customer—all their requests appear together in their Customer Collection, regardless of where they came from.

## Key Terms

<table><thead><tr><th width="141.00006103515625">Term</th><th>Definition</th></tr></thead><tbody><tr><td><strong>Customer</strong></td><td>An external company or organization you provide support to. Customers are identified by their email domains or a Slack Connect workspace.</td></tr><tr><td><strong>Domain</strong></td><td>The email domain that identifies a customer (for example, <code>acmecorp.com</code>). A customer can have multiple domains.</td></tr><tr><td><strong>Request</strong></td><td>A support ticket or conversation created via Slack, email, web chat, portal, or API.</td></tr><tr><td><strong>All Customers</strong></td><td>The default Customer Collection where all new customers are initially placed. Think of it as an inbox for new customers before you organize them further.</td></tr></tbody></table>

## How Requests Flow Through ClearFeed

When a new request arrives, ClearFeed follows three steps to route and handle it correctly.

#### Step 1: Identify the Customer

ClearFeed determines which customer (if any) the request belongs to. The logic depends on the source.

#### **From Slack Connect Channels**

Slack Connect channels are **pre-associated with a customer**.

When you monitor a Slack Connect channel (automatically or manually), ClearFeed:

* Creates or links a Customer for the external Slack workspace
* Associates that Slack channel with the Customer

As a result, every request from that channel is:

* Automatically linked to the same Customer

<figure><img src="/files/KjWqhtX4jNfha2Zefdwg" alt=""><figcaption></figcaption></figure>

#### **From Email, Web Chat, Portal, or API**

For these sources, ClearFeed uses the sender’s **email domain**:

* If the domain matches an existing customer → The request is linked to that customer
* If the domain is a business domain with no match → ClearFeed may auto-create a new customer
* If the domain is a free email domain (gmail.com, yahoo.com, etc.) or an internal domain → No customer is created and the request remains unlinked

**Important:** A single customer can have multiple domains. If any of them match, the request links to the same customer.

### Step 2: Route the Request

Next, ClearFeed checks the **Forwarding** setting on the Source Collection (Email, Web Chat, Portal, API, or Slack):

* **If Forwarding is ON** and the request is linked to a customer → The request moves to that customer’s Customer Collection
* **If Forwarding is OFF**, or the request is not linked to any customer → The request stays in the Source Collection

<figure><img src="/files/F4Lz9HVffJJDm9uhZXGV" alt="" width="563"><figcaption></figcaption></figure>

### Step 3: Apply the Right Settings

Different settings apply at different stages of the request lifecycle.

**Source Collection Settings (used during creation)**

These always come from the Source Collection:

* Ticketing rules (required fields, validation)
* Forms and required fields
* Email configuration and templates
* Web Chat out-of-office messages

These control **how the request is created**.

**Customer Collection Settings (used during handling)**

If the request is routed to a Customer Collection, these settings apply:

* Assignment rules
* Triage channel
* Automations and workflows
* AI Agent behavior
* Responders
* SLA policies

These control **how the request is managed after creation**.

## Examples

| Scenario                                           | Domain             | Forwading Enabled? | Result                                                      |
| -------------------------------------------------- | ------------------ | ------------------ | ----------------------------------------------------------- |
| Email from `john@acmecorp.com` (existing customer) | `acmecorp.com`     | Yes                | Request appears in Acme Corp’s Collection                   |
| Email from `john@acmecorp.com` (existing customer) | `acmecorp.com`     | No                 | Request stays in Email Collection                           |
| Email from `jane@newcorp.com` (new customer)       | `newcorp.com`      | Yes                | Customer is created and request routes to **All Customers** |
| Web chat from `support@gmail.com`                  | `gmail.com` (free) | Yes                | Request stays in Web Chat Collection; no customer created   |
| Slack Connect from Acme workspace                  | NA                 | Yes                | Request routes to Acme Corp’s Collection                    |

## Why Domains Matter

Domains enable ClearFeed to:

* Identify customers
* Route requests correctly
* Group customer history in one place
* Enable portal access

**Without domains:**

* Requests can’t be linked automatically
* Routing won’t work for that customer
* Portal access is unavailable

**Best practice:** Always add domains when creating customers, even if they were auto-created from Slack Connect.

### Free Email Domains

Requests from free email providers (gmail.com, yahoo.com, outlook.com, hotmail.com, etc.):

* Do not create customers
* Are not linked
* Are never routed to Customer Collections
* Always remain in the Source Collection

## Working with Customer Collections

### Common Collection Setups

* **By tier:** Enterprise, Pro, Free Trial
* **By region:** North America, EMEA, APAC
* **By team:** Sales Support, Technical Support, Billing Support
* **By owner:** One Collection per CSM or account owner

<figure><img src="/files/uWzlojRQcEtvtfVOFGma" alt=""><figcaption><p>Collections setup based on Customer Lifecycle Stage</p></figcaption></figure>

### What Customer Collections Control

Each Customer Collection defines:

* [**Responders**](/clearfeed-help-center/clearfeed-helpdesk/responders)**:** Which users in your organization act as support agents for this Collection.
* [**Assignment Rules**](/clearfeed-help-center/clearfeed-helpdesk/assignment-rules)**:** How requests or tickets are assigned (for example, first responder or round-robin).
* [**Request Channels**](/clearfeed-help-center/sources/manage-request-channels)**:** Slack/MS Teams channels associated with this Collection, and their ownership (where applicable).
* **Collection Owner:** The default owner for this Collection, which can be inherited by Customers in the Collection. You can use the Collection Owner to send announcements, assign requests to the Customer Owner, or send messages from automations. By default, new customers in the Customer Inbox inherit the Collection Owner unless a specific owner is set.
* [**Triage Channel**](/clearfeed-help-center/managing-requests/triage-channel)**:** The Slack channel where the team collaborates to manage and prioritize requests from this Collection.
* [**Emoji Rules**](/clearfeed-help-center/clearfeed-helpdesk/emoji-rules)**:** Actions triggered in ClearFeed or connected tools based on emoji reactions in Slack.
* [**Ticketing**](/clearfeed-help-center/how-it-works/creating-or-linking-tickets)**:** How tickets are created in ClearFeed or external systems like Jira or Zendesk.
* [**Task Management**](/clearfeed-help-center/how-it-works/creating-or-linking-tasks)**:** Creating tasks in tools like ClickUp, GitHub, Asana, Linear, or Jira using emoji reactions.
* [**AI Agents**](/clearfeed-help-center/clearfeed-ai/ai-agents)**:** How AI answers questions and takes actions using your connected knowledge sources and tools.
* [**Automations**](/clearfeed-help-center/clearfeed-helpdesk/automations)**:** Workflows triggered by events like request creation, status changes, or keywords.
* [**CSAT Survey**](/clearfeed-help-center/clearfeed-helpdesk/csat-survey)**:** How customer satisfaction surveys are sent after requests are resolved.
* [**Welcome Message**](/clearfeed-help-center/clearfeed-helpdesk/welcome-messages)**:** The automatic message sent when users join a monitored Slack channel.
* [**Message Bar**](/clearfeed-help-center/clearfeed-helpdesk/message-bar)**:** The buttons shown in Slack request channels (for example, File a Ticket, File a Private Ticket, Ask AI).
* [**Business Schedules & SLA**](/clearfeed-help-center/clearfeed-helpdesk/sla-management)**:** Working hours and response/resolution time targets for this Collection.
* [**Workflows**](/clearfeed-help-center/clearfeed-helpdesk/workflows)**:** Custom workflows that apply to requests from customers in this Collection.
* **Additional Settings:** Options to:
  * Delete the Collection
  * Download request data for analysis

<figure><img src="/files/J9Ohja73v8ipOLtdI73y" alt=""><figcaption></figcaption></figure>

## Creating a Customer Collection

To create a new Customer Collection:

* Go to the **Inbox** in the ClearFeed Web App
* Click the **“+”** button next to the **Customer Collections** section<br>

  <figure><img src="/files/ERe8H2n4nf8OKuX7AE1O" alt="" width="221"><figcaption></figcaption></figure>
* If your account is configured with both Slack and Microsoft Teams, choose where this Collection will manage requests from. If only Slack is configured, this step is skipped.<br>

  <figure><img src="/files/wtoI02nRXvq3GyCdjN7A" alt="" width="374"><figcaption></figcaption></figure>
* Enter the Collection name and configure its settings. You can also clone settings from an existing Collection. Automations, workflows, and quick replies aren’t copied; all other settings are cloned and can be modified later from the Collection settings page.

  <figure><img src="/files/dFfaTx3t0x4uKa0S5S03" alt="" width="563"><figcaption></figcaption></figure>
* Click **Save** to create the Collection

Once the Collection is created, you can start adding customers to it and apply different rules (SLAs, assignments, workflows, automations, and AI behavior) based on how you’ve organized your Collections.

## How Customers Are Added to Collections

Customers can be added to a Collection **manually** or **automatically,** for step-by-step instructions, see [**Customer Management**](/clearfeed-help-center/clearfeed-helpdesk/customers).

ClearFeed uses **domains** and **Slack Connect workspaces** to decide where customers belong and where their requests should go.

* **Manually**: You can create a customer directly inside a specific Collection or move an existing customer to another Collection.
* **Automatically**: ClearFeed can create customers when:
  * A new Slack Connect channel is detected (if automatic monitoring is enabled), or
  * A request arrives from a new **business** domain via Email, Web Chat, Portal, or API.

{% hint style="info" %}
**Important rules:**

* Requests from **free email domains** (for example, gmail.com, yahoo.com, outlook.com, hotmail.com) never create customers automatically.
* Requests from **internal domains** also never create customers.
* A customer can have **multiple domains**, and requests from any of those domains will link to the same customer.
  {% endhint %}

## Configuring Forwarding (Routing)

Forwarding is configured per **Source Collection** (Email, Web Chat, Portal, API).

To configure Forwarding:

1. Go to **Collections** in the left sidebar
2. Open a Source Collection (Email, Web Chat, Portal, or API)
3. Open **Collection Settings**
4. Find the **Ticket Forwarding** section
5. Toggle Forwarding:
   * **ON:** Requests route to Customer Collections
   * **OFF:** Requests stay in this Source Collection
6. Click **Save**

<figure><img src="/files/75GEkA96HYRsdF2GQPtn" alt="" width="563"><figcaption></figcaption></figure>

### Forwarding ON vs OFF: What Changes?

**With Forwarding Disabled:**

* Requests stay in their Source Collections
* Slack Connect requests are still linked to their Customer (because the channel is pre-associated)
* Domain-based requests may or may not be linked, depending on matching rules
* Only Source Collection rules apply

**With Forwarding Enabled:**

* Requests linked to a customer move into that customer’s Customer Collection
* All of a customer’s requests appear together
* Source Collection rules apply at creation, then Customer Collection rules apply for handling
* SLAs, assignments, automations, and AI behavior are consistent per customer

## FAQs

1. **What’s the difference between All Customers and other Collections?**\
   **Answer:** All Customers is the default Customer Collection where:

   1. Auto-created customers are initially placed
   2. Customers without a specific assignment go

   Think of it as an inbox for new customers. You can move customers to more specific Collections (for example, Enterprise or Trial) as your workflow evolves.
2. **What happens if a customer has multiple domains?**\
   **Answer:** You can add multiple domains to a single customer (for example, `acmecorp.com` and `acme.io`). Requests from **any** of those domains link to the same customer and appear in one unified history.
3. **Does routing affect historical requests?**\
   **Answer:** No. Routing applies only to **new** requests created after you enable it. Existing requests remain where they are unless you move the customer.
4. **Can a request belong to multiple customers?**\
   **Answer:** No. Each request can be linked to only **one** customer at a time.
5. **What happens if I move a customer between Collections?**\
   **Answer:** When a customer is moved:

   1. All past requests move with them
   2. All future requests route to the new Collection
   3. The customer follows the new Collection’s rules (SLAs, assignments, workflows)

   For step-by-step instructions, see [**Customer Management**](/clearfeed-help-center/clearfeed-helpdesk/customers).


# Standard Collections

Standard Collections are ClearFeed’s source-based way to organize and manage requests.

In this model, Collections group requests by where they come from such as Slack channels, Microsoft Teams channels, support email addresses, API, Support Portal, or Web Chat. All requests from the sources in a Collection share the same configuration and follow the same rules.

Standard Collections are used by:

* All accounts on the Internal Product Edition
* All accounts on the Integrations Product Edition
* External Product Edition accounts where Customer Centric Inbox is not enabled (typically older accounts)

All requests coming from the sources in a Collection share the same configuration, including:

* Workflows
* Business hours and SLAs
* Assignment rules
* Ticketing rules
* Automations
* AI Agents
* CSAT
* Visibility and access rules

## Which accounts use Standard Collections?

You are using Standard Collections if:

* Your Inbox sidebar shows channels or sources grouped under Collections
* Customers (if present) are optional metadata and not the primary navigation
* Your account is on:
* Internal edition, or
* Integrations edition, or
* External edition without Customer Centric Inbox enabled

If you want to move to a customer-first model, you can upgrade to Customer Centric Inbox by contacting <support@clearfeed.ai>.

## Supported Collection Types

Depending on your Product Edition, ClearFeed supports the following Standard Collection types:

<table><thead><tr><th width="136">Collection Type</th><th width="232">Source</th><th width="190">Limit</th><th>Product Edition</th></tr></thead><tbody><tr><td><strong>Slack</strong></td><td>Requests from <strong>Slack channels</strong>.</td><td>Multiple per account</td><td>All</td></tr><tr><td><strong>DM</strong></td><td>Tickets from "File Ticket" on the ClearFeed App Home.</td><td>Only one per account</td><td>Internal Helpdesk &#x26; Integrations</td></tr><tr><td><strong>Email</strong></td><td>Requests via your <strong>support email address</strong>.</td><td>Multiple per account</td><td>External Helpdesk<br>Internal Helpdesk</td></tr><tr><td><strong>Portal</strong></td><td>Requests from the ClearFeed <strong>Support Portal</strong>.</td><td>One per account</td><td>External Helpdesk</td></tr><tr><td><strong>Web Chat</strong></td><td>Requests from <strong>Web Chat widget</strong>.</td><td>One per account</td><td>External Helpdesk</td></tr><tr><td><strong>API</strong></td><td>Requests created via <strong>API</strong>.</td><td>One per account</td><td>External Helpdesk<br>Internal Helpdesk</td></tr><tr><td><strong>MS Teams</strong></td><td>Requests from <strong>MS Teams channels</strong>.</td><td>Multiple per account</td><td>External Helpdesk</td></tr></tbody></table>

## **Collection Settings** <a href="#collection-settings" id="collection-settings"></a>

Collection Settings provide granular control over how requests, tickets, and workflows function within a specific Collection. Accessing and managing these settings allows you to tailor ClearFeed to your team's specific needs and ensure consistent application of rules for the requests grouped within that Collection.

### Accessing Collection Settings <a href="#accessing-collection-settings" id="accessing-collection-settings"></a>

You can access Collection Settings via two methods:

* Navigate to the Inbox in the ClearFeed Web App. Select the Collection you wish to configure from the list. Click on the Collection name, and then click on **Settings** in the top right corner.

  <figure><img src="https://docs.clearfeed.ai/clearfeed-help-center/~gitbook/image?url=https%3A%2F%2F3455705434-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FE2O2wTaNovd6fXpEuLKz%252Fuploads%252Fgit-blob-fe36971d8992e9b99659b2d6d2b277db0ead35a4%252FScreenRecording2025-02-07110816-ezgif.com-video-to-gif-converter.gif%3Falt%3Dmedia&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=758dabaa&#x26;sv=2" alt="" width="563"><figcaption><p>Accessing Collection Settings - Option 1</p></figcaption></figure>
* Navigate to the Inbox in the ClearFeed Web App and select the Collection you wish to configure from the list. Click the three dots icon next to the Collection name, and then click on **Settings** from the dropdown menu.

  <figure><img src="https://docs.clearfeed.ai/clearfeed-help-center/~gitbook/image?url=https%3A%2F%2F3455705434-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FE2O2wTaNovd6fXpEuLKz%252Fuploads%252Fgit-blob-131760cf61ccf0cf5968aa59ed21630427027686%252FScreenRecording2025-02-07110905-ezgif.com-video-to-gif-converter.gif%3Falt%3Dmedia&#x26;width=768&#x26;dpr=3&#x26;quality=100&#x26;sign=6b95a3b&#x26;sv=2" alt="" width="563"><figcaption><p>Accessing Collection Settings - Option 2</p></figcaption></figure>

### Configuration Options <a href="#configuration-options" id="configuration-options"></a>

Below is a comprehensive list of all possible settings available within ClearFeed Collections. When creating or updating a specific Collection, only the settings applicable to that Collection type will be available.

* [**Responders**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/responders)**:** Define which users from your organization should be treated as support agents i.e. members capable of responding to requests within this Collection.
* [**Request Channels**](https://docs.clearfeed.ai/clearfeed-help-center/sources/manage-request-channels)**:** Add or remove Slack/MS Teams channels associated with this Collection. You can also manage the ownership of added channels here.
* [**Triage Channel**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup)**:** Configure a dedicated Slack channel where the support team can work collaboratively on Slack to manage and prioritize incoming requests from this Collection.
* [**Ticketing**](https://docs.clearfeed.ai/clearfeed-help-center/how-it-works/creating-or-linking-tickets)**:** Integrate with Native ClearFeed Ticketing or External ticketing systems (like Jira, Zendesk, etc.) and define the rules for how tickets are automatically created or manually triggered from incoming requests.
* [**Task Management**](https://docs.clearfeed.ai/clearfeed-help-center/how-it-works/creating-or-linking-tasks)**:** Enable the creation of tasks in integrated project management tools (like ClickUp, GitHub, Asana, Linear, and Jira) directly from a Request Channel thread using a simple emoji reaction.
* [**Assignment Rules**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/assignment-rules)**:** Define how requests or tickets are assigned to responders. ClearFeed currently supports assignment via Auto-assignment to first responder or Round-robin.
* [**Welcome Message**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/welcome-messages)**:** Customize an automatic greeting that new users receive when they join a Slack channel monitored by this Collection.
* [**AI Agents**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-ai/ai-agents)**:** Enable intelligent helpers, offering accurate answers by tapping into your linked knowledge sources and take actions like creating JIRA tickets or updating deals in HubSpot right from the conversation.
* [**Automations**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/automations)**:** Set up automated workflows based on triggers like request creation, status changes, or specific keywords to streamline repetitive tasks.
* [**Emoji Rules**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/emoji-rules)**:** Configure specific actions to be triggered within ClearFeed or integrated tools based on defined emoji reactions applied to request messages in Slack.
* [**Business Schedules & SLA**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/sla-management)**:** Define your team's working hours and set up Service Level Agreements (SLAs) for initial response and resolution times for requests in this Collection.
* [**Email Settings**](https://docs.clearfeed.ai/clearfeed-help-center/sources/email)**:** Configure the Support Email Address from which the incoming emails should be grouped in this collection.
* [**Request Routing:**](https://docs.clearfeed.ai/clearfeed-help-center/how-it-works/creating-or-linking-tickets/private-tickets#request-routing) Enable this feature to allow users to associate requests with any collection within the account when creating requests via ClearFeed App's DM.
* [**Workflows**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/workflows)**:** Configure custom workflows applicable to the collection.
* [**CSAT Survey**](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/csat-survey)**:** Enable and configure Customer Satisfaction (CSAT) surveys to gather feedback from users after their requests are resolved.
* **Additional Collection Settings:** Access options to
  * Delete the Collection
  * Download request data for analysis

Not all settings are available for every Collection type or Product Edition.

## Creating a Collection

The process for creating a Collection involves defining specific settings based on the Collection type.

{% hint style="success" %}
Portal and Web Chat Collections are automatically created when their respective features are enabled.
{% endhint %}

During the creation process, you will be prompted to configure settings specific to the type of Collection you are creating. Refer to the [**Configuration Options**](#configuration-options) section above for a detailed description of each setting. When configuring the **Triage Channel** for a Collection, you can either select a Slack channel to use as Triage or choose the **"Proceed without Triage"** option to create the Collection without any Triage channel.

To create a new Collection:

* Navigate to the **Inbox** in the [ClearFeed WebApp](https://web.clearfeed.app/).
* Click the **Add new Collection** button. There are two ways to do this:
  * Hover over the **“+” icon** next to the **Collections** header and select the source for the requests.<br>

    <figure><img src="/files/QxP7Q3CMdlc5b7tlk6Vv" alt="" width="443"><figcaption></figcaption></figure>
  * Hover over the **“New” button** at the bottom of the sidebar and from the dropdown, select **Collection**.<br>

    <figure><img src="/files/G3xEbQlzJXKhNzz3wx97" alt="" width="469"><figcaption></figcaption></figure>
* Depending on the type of Collection you are creating, you will be asked to configure the relevant settings. The available settings for each Collection type are:
  * **Slack**: Responders, Request Channels, Triage Channel, Ticketing, Task Management, Workflows
  * **API**: Responders, Triage Channel, Workflows
  * **DM**: Triage Channel, Ticket Routing, Workflows
  * **Teams**: Responders, Request Channel, Triage Channel, Ticketing
  * **Email**: Responders, Triage Channel, Email Settings

{% hint style="success" %}
If any of the option is not shown that means you have already reached the limit of no of collection allowed for that type or the type is not supported for your Product Edition.
{% endhint %}

## Managing Collections

Beyond initial creation and configuration, you can perform several management actions on Collections from the ClearFeed WebApp.

### **Updating Collection Settings**

After a Collection has been created, you can modify its settings. The specific settings that are available for editing depend on the Collection type.\
\
The settings that can be edited for each Collection type are:

<figure><img src="/files/g3je4N4WI9Dw3bB9rFBh" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/0Ibu6q7m0uldkjssTeWE" alt="" width="264"><figcaption></figcaption></figure>

* **Slack:** Responders, Assignment Rules, Request Channels, Welcome Message, Triage Channel, Emoji Rules, Ticketing, Task Management, GPT Powered Answers, Automations, CSAT, Business Schedule and SLA settings, Additional Settings.
* **Web Chat/Portal:** Responders, Assignment Rules, Triage Channel, Ticketing, GPT Powered Answers, Automations, Business Schedule and SLA settings, Additional Settings.
* **Email:** Responders, Assignment Rules, Email Settings, Triage Channel, Ticketing, GPT Powered Answers, Automations, Business Schedule and SLA settings, Additional Settings.
* **DM:** Triage Channel, Ticket Routing, Request Channel, Ticketing, Emoji Rules, GPT Powered Answers, Automations, Business Schedule and SLA settings, Additional Settings.
* **API:** Triage Channel, Ticketing, Assignment Rules, GPT Powered Answers, Business Schedule and SLA settings, Automations, Responders, Additional Settings.
* **Teams:** Responders, Assignment Rules, Request Channels, Triage Channel, Ticketing, Additional Settings.

### Renaming a Collection

You can rename a Collection to better reflect its purpose or the team it serves.

* Navigate to **Collection Settings** in the ClearFeed Web App.
* Click on the **Edit icon** next to the Collection name.
* Enter the new name and click **Save**. The updated name will be reflected across the application (all related settings and dashboards).

<figure><img src="/files/RD3pcKSDTk1NPICDfErc" alt=""><figcaption></figcaption></figure>

### Download Collection Data

You can download the request data for a Collection as a CSV file from the Additional Settings section. This data can be used for analysis and reporting.

The downloaded data will primarily include ClearFeed requests (messages identified as customer requests) and associated ticket linkage metadata. Messages linked to a ticket will also be included, even if they were initially marked as "Not a Request." This export is request-level metadata and does not provide a full export of all question-and-answer messages in the underlying Slack or Teams threads.

<details>

<summary>Downloaded Data</summary>

The downloaded data will contain the following information:

* Author
* Assignee
* Status
* Channel Name
* Last Message Time (in UTC)
* Request Creation Time (in UTC)
* Ticket Creator
* Is Linked Ticket Present
* Linked Ticket Id
* First Response Time SLA Breach
* Time to first response (In Min) \[Only present if SLA breached]
* Closure Time SLA Breach
* Closure Time (In Min) \[Only present if SLA breached]

</details>

### Deleting a Collection

To delete a Collection, it must first be empty of associated incoming request sources. This means:

* Slack and Teams Collections: Ensure the Collection contains no channels. You must remove them or move them to another Collection first.
* Email Collections: Remove the Email Address from the Email Settings option.

Once the Collection contains no channels or associated sources, it can be deleted using the **Delete Collection** button within the Additional Settings section.

{% hint style="warning" %}
Portal, DM, API and Web Chat Collections are not allowed to be deleted.
{% endhint %}


# Responders

**Responders** are members of your organization who act as support agents or team members responsible for handling incoming requests.

## **Responder Identification**

### **For Customer Support**

Define responders by specifying an **email domain** (e.g., `@clearfeed.ai`). All Slack users with that domain are automatically considered responders. You can also manually add Slack users from other domains as additional responders.

<figure><img src="/files/nVURx21BYqRwpHqkPA4p" alt="" width="563"><figcaption></figcaption></figure>

### **For Supporting Employees using ClearFeed**

All users with the **Agent** role are considered responders by default. You can assign the Agent role to additional team members in the [**Users**](/clearfeed-help-center/account-setup/manage-users) section.

<figure><img src="/files/IdTulZXSv1O2GgKlekdm" alt="" width="563"><figcaption></figcaption></figure>

### **For Supporting Employees using External Integrations**

You can directly search and add Slack users as responders.

<figure><img src="/files/gkEOsdJvuzSkt5XgbEL5" alt="" width="563"><figcaption></figcaption></figure>

## **Controlling which messages create Requests** <a href="#controlling-which-messages-create-requests" id="controlling-which-messages-create-requests"></a>

When a new ClearFeed account is created - most messages in request channels create requests (regardless of whether agents/responders post a message). While Announcements do not create requests, but replies to announcements by customers also create requests. Some messages maybe filtered based on their content and do not create requests. (See also: [How to suppress request creation](/clearfeed-help-center/advanced-recipes/how-to-suppress-request-creation))

Request creation can be suppressed based on the role of the user and these controls are provided in the Responder Settings:

<figure><img src="/files/jYIqpkdEI0Ij6UoXPugM" alt="" width="563"><figcaption></figcaption></figure>

* When **Create requests from Responder messages in request channels** is toggled **ON**, any message from a responder in a request channel automatically creates a new request in the **Open** state.

For teams using ClearFeed for Customer Support, we generally recommend keeping this setting **disabled (OFF)** so that internal responder messages (e.g., from your own domain such as `@yourcompany.com`) do **not** automatically create requests. Turn it **ON** only if you explicitly want responder messages in customer/request channels to become requests by default.

For teams using ClearFeed for Internal Helpdesks, we generally recommend keeping this setting **enabled (ON)** since agents may also want to file requests from request channels. Ultimately, this is a preference setting—choose the behavior that best matches how your team uses request channels.

* If the previous option (**Create requests from Responder messages in request channels**) is turned off - replies by customers (ie. non-responders) to threads initiated by Responders still creates a requests. Users can suppress such requests by turning **OFF** the second toggle (**Create requests from replies on responder threads**). If this is turned off - threads initiated by Responders never create requests, even when customers reply to them.

  We recommend keeping this setting to **enabled (ON)**
* Note that where messages are not converted into requests - either because of the settings above, or because they were old messages prior to ClearFeed being installed in the channel - they can be converted into requests manually by applying a `:pushpin:` emoji.

***

## Responder Replies and SLA Behavior

{% hint style="warning" %}
**Important:** Only messages from configured **Responders** (for internal helpdesk, typically users with the **Agent** role) are treated as **responder replies** for:

* Moving a request/ticket out of **Open** (e.g., to In Progress)
* Stopping or satisfying **First Response Time** SLAs
* Preventing response time based alerts

Replies from internal users who are **not** Responders/Agents are treated as requester/internal comments and **do not** change ticket state or stop SLA timers. If you want internal replies (e.g., from everyone in your company) to count as responder replies, talk to ClearFeed Support about using a **usage-based / channel-based** pricing model where responders can be defined by domain.
{% endhint %}


# Views

Organize and streamline your support with customizable saved views. Create personalized or shared views with specific filters.

## Overview

Views is a dedicated section on the ClearFeed Web app that helps you view requests/tickets across all Collections.

<figure><img src="/files/O2JLhjDk2mYfFXiKkD7T" alt="" width="563"><figcaption><p>ClearFeed Views</p></figcaption></figure>

Standard Views are now Edition-Specific, tailored to your use case for easier access and better collaboration.

Views have been categorized into **"My Views"** and **"Team's Views".**

* **My Views**: Access tickets assigned to you with relevant filters to focus on your work.
* **Team's Views**: This section offers views to track all team requests/tickets, applying standard filters for better organization.

### **Views for Integrations Product Edition**

* **Team's Views**
  * **Requests without Tickets:** All requests where no ticket has been filed using any external Integration.
  * **Requests with Tickets:** All requests where a ticket has been filed using any of the external Integration.

### **Views for Internal/External Helpdesk Product Edition**

* **Team's Views - All the views in this category are useful for managers to get insights into all requests based on different standard filters applied.**
  * All - Displays all conversations across every Collection.
  * Unsolved - Displays all the requests that are not yet Solved or Closed.
  * Unassigned - Displays all requests that are not yet assigned to any user.
  * Pending with Support - Displays all the requests where the onus is on the Support Team to resolve.
  * Pending with Customer - Displays all the requests where an update/input from Customer is required to move ahead.
  * First Response Overdue - Displays all the requests where First Response SLA has been breached.
  * Resolution Overdue - Displays all the requests where Resolution SLA has been breached
  * Requests with Tasks - Displays all requests that have an external task linked to them.
* **My Views - All the views in this category are useful for responders to quickly view and work on requests assigned to them.**
  * All - Displays all conversations across every Collection assigned to the particular assignee
  * Unsolved - Displays all the assigned requests, that are not yet Solved or Closed.
  * Pending with Me - Displays all the requests assigned to a user where the onus is on him to resolve.
  * Pending with Customer - Displays all the requests assigned to a user where an update/input from the Customer is required to move ahead.
  * First Response Overdue - Displays all the requests assigned to a user where First Response SLA has been breached.
  * Resolution Overdue - Displays all the requests assigned to a user where Resolution SLA has been breached
  * Requests with Tasks - Displays all requests assigned to a user that have an external task linked to them.

{% hint style="warning" %}
Auto-memorize functionality has been removed. Any new filter applied to the standard Views is not auto-saved
{% endhint %}

## Custom Views

Custom View is a great way to get a filtered list of tickets based on certain criteria. Whether you want to pull the list of tickets you have not responded to, or the list of tickets which have Priority as Urgent, Custom views help you get the records you need and Save it so that you refer to them again without going through the hassle of applying filters.

### Creating a New Custom View

You can create a Custom View in three ways:

* Modify an existing View
* Clone an existing View
* Create one from scratch

#### Option 1: Using an existing View

* Start with any existing **Custom** or **Standard View**, then update it by:
  * Adding new filters
  * Editing or removing existing filters
* Once the desired filters are applied, click **Save as New View**.
* In the **Save As** popup:
  * Enter a name for your new view
  * Choose visibility:
    * **My Views** – visible only to you
    * **Team’s Views** – visible to everyone in your account
* Click **Save** to create the view
* You will be redirected to your newly created view.

{% hint style="info" %}
For agents, views will be saved under **My Views**.
{% endhint %}

#### Option 2: Clone an Existing View

* Identify the view you want to clone
* Click the **three dots (⋮)** next to the view name
* Select **Clone View**
* In the popup:
  * Enter a name for the new view
  * Choose visibility: *My Views* or *Team’s Views*
* Click **Save**

The cloned view will be created and you'll be redirected to it. You can optionally update filters and click **Save View**.

<figure><img src="/files/YqUUjvEweLYa5ixwhj0m" alt="" width="479"><figcaption></figcaption></figure>

#### Option 3: **Create from Scratch**scratch

* Click the **Add New View** button. There are two ways to do this:
  * Hover over the **“+” icon** next to the **Views** header
  * Hover over the **New** button in the sidebar and select **Views**
* In the popup:
  * Enter a name for the view
  * Choose visibility
* A blank view will be created and you'll be redirected to it
* Apply filters as needed. Once ready, click **Save View**

### Managing Custom Views

#### For Views Created by You

If you have created a Custom View, you can:

* **Rename**: Change the name of the view.
* **Clone**: Duplicate the view to create a new one.
* **Delete**: Remove the view permanently.

#### For Views You Didn’t Create (Team's Views)

For views under **Team's Views** that you didn’t create, you can:

* **Clone**: Use the existing view as a template to create your Custom View.

## Sync a Custom View to a Slack List

You can now automatically **sync saved Custom Views from ClearFeed to a Slack List** on a recurring schedule. This keeps your team updated on key ticket metrics — such as **unassigned** or **aging requests** without needing to check manually every day.

{% hint style="info" %}
**Note:** The synced Slack list is **view-only.** You cannot edit, assign, or manage tickets directly from the Slack list. All ticket management actions (such as assignment or editing) must be performed in the ClearFeed WebApp or the triage channel.
{% endhint %}

#### **What You Can Do**

* Schedule syncs **hourly**.
* Select any **Custom View** as the data source (up to **200 requests**, sorted by *last message time*).
* Add **custom fields** to your synced list to display additional information.
* View the synced list directly in Slack, just like you would in the ClearFeed WebApp.
* Edit or delete sync schedules anytime.

#### **How to Set Up Sync to Slack List**

1. In the **ClearFeed WebApp**, go to **Inbox** and open the **Custom View** you want to sync. **Note**: Standard Views cannot be synced. Users must define a Custom View for syncing.
2. Click **Share View to Slack**, then select **Sync to a Slack List** from the dropdown.\\

   <figure><img src="/files/3wgNjYyx96UszT5Ofj8H" alt="" width="376"><figcaption></figcaption></figure>
3. In the setup modal:
   * Enter a **Slack List Name** (a new list will be created in your Slack workspace).
   * Choose the **Slack channel** where the list should appear.
   * **(Optional) Add Custom Fields**: Select any custom fields you want to display in the synced Slack list. You can add a maximum of 15 custom fields to the list.

     **Supported Field Types** You can add the following types of custom fields to your Slack list:

     * **Single Select** - Single selection from predefined options
     * **Multi Select** - Multiple selections from predefined options
     * **Text** - Text fields (up to 3,000 characters)
     * **Date** - Date fields
     * **Number** - Numeric fields
     * **User Select** - User assignment fields
   * Click **Start Sync** to confirm. Sync runs immediately after you click **Start Sync**.

     <figure><img src="/files/aOOA8nMLzsxT3p3YIJ6T" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}

* **Custom Fields Order**: The order in which you select fields from the dropdown determines the column order in the Slack list. Select fields in your preferred sequence.
* **Renaming Custom Fields**: If a field is renamed in ClearFeed, the sync will continue without interruption. The renamed field will still display the old name in the Slack list.
* **Deleting Custom Fields**: If a field is deleted from ClearFeed, the sync will stop for that field. The column will remain in the Slack list but will no longer receive updates (stale column). You will need to create a new sync to remove deleted fields.
  {% endhint %}

#### **Managing an Active Sync**

Once a sync is configured:

* The **Sync to a Slack List** option under the **Share View to Slack** dropdown will display an **Active** tag.\\

  <figure><img src="/files/bqXiQx9nAlkhKq6XvjhG" alt="" width="390"><figcaption></figcaption></figure>
* Clicking it allows you to:
  * View Sync details
    * Next Sync
    * Slack List
  * Delete the sync using the **delete** icon.\\

    <figure><img src="/files/MaYU1bW6w06Zsf9I1hP5" alt="" width="563"><figcaption></figcaption></figure>

#### **Slack Delivery Format**

After scheduled sync, the generated list will appear under **Files** in the selected Slack channel containing the latest data from your Custom View. A suggested configuration is:

* Define Custom Views that match your Triage Channels (in terms of the Collections)
* Sync those Views to Slack List(s) shared with the respective Triage Channel
* Add the Slack List as a tab to the Triage Channel

This can make it easy for support personnel working out of Triage channels to easily access a dashboard of Tickets from the Triage Channel.

<figure><img src="/files/wmUjyas4wFiJR8tZGVL1" alt="" width="563"><figcaption><p>Slack List shown in Channel Files</p></figcaption></figure>

In Slack, you can trigger the sync on demand by clicking the **Sync Now** button.

<figure><img src="/files/v3Lwlsb5UNNtSijqJt8c" alt="" width="563"><figcaption><p>Sync Now button in Slack List</p></figcaption></figure>

* This takes the user to the WebApp and starts the sync.
* The button is visible to **everyone in the channel** where the list was shared. However, if the list was synced from a **private view** and someone without access clicks it, the sync will fail.
* If you have **multiple ClearFeed accounts**, ensure you are logged into the **same account that originally set up the Sync to Slack List**, otherwise you will see an error
* If the list has been **deleted**, an error will be shown when attempting to sync.

## Periodic CSV Export to Slack

You can now schedule periodic reports from your saved Views in ClearFeed and automatically receive them in a Slack channel of your choice. This helps your team stay on top of critical ticket metrics—such as unassigned or aging requests—without needing to manually check every day.

#### What You Can Do

With Scheduled Reports, you can:

* **Send reports to Slack** on a daily, weekly, or monthly schedule.
* **Select any Custom View** as the data source.
* **Receive raw CSVs** in Slack—just like downloading them manually.
* **Manage schedules** easily through an intuitive modal.

#### How to Set Up a Scheduled Report

1. Go to the **Inbox** in the ClearFeed WebApp and open the **Custom View** you’d like to schedule.
2. Click **Share View to Slack**, then select **Get a periodic CSV Export** from the dropdown menu.
3. In the pop-up modal:
   * Select the **Slack channel** where you'd like the report delivered.
   * Choose the **frequency**: Daily, Weekly, or Monthly.
   * Set the **time** (in your local timezone).
   * If Weekly, pick the **day**; if Monthly, pick the **date**.
4. Click **Save** to confirm.

<figure><img src="/files/bP6DCXQm01zSxkKzJYvw" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** A CSV file with the latest data will be sent to the selected Slack channel at the scheduled time.
{% endhint %}

#### Managing Scheduled Reports

After a report is scheduled:

* The **Get a periodic CSV Export** option under the **Share View to Slack** dropdown will show an **Active** tag.\\

  <figure><img src="/files/8BYU7x2Md60uLAGBhjV5" alt="" width="380"><figcaption></figcaption></figure>
* Clicking this option lets you:
  * View the current schedule details.
  * Edit the export frequency, time, Slack channel.
  * Delete the schedule using the **Delete** icon.

<figure><img src="/files/Q7BIenrnes3gsrQPtcig" alt="" width="563"><figcaption></figcaption></figure>

#### Slack Delivery Format

When the report is delivered, you’ll receive:

* A message confirming the report delivery.
* A CSV file containing the current data from the selected Custom View.
* Reports can be sent to **Slack channels** only.\\

  <figure><img src="/files/KfWFFquq3V6fnNt9hbvf" alt="" width="563"><figcaption></figcaption></figure>

## FAQs

1. **Are filters applied to standard Views automatically saved?**\
   **Answer:** No, the auto-memorize functionality has been removed. Any new filters applied to standard Views are not auto-saved.
2. **Why can’t I see the&#x20;*****First Response Overdue*****&#x20;and&#x20;*****Resolution Overdue*****&#x20;Views?**\
   **Answer:** These Views are only displayed if SLA policies are set up in your account.
3. **Why is the&#x20;*****Requests with Tasks*****&#x20;View not visible?**\
   **Answer:** This View is only available if an external integration is added to your account.


# Custom Fields

This section will cover details of using ClearFeed Custom Fields

Custom Fields let you add properties to requests and tickets beyond the standard fields like **Status**, **Priority**, and **Assignee**. They help:

* Tag requests with custom values
* Build requester-facing forms for structured data capture before ticket creation
* Enable granular reporting, especially for single-select fields

## Field Types

ClearFeed supports the following types of custom fields:

* **Single Select**
* **Multi Select**
* **Single-Line Text**
* **Multi-Line Text**
* **Number**
* **Date**
* **User Select**

## Creating a New Custom Field

* Go to [**Forms**](https://web.clearfeed.app/objects/clearfeed) on the ClearFeed WebApp.
* Click on **Fields**
* Click **Create New Field**
* Choose the desired **Field Type**
* (Optional) For **Text** fields, specify the **Character Limit.**
* **(Optional) Add User Description** — Shown to end users when they fill out forms. Use this to explain what the field captures and guide users in providing the right input.
* **(Optional) Add** **AI Description** — Used to auto-fill this field with AI. Provide guidance on how AI should interpret and use this field. Available for all field types (except User select)

{% hint style="info" %}

* Custom Fields can be automatically filled by Auto Fill fields action in Automations using predefined prompts. This reduces manual effort and improves consistency. You define the prompt once, and it is executed every time the automation is triggered.
* Auto-filled values can always be reviewed and edited manually. Learn more about how to setup Auto Fill Fields end to end [here](/clearfeed-help-center/clearfeed-helpdesk/automations#auto-fill-fields)
* For Single Select and Multi Select fields, avoid starting option values with numeric characters (e.g., '1 - Critical'). Field values should begin with a letter.
  {% endhint %}

<figure><img src="/files/nWmxe7djldOGCJGHkxT7" alt="" width="563"><figcaption></figcaption></figure>

## Usage

### **Fill via Triage**

Click the **Edit** button on any triage message in Slack to view and update the values for custom fields.

### **Fill via WebApp**

Open a request → Scroll to **Forms and Custom Fields** → Enter values.

### **Use in Forms**

Custom Fields can be added to request forms to gather structured data at the time of ticket creation. Learn how to [Create Forms](/clearfeed-help-center/clearfeed-helpdesk/forms#create-form)

## FAQs

1. **Is there a limit on number of fields we can create?**\
   **Answer:** Users can create as many single-select and multi-select fields. For the text type fields, we currently support the creation of up to 50 fields. Please contact <support@clearfeed.ai> if you want to create more than 50 text-type fields.
2. **How many fields will be displayed in the triage request block?**\
   **Answer:** The first five configured custom fields will be shown on the triage message block. However, all the created custom fields will be visible once you click on the `Edit` button on Triage. All the fields will also be visible on the ClearFeed Web App.
3. **Can I bulk upload values for a custom field (e.g., via CSV import)?**\
   **Answer:** Currently, ClearFeed does not support bulk uploading of field values (such as options for a single-select or multi-select field) via CSV or similar methods. You can use the [Custom Fields API](https://github.com/clearfeed/new-docs/blob/main/api-reference/api-reference/custom-fields.md#update-custom-field) to bulk add field values programmatically. Alternatively, if you have a large number of values to add, please contact support—one-time manual insertion may be possible as a workaround in some cases.


# AI Fields

Automate field population, tagging, and classification of support requests

ClearFeed’s **AI Fields** are intelligent, auto-filled fields populated by AI. They enable extracting key details from support conversations - such as request category, urgency, or sentiment - and populate them using AI without manual effort.

Traditionally, categorizing or tagging support requests has been manual and error-prone. As support volumes grow, this becomes inefficient. **AI Fields eliminate that burden**, improving speed, consistency, and visibility across your support workflows.

## Use Cases

With AI Fields, your team can:

* Tag tickets with AI populated fields
* Surface such fields during ticket handling for faster triage and resolution
* Perform analytics on historical tickets using AI populated fields
* Use AI populated fields to drive ticket routing and escalations

Note that AI classifications may not be 100% accurate in every case.

## Types of AI Fields

ClearFeed supports **three types of AI Fields**:

1. **Custom Field-Based AI Fields:** You define custom fields for ticket, and give AI instructions to auto-populate them.
2. **Automation Action AI Fields:** Temporary fields calculated using AI available within an Automation.
3. **System-Defined AI Fields:** Prebuilt AI fields automatically populated by ClearFeed, no setup required.

## 1. **Custom Field-Based AI Fields**

You can create your own custom fields (that are part of the ticket/request schema) and configure AI to populate them automatically. This is useful when you want structured data to be populated into ticket fields - both for immediate use while triaging the ticket and for longer term analytics.

### How to Set It Up <a href="#how-to-set-up-custom-ai-fields" id="how-to-set-up-custom-ai-fields"></a>

1. **Create a Custom Field**
   * Go to **Forms**, pick **ClearFeed Ticketing**, pick **Fields** tab → **Create New Field**.
   * Choose the field type (Text, Single Select, or Multi Select) and define the options if its a *Select* type field.
   * **Add AI Description:** Describe the Field. Define its meaning, how it should be derived, and examples (both positive and negative) for each of it's possible values. This description helps AI compute the field. The more comprehensive and precise the instructions, the more accurate the AI computation.

     <figure><img src="/files/sm21RTG35c9RQPHXj2mn" alt="" width="563"><figcaption></figcaption></figure>
   * **Save the Field**
2. **Set Up an Automation**
   * Go to **Automations → Create New Automation**.
   * Add a **Trigger** (for example when a ticket is created or closed).
   * Optionally configure additional **conditions** and **delays** as needed in the Automation Builder.
   * Add an action → **Auto-fill Fields**.

     <figure><img src="/files/0dglG6hP7GP3T1M1sa3V" alt="" width="563"><figcaption></figcaption></figure>
   * (Optonal) Customize the default **prompt** to guide AI. If the Custom Field has good AI description and examples for each value, this step can be skipped.
   * Select **Save to Custom Fields** as the output option and pick specific custom fields to auto-fill. These can be the same fields we created in Step 1. You can select multiple fields to be auto-filled.
3. **Test the Auto-Fill Action**

   * Expand the **Test Configuration** and test the auto-fill action against real tickets and requests.

   <figure><img src="/files/hk3KwJNoCbuQ2gz9rchU" alt="" width="552"><figcaption></figcaption></figure>

{% hint style="info" %}
Learn more about [Automations](/clearfeed-help-center/clearfeed-helpdesk/automations)
{% endhint %}

## 2. **Automation Action AI Fields**

These are very similar to Custom Fields - except they are temporary fields computed by AI Auto-Fill Action that are available subsequently during the execution of an automation. To create and populate such fields:

1. Use **Auto-fill Fields** automation action as described in the previous section on Custom-Field Based AI Fields.
2. Instead of saving the output of AI to Custom Fields, pick **Create Automation Variable** output action.

   <figure><img src="/files/AY93azVWNwViFvAq2PY5" alt="" width="563"><figcaption></figcaption></figure>
3. Doing this will allow you to create Fields as part of the automation. These Fields are restricted to simple types (Text, Number and Boolean)
4. Fields populated by Auto-Fill Action can be used in subsequent Automation actions. For example - to use when defining conditions or to post to a webhook.

Single or Multi-Select Fields must be emulated using Text field type. Define all the possible values of the Text field, with examples, as part of the Auto-Fill Action prompt and instruct the AI on what value to emit based on the request content.

### Custom Field versus Automation Action AI Fields

* Use Custom Field AI Fields to store AI computed fields in a ticket persistently. Such fields are not just available for use within automation flows - but are also visible as part of the ticket to Agents. They can be used to filter tickets from the Webapp Dashboard, or to filter requests/tickets from the Insights module. Some examples of such custom fields:
  * Product Area
  * Sentiment
  * Order Number
* Use Automation Action AI Fields where the field is only required in the automation. For example, to create a ticket based on the urgency of a request - one may populate a temporary Automation Action AI Field (say *is\_important*) and use it as a condition subsequently before deciding whether a ticket should be filed or not.

### Improving AI Field Computation Accuracy

AI models may occasionally mis-populate AI fields. To improve accuracy for your AI-autofill automations:

* Test the Auto-Fill Action on real examples from your workspace before enabling them broadly.
* Refine AI Description (of the Custom Field) and/or Auto-Fill Action prompts to clearly define each value you expect (for example, what should count as Positive, Neutral, or Negative sentiment).
* Add concrete example scenarios for each value, including edge cases that the AI might otherwise miss.
* Improve the description and the prompt, Re-test and iterate on the instructions whenever you notice repeated misclassifications.

## 3. **System-Defined AI Fields**

ClearFeed also offers built-in AI Fields that require no configuration:

### **Auto-Category**

Automatically classifies requests into one or more of the following categories:

1. **Feature Requests**: Requests for new product features or enhancements to existing features.
2. **Bug**: Issues where the user reports a malfunction or error in the product.
3. **How to Question**: General queries from users on how to use the product or specific features.
4. **Problem Report**: Requests for reporting issues with a product or service that might not be a bug.
5. **Requests**: General requests from users to enable a feature or get some service.

{% hint style="success" %}
Each request may have multiple AI fields, meaning it could be tagged with more than one category based on the issue discussion.
{% endhint %}

<figure><img src="/files/eL0jxeY1gFr831gEGIYb" alt="" width="563"><figcaption></figcaption></figure>

### Auto-CSAT

Predicts the customer’s satisfaction with the interaction, updated dynamically as the conversation evolves into the following:

* Very Positive
* Positive
* Neutral
* Negative
* Very Negative

<figure><img src="/files/hrJTiCX10EmCriSl2SQK" alt="" width="563"><figcaption></figcaption></figure>

### Auto-Emotion

Represents the overall sentiment detected in the conversation. The following values are added as a part of the sentiment analysis:

* Positive
* Neutral
* Negative

<figure><img src="/files/D7v8awBEcRyRWOmBqZ3M" alt="" width="563"><figcaption></figcaption></figure>

## Filter by AI Fields

Use AI fields to filter and segment requests in the ClearFeed dashboard:

1. Go to **Inbox**
2. Click **Add Filter**
3. Choose any AI field (Auto-Category, Auto-CSAT, Custom Fields, etc.)
4. Select desired values and click **Apply**

## How AI Fields Stay Updated?

<table><thead><tr><th width="185">Field Type</th><th>Update Behavior</th></tr></thead><tbody><tr><td><strong>Custom AI Fields</strong></td><td>Updated only via automations that you define (e.g., on ticket creation or request creation or request update)</td></tr><tr><td><strong>System AI Fields</strong></td><td>Computed once when the request is in <strong>Solved</strong>/<strong>Closed</strong> state or when >3 days have passed since any update. The job runs every few hours in the background.</td></tr></tbody></table>

{% hint style="info" %}
**Note on using AI Fields in Automations**

System-defined AI fields such as **Auto-CSAT** and **Auto-Emotion** are available for viewing and filtering in the ClearFeed dashboard, but they are **not exposed as fields in automation conditions or actions**. If you want to **trigger automations or alerts based on Sentiment or CSAT** you should use a custom Field or an Automation Action AI Field (as described above) to calculate Sentiment or CSAT and then use it in automation conditions or actions.
{% endhint %}


# Forms

Streamline ticket creation and editing on ClearFeed using Ticketing Forms

ClearFeed improves ticket management with Forms that simplify creating and editing tickets directly from your request and triage channels.

ClearFeed Ticket Forms include fields like Title, Priority, and Assignee. **To add custom fields, you must create them first.** Learn how to create them below:

{% content-ref url="/pages/3COZwuuW7I56C03hZILQ" %}
[Custom Fields](/clearfeed-help-center/clearfeed-helpdesk/custom-fields)
{% endcontent-ref %}

## Configuring Forms <a href="#configuring_forms" id="configuring_forms"></a>

Each ClearFeed Form has two parts: ***creating*** and ***editing a ticket**.*

* Navigate to [Forms](https://web.clearfeed.app/objects/clearfeed) on the ClearFeed WebApp and click on `Add Form`
* Enter a suitable **form name** — this will be visible to requesters when creating a ticket.
* Add a **form description** to provide context, instructions, or any custom message for the requester. This description is not tied to any specific field and is displayed just **below the form title** as a static informational block in Ticket Creation form.

**Example:** For a form titled *“*&#x52;emote Work Request*s”*, you can add a note like *“*&#x54;his form is intended for employees requesting approval to work remotely for more than two days in a given week.*”* just beneath the form title.

<figure><img src="/files/EAj9mwr6qpRSZJw7UJjH" alt="" width="563"><figcaption></figcaption></figure>

### *Create* Form

1. *Title* and *Priority* fields are added to the Form by default.
   * These properties are *Pre-filled* by ClearFeed (that means, a value is assigned to these fields when a ticket is created - but you can still modify their values).
2. From the ClearFeed Fields table - add the fields you want to be a part of the form.
3. Configure properties such as setting up a field alias, adding placeholder text and hint, making fields optional, setting a default value, or hiding a field.
   * Learn more about field properties [**here**](#field-properties).
4. Save your configuration and move on to [configure the Edit Action form](#configure-the-edit-action-form) (optional).

{% hint style="info" %}
Fields added in the *Create* form will be visible to responders on the triage channel and web dashboard when working on tickets.
{% endhint %}

<figure><img src="/files/puvehgrnKDYZuMRAEWU2" alt="" width="563"><figcaption><p>Configuring the Create Action Form</p></figcaption></figure>

### *Edit* Form

If the Edit Form is enabled - users will see an Edit Ticket button when they create a ticket. You can provide requesters and responders the exclusive ability to modify fields after ticket creation.

{% hint style="warning" %}
Only the fields that are a part of the *Edit form* can be modified from the triage channel after a ticket is created.
{% endhint %}

1. Add fields from the `ClearFeed Fields` table available on the right-hand side.
2. Configure properties such as making fields optional, setting a default value, or hiding a field.
   * Learn more about field properties [**here**](#field-properties).

{% hint style="success" %}
**Pro tip:** Use the **Add all Create Form fields** button to quickly add fields that are a part of the *Create* form to the *Edit* form.
{% endhint %}

<figure><img src="/files/x8hhnwTi4o9ag2nE4rNF" alt="" width="563"><figcaption><p>Configuring Edit Action Form</p></figcaption></figure>

{% hint style="warning" %}
If all form fields are hidden or only editable by responders, requesters can create tickets without filling out a form. Pre-filled or default values will still be populated.
{% endhint %}

## Screens <a href="#screens" id="screens"></a>

This section lets you customize the ticket message shown to the requester. You can show or hide ticket fields and manage the ticket resolution button.

**How to access Screen settings?**

* Head over to [Forms](https://web.clearfeed.app/objects/clearfeed) and switch to the Screens tab

### Ticket Message Visibility

You can enable or disable the ticket message block. If disabled, the ticket details are not shown on the request channel.

<figure><img src="/files/4oXF5RxdXPGGM70lFiuL" alt=""><figcaption></figcaption></figure>

### Fields <a href="#fields" id="fields"></a>

Choose which fields among the following are shown on the ticket message.

* **Assignee**
* **Priority**
* **Status**
* **Form Name -** Name of the Form used to create the ticket.
  * Note: Form name appears only if there is more than one form in the account.
* **Fields populated by Create Form -** Only non-empty, non-hidden fields, marked as editable by 'All' in the 'Create Form', will be displayed in the message.
* **Fields populated by Edit Form -** Only non-empty, non-hidden fields, marked as editable by 'All' in the 'Edit Form', will be displayed in the message.

<figure><img src="/files/4YwkuVG1maMgs23pT4vx" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** It's possible to add spacing between fields in the screen display. A screen configuration setting can be added to control how ticket field messages are formatted in Slack channels.

<img src="/files/y40C3EJE1zhFQSubzpRw" alt="" data-size="original">

Please reach out to ClearFeed Support to set this up.
{% endhint %}

### Actions <a href="#actions" id="actions"></a>

1. ***Mark As Solved*** button: This button allows responders/requesters to solve a ticket right from the request channel.
   * **Permissions:** `All` or `Responder`.
     * `All` - Allows access to the `Mark as Solved` button to both the requester and responder
     * `Responder` - Only agents/responders will be able to use the `Mark as Solved` action to resolve tickets.
2. ***Edit Ticket*** button: Present on the ticket message by default whenever the Edit action Form is enabled.
   * Disabling a Parent Form (or its underlying *Edit* action form) will disable the editing feature for existing tickets created using it and the `Edit Ticket` button will be hidden from all new tickets created using the Form.

<figure><img src="/files/9gD5qP6gJwfpbzvplHb5" alt="" width="563"><figcaption></figcaption></figure>

### Settings

Configure if status change notifications are shared on the request channel or not.

<figure><img src="/files/TQ1dY3WpCA3kGdMrzbAa" alt="" width="563"><figcaption><p>Sync Settings for ClearFeed Ticketing</p></figcaption></figure>

## Mapping ClearFeed Forms to Collection <a href="#associate_forms" id="associate_forms"></a>

By default, all active ClearFeed Forms are available for ticket creation in Collections with ClearFeed ticketing enabled. However, you can map specific Forms to a Collection to restrict the available Forms for ticket creation.

{% hint style="success" %}
ClearFeed Ticketing needs to be enabled for a Collection.

* Only Forms with an active [*Create Action*](#configuring-forms) Form will be available for mapping.
* Any Form can be mapped to multiple collections.
  {% endhint %}

#### How to map Forms to a Collection?

1. Navigate to `Collections -> Settings`.
2. Go to `Ticketing Settings`.
3. In the Forms Availability section, select the `Specific Forms` option.
4. From the available Forms, select the ones you'd like to associate with this Collection.

{% hint style="warning" %}
If a mapped Form (or its *Create Action* form) is **disabled**, it will break the Form's existing mapping with any Collection, and prevent it from being used to create tickets on Slack.
{% endhint %}

<figure><img src="/files/Xs2YHv0diotrSFzbRzct" alt="" width="563"><figcaption><p>Mapping specific forms to a Collection</p></figcaption></figure>

## Field Properties <a href="#field-properties" id="field-properties"></a>

* **Removing Fields:** Remove fields from a Form using the Delete icon.
  * **Note:** *Title* and *Priority* are non-removable in the *Create Action* form. However, they can be hidden to prevent modification.
* **Reordering Fields:** To customize the order of the fields, click and hold a field in the left column, then drag and drop it to your desired position in the sequence.
  * **Note:** Non-removable fields will always be on top, while hidden fields will automatically move to the bottom once the changes are saved.
* **Non-responder Field Label:** This determines the field name that would be displayed to the requesters when they use the form.
* **Placeholder Text:** The text that is shown inside the field before users enter their information.
* **Hint Text:** The hint text that is shown below the field to guide users on what to enter. Think of this as the field description.
* **Default Values:** You can add default values to the fields. Default values automatically populate the corresponding customer fields when a ticket is created.
  * **Note**: Default values cannot be entered for non-removable fields.
* **Hidden Fields:** To ensure specific fields are not modified during ticket creation, you can hide them from the Create Action Form.
  * **Note**: When hiding a field, it is mandatory to assign a default value to it.
* **Permissions:** Specify who is required to fill a given field when creating or editing a ticket using the `Editable by` column. Choose between *All users* or *Only responders*.
  * **Note**: Only users with the specified permission for a field will see it in the form when creating a ticket on Slack. However, they must mandatorily fill it to proceed.
* **Required Field**: Specify if the field is optional or mandatory when creating or editing a ticket in the **Required** **field** column.
  * **Note:** By default, the Required field value is set to 'Required' whenever a new field is created.

## Conditional Fields <a href="#conditional-fields" id="conditional-fields"></a>

{% hint style="warning" %}
**Important:** Conditional Fields are available only on the Professional Edition and above.
{% endhint %}

Conditional fields allow you to create dynamic forms where fields appear or hide based on the values selected in dropdown (single-select) fields. This keeps forms clean and focused by showing only relevant fields to users based on their selections.

### How Conditional Fields Work

* Admins designate one single-select field as the **"trigger"** field
* For each option value in the trigger field, admins can configure which other fields appear
* Users only see fields relevant to their selection
* When users switch selections, previously entered values for hidden fields are cleared
* Required fields that are hidden are **skipped during form validation**

### Setting Up Conditional Fields

1. In the Form configuration, select a single-select field to be your **trigger field**
2. For each option value in the trigger field, specify which fields should appear
3. Save your form configuration

### Use Cases for Conditional Fields

* **Request type-based routing:** Show different fields for "Bug Report" vs. "Feature Request"
* **Department-specific questions:** Display relevant fields based on department selection
* **Priority-based information:** Require additional details for high-priority requests
* **Location-specific forms:** Show region-appropriate fields based on user's location

{% hint style="info" %}
**Tip:** Keep your forms simple by using conditional fields to avoid overwhelming users with irrelevant questions. Start with the most common use case as your default selection.
{% endhint %}

## FAQs

1. **What is the Default ClearFeed Ticket Form and can I modify it?**\
   **Answer:** The Default ClearFeed Ticket Form is a pre-built form that comes with your ClearFeed account. It's designed to be a foundation for managing tickets within the system. By default, it doesn't show any fields when creating a ticket. However, you have the freedom to customize this form and add the specific fields you need to fit your purposes.
2. **What happens if all fields in a form are hidden?**\
   **Answer:** If all fields in a form are hidden, both responders and requesters can create a ticket without filling out a form. The pre-filled or default values of the fields will automatically be populated in the ClearFeed ticket.
3. **Can requesters create a ticket without filling out a form if all fields are editable only by responders?**\
   **Answer:** Yes, if all fields in a form are set to be editable by only responders, requesters can still create a ticket without filling out a form. The pre-filled or default values of the fields will be populated in the ClearFeed ticket.
4. **Will the pre-filled or default values be used if the form fields are hidden or set to be editable only by responders?**\
   **Answer:** Yes, in both cases—whether the form fields are hidden or set to be editable only by responders—the pre-filled or default values of the fields will be used in the ClearFeed ticket.
5. **Is it necessary for responders to fill out the form if the fields are hidden or set to be editable only by them?**\
   **Answer:** No, responders don't need to fill out the form in these scenarios. The ticket creation process will rely on the pre-filled or default values of the fields.
6. **What happens if the Parent Form or its Edit action is inactive?**\
   **Answer:** If the Parent Form used for creating a ticket, or its underlying Edit action, is inactive, you will be unable to edit existing tickets that were filed through that Form.
7. **What happens if all fields in an Edit Form are hidden when responders and requesters click the Edit ticket button?**\
   **Answer:** If all fields in an Edit Form are hidden, clicking the Edit ticket button will update the respective default values of the ClearFeed ticket fields without showing any form on Slack.
8. **Does ClearFeed automatically capture the placeholder text, hint text, and field alias for fields that are a part of the Create action form to the Edit form?**\
   **Answer:** Yes - once you set up your Create action form - move to the Edit form and click on the button that says `+ Add all Create form fields`. That should copy all fields and the relevant properties. If you have existing fields set up in the Edit form - removing them and re-adding would also copy all properties from the Create form.
9. **How can I view and edit fields that are part of the Create form?**\
   **Answer:** You can do that from the following places:
   * Triage Channel: The triage channel view of the ticket displays all fields that are part of the Create form.
   * Web Console: You can view and edit all fields belonging to the Create form from the web dashboard view of the ticket.

     <figure><img src="/files/GMNErqE8HiBjSTv3P9gP" alt="" width="563"><figcaption><p>Visibility of fields that are a part of create action form</p></figcaption></figure>
10. **How can I view and edit fields that are part of the Edit form?**\
    **Answer:** You can do that from the following places:
    * Triage Channel: The triage channel view of the ticket displays an "Edit Ticket" button when the Edit form is enabled. After clicking the "Edit Ticket" button, you can edit all the fields that belong to the Edit form.
    * Web Console: You can view and edit all fields belonging to the Edit form from the web dashboard view of the ticket.

      <figure><img src="/files/R65kk98fUVXPJ3HgTHiR" alt="" width="563"><figcaption><p>Visibility of fields that are a part of edit action form</p></figcaption></figure>
11. **How can I link a form to a specific channel on Slack?**\
    **Answer:** To link a form to a specific channel on Slack, follow these steps:
    * [Create Forms](#configuring_forms): Ensure that you have created the necessary forms ClearFeed.
    * [Associate Forms](#associate_forms) with Collections: Forms need to be associated with Collections, which contain the channels. If the channel is not monitored by Clearfeed, you will need to add it to a Collection first before linking the form.
12. **Can I make intake form questions more visually distinct for better readibility?**\
    **Answer:** Yes, intake form questions can be displayed with **bolded question text** and the answer shown on a separate line, improving clarity and better readibility. Reach out to our support team to get this enabled for your account.
13. **Can I customize or rename the built-in Priority field values?**\
    **Answer:** No, the built-in Priority field and its values (Low, Medium, High, Urgent) are not customizable or renameable at this time. However, you can create a custom single-select field with your own priority names and add it to your forms. If you prefer, you can hide the default Priority field in the form so only your custom field is visible to users. Learn how to [create custom fields](https://github.com/clearfeed/new-docs/blob/main/clearfeed-helpdesk/custom-fields/README.md) and [how to hide fields in forms](#fields)
14. **Can I embed a ClearFeed Form directly on my website (e.g., Webflow, HubSpot, or other platforms)?**\
    **Answer:** No, ClearFeed Forms cannot currently be embedded directly on external websites. Forms are available within the ClearFeed platform (e.g., Slack, Teams, Customer Portal, or Employee Portal) for creating tickets. To create tickets from an external website, you can use the ClearFeed API to programmatically create tickets from your form submissions. See the [API documentation](/clearfeed-help-center/how-it-works/creating-or-linking-tickets/api) for details.


# Emoji Rules

Emoji Rules let you trigger quick, predefined actions on ClearFeed requests or tickets directly from Slack making it easy to stay on top of work without leaving your conversations.

**Who Can Use Emoji Rules?**

* **Assign (**:eyes:**)** and **Solve (**:white\_check\_mark:**)** actions can only be triggered by **Responders** in Request Channels.
* **Urgent (🚨)** action can be configured to work for **all users or only Responders**.

#### Where Emoji Rules Work

* Emoji Rules function only in Request Channels when applied to the initial request message.
* You can choose whether the rules are triggered by reactions on just the parent message, or by reactions anywhere in the thread.

{% hint style="warning" %}
**Note:** Emoji reactions in **Triage Channels** are **not supported**.
{% endhint %}

## Supported Actions

<table><thead><tr><th width="149.00003051757812">Action</th><th width="140.6666259765625">Emoji</th><th>Description</th></tr></thead><tbody><tr><td>Assign</td><td><span data-gb-custom-inline data-tag="emoji" data-code="1f440">👀</span></td><td>Assigns the request to yourself</td></tr><tr><td>Solved</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>Marks the request as resolved</td></tr><tr><td>Urgent</td><td><span data-gb-custom-inline data-tag="emoji" data-code="1f6a8">🚨</span></td><td>Sets the request priority to "Urgent"</td></tr></tbody></table>

## **Configure Emoji Rules**

1. Open your [Collection's Settings](https://github.com/clearfeed/new-docs/blob/main/helpdesk-concepts/collections/README.md#configuration-options)
2. Expand Emoji Rules
3. Enable the Rules of your choice and click on the edit icon to change the emoji

{% hint style="success" %}
**Pro-Tip:** You can also add Custom Emojis for these actions. To do this, click the edit icon next to the emoji, then select “Add Custom Emoji” in the emoji selector popup.
{% endhint %}

<figure><img src="/files/2AZ4vRLuH8lQvlG2ODDl" alt="" width="563"><figcaption><p>Emoji Rules under Collection Settings</p></figcaption></figure>

### Emoji Settings

For each emoji that you want to enable, you can configure the settings by using the :gear: icon next to the Enable/Disable slider on the Emoji rules.

1. **Tag Requests with Emojis:** When an action is triggered, the associated emoji will be automatically added to the message in the Triage Channel. You can enable this option to also add the emoji reaction to the message in the Request Channel.
2. **Apply emoji rules for (only applicable for External Product Edition):**
   1. **ClearFeed Requests:** Emoji actions only work on ClearFeed Requests
   2. **External ticketing platform:** Emoji actions only work on External Tickets
   3. **ClearFeed requests & external ticketing platform:** Emoji actions work on both the external ticket and the associated ClearFeed Request.
3. **Enable only for parent message:** By default, reactions on any message in the thread will trigger the action. Enable this option to restrict the trigger to only reactions on the parent message.

{% hint style="warning" %}
**Note:**

* Emoji Actions for Assign and Solve are currently supported for ClearFeed Requests, ClearFeed Tickets, Jira Ticketing, ClickUp Ticketing, Intercom Ticketing, HubSpot Ticketing, Freshdesk Ticketing and Zendesk Ticketing.
* Emoji Action for Urgent is only supported for ClearFeed Requests and ClearFeed Tickets.
* Emojis for Assign, Solve and Urgent will be added to the Triage Channel message and, if selected, to the Request Channel message whenever a request is assigned.
* When ClearFeed applies emoji actions on request or triage channels, in response to actions like Assigning or Resolving requests/tickets - these emoji reactions are applied by the `ClearFeed` bot in Slack (and not as the user who may have performed those actions). The actual actor is still recorded correctly inside ClearFeed (i.e., will be visible in the ClearFeed web app and triage channels as ticket metadata).
  {% endhint %}

<figure><img src="/files/05lIKBP0GULE691r7qNB" alt="" width="563"><figcaption><p>Emoji actions with ClearFeed Ticketing</p></figcaption></figure>

## Implicit acknowledgement

When a Responder reacts to a customer message with any emoji that isn't mapped to an Emoji Rule (for example, `:+1:` or `:eyes:` when those aren't configured as actions), ClearFeed treats the reaction as an "agent saw this" signal and moves the request from **Open** (or **Reopened**) to **In-Progress**.

This applies only when:

* The reaction is added by a Responder
* The reacted message was posted by a non-Responder
* No Responder has replied to that message yet
* The request comes from a Slack channel (not from ClearFeed's native private ticketing flow or MS Teams)

Reactions that match a configured Emoji Rule (Assign, Solved, Urgent, etc.) run the configured action instead and don't trigger this implicit transition.


# Insights

View analytics for your requests, tickets, and GPT-Powered Answers

Our Insights feature offers detailed reporting to track request load, response times, and service levels. Use the 'Request' tab for agent-specific insights and the 'Virtual Agent' tab for Clearfeed Virtual Agent data. Metrics can be filtered by channel, responders, collections, and more. They can also be viewed within specific working hours, with options to download granular data for deeper analysis.

**Use Insights to answer questions like:**

* Which channels experience the highest request volumes?
* How quickly are responders resolving requests on average?
* How effectively is the Clearfeed Virtual Agent reducing manual workloads?

<figure><img src="/files/oxYOiiee9h6LfSOzbcDR" alt="" width="563"><figcaption><p>Insights page on the ClearFeed Web Dashboard</p></figcaption></figure>

## Supported Metrics

We support metrics across **Requests, Tickets, and Answers**. You can:

* Select the metrics you want to track.
* Break them down by parameters such as **Collection, Channel, Assignee, Custom Fields**, **Customer, Customer Owner, Customer Custom Fields** and more.
* Apply a **date range** to analyze performance over time.

{% hint style="info" %}
You can break down any metric using up to **3 dimensions**, available in **tabular reports only**.
{% endhint %}

{% hint style="warning" %}
**For Internal Helpdesk Only**

* Metrics such as **Number of Requests**, **Response Time**, and **Resolution Time** are calculated **only for tickets**. Messages that are **not converted into tickets** are **not included** in these metrics.
* Clearfeed **by default** calculates the key metrics like **First Response Time, Response Time, Resolution Time and First Resolution Time** from the moment a **request is initially created**, even if a ticket is created later. If your team prefers to calculate these metrics **starting from when a ticket is created** (rather than from request creation), this is supported as an optional configuration. To enable this, please **contact the Clearfeed Support team**. **Important Notes About This Configuration**
  * **Only affects future tickets**: Switching this setting **does not retroactively update** metrics for existing tickets. Metrics for past tickets will remain based on request creation time.
  * **Non-Open Tickets**: If a ticket is created in a **non-open state**, **First Response Time** will **not apply**, and the ticket **won’t be included** in First Response metrics.
  * **Account-wide setting**: This change applies at the **account level** — affecting **all collections** and all related metrics (**Response Time**, **Resolution Time**, etc.).
    {% endhint %}

<table><thead><tr><th width="189.00006103515625">Requests</th><th>CSAT Metrics</th><th>SLA Metrics</th><th>Answers</th></tr></thead><tbody><tr><td><a href="#number-of-requests">Number of Requests</a></td><td><a href="#csat-5-point-survey">CSAT 5-Point Survey</a></td><td><a href="#of-first-response-sla-breached">% of First Response SLA Breached</a></td><td><a href="#number-of-interactions">Number of Interactions</a></td></tr><tr><td><a href="#number-of-messages">Number of Messages</a></td><td><a href="#csat-2-point-survey-positive-responses">CSAT 2-Point Survey - Positive Responses</a></td><td><a href="#of-resolution-time-sla-breached">% of Resolution Time SLA Breached</a></td><td><a href="#number-of-responses">Number of Responses</a></td></tr><tr><td><a href="#time-to-first-response">First Response Time</a></td><td><a href="#csat-2-point-survey-negative-responses">CSAT 2-Point Survey - Negative Responses</a></td><td><a href="#one-touch-resolution-breached">% One Touch Resolution Breached</a></td><td><a href="#number-of-generated-answers">Number of Generated Answers</a></td></tr><tr><td><a href="#resolution-time">Resolution Time</a></td><td></td><td></td><td><a href="#number-of-positive-feedback">Number of Positive Feedback</a></td></tr><tr><td><a href="#response-time">Response Time</a></td><td></td><td></td><td><a href="#number-of-negative-feedback">Number of Negative Feedback</a></td></tr><tr><td><a href="#first-resolution-time">First Resolution Time</a></td><td></td><td></td><td></td></tr><tr><td><a href="#resolution-rate">Resolution Rate</a></td><td></td><td></td><td></td></tr></tbody></table>

### For All Requests/Tickets

<figure><img src="/files/WcTpRfXyoO4IiiHG1uwn" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
Use the toggle **Request with a ticket** to see metrics for tickets *(this is only applicable for users under Product Edition External Helpdesk and Integrations)*.
{% endhint %}

#### **Number of Requests**

* Total requests initiated during the selected period; excludes earlier requests with messages in the period.
* Toggle 'Requests with Tickets' to view insights for ticket-based requests.
* **Example:** 10 requests initiated today, even if work continued on 4 older requests, the count is still 10.
* **Reporting Unit:** Number

{% hint style="success" %}
This metric is termed as **Number of Tickets** under the Internal Helpdesk
{% endhint %}

#### **Number of Messages**

* Total Slack messages (from responders, requesters, or others) within the selected time frame.
* Excludes bot messages not whitelisted by ClearFeed.
* Includes messages from requests initiated before the selected period.
* **Reporting Unit:** Number

#### **Time to First Response**

* Average time from request creation to the first responder’s reply (e.g., 👀, :ticket:).
* Excludes open requests with no response; only counts responses within business hours.
* **Example:** A 9:00 AM request responded at 9:30 AM has a 30-minute first response time.
* **Reporting Unit:** Average in minutes.

#### **Response Time**

* Average time between a requester’s message and the next responder reply, including first and subsequent responses.
* Excludes open requests with no responses; business hours (support pending).
* **Example:** If a first response is 4 mins and next is 8 mins, average response time = 6 mins.
* **Reporting Unit:** Average in minutes.

#### **Resolution Time**

* Average time from request initiation to marking it as "Solved," excluding unresolved requests.
* Adjusted for business hours to exclude non-working periods
* *Adjusted to omit time the ticket remained in the pending state if configured.*
* Time spent in the **On Hold** status is **not** excluded from Resolution Time — only the **Pending** state can be paused.
* **Example:** A request raised at 8 AM and solved at 9:30 AM on a 9–5 schedule = 30 mins resolution time.
* **Reporting Unit:** Average in minutes.

#### **First Resolution Time**

* Time from request creation to its first resolution, unaffected by subsequent reopening.
* Excludes unresolved requests; adjusted for business hours.
* **Example:** A 10:00 AM request solved at 10:30 AM = 30 mins first resolution time.
* **Reporting Unit:** Average in minutes.

#### **Resolution Rate**

* The percentage of requests that have been marked as resolved out of the total requests received.
* **Formula:** `(Number of Closed/Resolved Requests ÷ Total Requests) × 100`
* **Example:** If 80 out of 100 requests were resolved, the Resolution Rate = 80%.
* **Reporting Unit:** Percentage (%)

### CSAT Metrics

**Note:** CSAT metrics are aggregated based on the time the survey is triggered (i.e., when the request is marked as solved) - not when the request was created or when the response was submitted.

#### **CSAT 5-Point Survey**

*Available when CSAT Type is set to “Emoji Rating”*

* Displays the **average satisfaction score (1–5)** from requesters for solved tickets.
* Requests without CSAT feedback are excluded.
* Toggle **‘Requests with Tickets’** to view only ticket-based scores.
* *Example:* Ratings of 1, 3, and 5 result in an average score of 3.
* **Reporting Unit**: Average score

#### **CSAT 2-Point Survey - Positive Responses**

*Available when CSAT Type is set to “Thumbs Up/Down Rating”*

* Shows the **count of positive (👍)** responses from requesters on solved tickets.
* Toggle **‘Requests with Tickets’** to view only ticket-based scores.
* **Reporting Unit**: Count of positive responses

#### CSAT 2-Point Survey - Negative Responses

*Available when CSAT Type is set to “Thumbs Up/Down Rating”*

* Shows the **count of negative (👎)** responses from requesters on solved tickets.
* Toggle **‘Requests with Tickets’** to view only ticket-based scores.
* **Reporting Unit**: Count of negative responses

### SLA Metrics

#### **% of First Response SLA Breached**

* % of requests breaching the SLA for first response, adjusted for business hours.
* **Example:** 10 requests with 6 breaches = 60% breach rate.
* **Reporting Unit:** Percentage (%).

#### **% of Resolution Time SLA Breached**

* % of requests breaching SLA for resolution time, excluding unresolved or non-request messages.
* **Example:** 10 resolved requests with 6 breaches = 60% breach rate.
* **Reporting Unit:** Percentage (%).

#### **% One Touch Resolution Breached**

* % of requests breaching "One Touch SLA" (e.g., resolution in a set number of replies).
* Excludes non-request messages; unaffected by business hours.
* **Example:** 10 solved requests with 6 breaches = 60% breach rate.
* **Reporting Unit:** Percentage (%).

### Answers Metrics

<figure><img src="/files/Zlk1mxGnm9xclbBj88Yy" alt="" width="563"><figcaption></figcaption></figure>

#### **Number of Interactions**

* Tracks how often the Virtual Agent is triggered, including responses (generated answers, search results) and no-response instances.
* Each trigger counts as one interaction, even if it includes multiple response types.
* **Example:** 10 triggers = 4 generated answers + 3 search results + 3 no responses; total = 10 interactions.
* **Reporting Unit:** Number.

#### **Number of Responses**

* Captures instances where the Virtual Agent responded with generated answers or search results.
* Excludes triggers where no response is found.
* **Example:** 10 triggers = 4 generated answers + 3 search results + 3 no responses; total = 7 responses.
* **Reporting Unit:** Number.

#### **Number of Generated Answers**

* Counts instances where the Virtual Agent responded specifically with generated answers.
* Excludes responses from search results or no-response triggers.
* **Example:** 10 triggers = 4 generated answers; total = 4 generated answers.
* **Reporting Unit:** Number.

#### **Number of Positive Feedback**

* Tracks how often users selected "Yes, marked as solved" for Virtual Agent solutions.
* Excludes instances with no feedback provided.
* **Example:** 10 triggers = 5 positive + 2 negative feedback + 3 no feedback; total = 5 positive feedback.
* **Reporting Unit:** Number.

#### **Number of Negative Feedback**

* Tracks how often users selected "No, create a ticket" for Virtual Agent solutions.
* Excludes instances with no feedback provided.
* **Example:** 10 triggers = 5 positive + 2 negative feedback + 3 no feedback; total = 2 negative feedback.
* **Reporting Unit:** Number

### Virtual Agent Metrics <a href="#virtual-agent" id="virtual-agent"></a>

ClearFeed exposes the following metrics to help you measure AI Agent performance, effectiveness, and customer satisfaction:

#### **Number of Sessions**

Total count of AI Agent sessions that were created. This represents the overall volume of AI interactions and is used for billing.

#### **Number of Sessions where Virtual Agent Answered**

Sessions where the AI Agent provided a response intended to resolve the user’s request.

#### **Number of Deflected Sessions**

Sessions where the AI Agent successfully deflected the request.\
A session is marked as *deflected* when the user clicks **“Yes, mark as solved.”**

#### **Number of Sessions with Positive Feedback**

Sessions where users provided positive feedback by selecting **“Yes, mark as solved”** or **“Yes, helpful.”**

#### **Number of Sessions with Negative Feedback**

Sessions where users selected **“No, create a ticket”** or **“Not helpful”**, indicating the AI response did not resolve their need.

## Aggregation <a href="#aggregation" id="aggregation"></a>

* You can aggregate metrics in three different ways for detailed reporting and insights:
  * Average
  * Median
  * Percentile: Metrics can be aggregated for the 75th, 90th, and 95th percentiles.
* Aggregation options are available for the following metrics:
  * First Response Time
  * Response Time
  * First Resolution Time
  * CSAT Score
* For other metrics, the default aggregation method is Average.

<figure><img src="/files/rTb7BXI29aaJNCduOxyL" alt="" width="563"><figcaption><p>Supported Aggregation in ClearFeed</p></figcaption></figure>

### Breakdown By and Distribute By

**Breakdown By**—Split any metric by single-select fields only: Assignee, Status, Priority, Collection, Customer, or single-select custom fields. Not available for multi-select fields. Use up to 3 dimensions in tabular reports.

**Distribute By**—Distribute request counts across multi-select fields, Available only for the **Number of Requests** metric. Available fields: Contributors, Auto-Category, or multi-select custom fields. One request can appear under multiple values, so sums may exceed total requests.

<figure><img src="/files/59FflCkjrgQzjBymGnBK" alt="Insights report with Distribute By set to Contributors" width="563"><figcaption><p>Insights report with Distribute By set to Contributors</p></figcaption></figure>

When **Distribute By** is enabled, **Breakdown By** is disabled, and vice-versa.

## **Export Data** <a href="#data-export" id="data-export"></a>

ClearFeed supports data export/download in CSV format. The data can be exported by clicking the button highlighted below:

<figure><img src="/files/7jnDkKiHmnGGQHYENzZe" alt="" width="563"><figcaption></figcaption></figure>

To export the data via APIs, the following methods can be used:

* Use the Insights REST API as documented here: [Insights API Documentation](https://docs.clearfeed.ai/api/reference/api-reference/insights).
* Import Insights Data into a Google Sheet using the [Insights to Google Sheet Guide](/clearfeed-help-center/advanced-recipes/importing-insights-data-into-google-sheets).

## Custom Reports <a href="#custom-reports" id="custom-reports"></a>

You can now save your frequently used filter combinations as a "New report" to view the specific data and access it instantly without reapplying complex filter combinations each time.

### Creating a New Custom Report <a href="#creating-a-new-custom-view" id="creating-a-new-custom-view"></a>

You can create a new Custom Report from scratch or use an existing Custom Report as the starting point.

#### **Option 1: Using an existing View**

1. Start with an existing Custom/Standard Report and update it by:
   * Changing the Metric
   * Changing the Breakdown
   * Editing or removing existing filters
   * Changing the Date Range
2. Once the desired filters are applied:
   * Click on **Save as New Report** to create a new Report
   * Click on **Save Report** to update the existing one
3. In the **Save As** overlay that appears:
   * Enter a name for your new report
   * Choose the visibility (Admins only):
     * **My Views**: Visible only to you
     * **Team's Views**: Visible to all users in your account
4. Click **Save** to create the report
5. You will be redirected to your newly created report

<figure><img src="/files/zN3TRnIxatNdmEVcTp4J" alt="" width="563"><figcaption></figcaption></figure>

#### **Option 2: Clone an Existing View**

1. Identify the report you want to clone
2. Click on the three dots (**⋮**) next to that report
3. Select **Clone Report**
4. In the popup:
   * Enter a name for the new report
   * Choose the visibility
5. The cloned report will be created, and you will be redirected to it
6. Optionally, edit the filters or make changes to the report as needed and click **Save Report**

<figure><img src="/files/aMGg24jN6KpRl4PD8Fgf" alt="" width="563"><figcaption></figcaption></figure>

### Managing Custom Reports <a href="#managing-custom-views" id="managing-custom-views"></a>

#### **For Reports Created by You**

If you have created a Custom Report, you can:

* **Rename**: Change the name of the report.
* **Clone**: Duplicate the report to create a new one.
* **Delete**: Remove the report permanently.

#### **For Views You Didn’t Create (Team's Views)**

For reports under **Team's Views** that you didn’t create, you can:

* **Clone**: Use the existing report as a template to create your Custom Report.

## FAQs

1. **Does Analytics support timezone customization for reports?**\
   **Answer:** Yes, all reports in Analytics follow the default timezone set in **Account Settings**. You can update the timezone anytime by navigating to **Account Settings → SLA Settings**.
2. **Which type of custom fields are available for Breakdown By and Distribute By?**\
   **Answer:** Use **Breakdown By** with single-select custom fields. Use **Distribute By** with multi-select custom fields for the **Number of Requests** metric.
3. **Does Resolution time calculation take into account the time ticket remained in Pending State?**\
   **Answer:** Resolution time calculation excludes time spent in the Pending state if configured under Additional Settings.


# Quick Replies

Create text templates that can be quickly inserted into conversations

Quick Replies can be used to create text templates that can be used to reply to requests from the ClearFeed web app and Slack.

## Create a Quick Reply

1. Access by going to the ClearFeed web app -> **More** -> [Quick Replies](https://web.clearfeed.app/quick-replies)
2. Click on Create Quick Reply
3. Name your reply and draft the message in the text editor
4. Select the Collection(s) where the Quick Reply should be accessible
   1. Choose **All Current** to apply and make the reply selectable across all current collections.
   2. Choose **All Current and Future** to make the reply selectable across all current and future collections.
5. Save the Reply

<figure><img src="/files/sZ3unaJOsQAswuF7Tpiy" alt="" width="563"><figcaption></figcaption></figure>

## Using Quick Replies in ClearFeed

Quick Replies allow you to save and reuse common responses when handling support requests. This feature helps maintain consistency and saves time by eliminating the need to type the same messages repeatedly.

### Using Quick Replies in the Web App

You can access Quick Replies in the ClearFeed web app through two convenient methods:

#### Option 1: Using the Quick Reply Button

* Open any request in the ClearFeed web app
* Locate the **Quick Replies** button in the reply window
* Browse available replies:
  * Hover over any reply to preview the full text
  * Click on your chosen reply to insert it into your message
* Edit the inserted text as needed before sending

{% hint style="success" %}
**Pro-Tip:** Click on **Manage Quick Replies** from this menu to create or modify your saved replies
{% endhint %}

<figure><img src="/files/pHrOGkcqSEd2k5WwwyFQ" alt="" width="563"><figcaption><p>Insert a Quick Reply using the button</p></figcaption></figure>

#### Option 2: Using the "/" Shortcut

* Open any request in the ClearFeed web app
* Click in the Reply Editor to position your cursor
* Type **"/"** (forward slash) to open the command menu
* A small pop-up will appear with options to:
  * Attach a file
  * Add a quick reply
* Select **Quick Reply** using:
  * Arrow keys (up/down) and Enter
  * Or mouse click
* Browse through available Quick Replies and select the one you need
* The selected reply will be inserted into your message
* You can also select **+ New Quick Reply** to create a new saved response

<figure><img src="/files/MlLkataKcn3M1zyVWyOR" alt=""><figcaption><p>Insert a Quick Reply using "/" Shortcut</p></figcaption></figure>

### Using Quick Replies in Slack

Quick Replies are also available directly within Slack for seamless workflow integration:

1. Navigate to any request in your triage channel
2. Locate the **ClearBot Assist** button beneath the request details
3. Click the button to open the Quick Replies dropdown menu
4. Select a reply from the list:
   * The full content of the selected Quick Reply will be displayed
5. Choose how to use the reply:
   * Click **Post to Thread** to send the message immediately
   * Or copy the content, paste it into the Slack message editor, make any necessary modifications, and then send\\

     <figure><img src="/files/HQ1gDkBdNioviSkR2vJP" alt=""><figcaption></figcaption></figure>

## Managing Quick Replies

To create, edit, or delete Quick Replies:

1. Access the Quick Replies management screen via:
   * The **Manage Quick Replies** option in the Quick Replies dropdown
   * Or navigate to **Settings > Quick Replies** in the main menu
2. From here you can:
   * Create new replies
   * Edit existing replies
   * Delete unwanted replies
   * Organize replies into categories

{% hint style="success" %}
**Pro-Tip:**\
Create Quick Replies for your most common scenarios to improve response consistency and efficiency
{% endhint %}


# Customer Management

Maintain profiles for each customer

Customers in ClearFeed represent the external organizations you support. This guide explains how to create, organize, and maintain customer records so your team always has the right business context when handling support requests.

{% hint style="info" %}
**Note:** Customer objects are available only on the **External Helpdesk Product Edition**.
{% endhint %}

## What is a Customer?

A **Customer** represents an external company or organization you support. Each customer record can include:

* Customer name
* One or more email domains (e.g., `acme.com`)
* Individual email addresses (e.g., `john@gmail.com`)
* Associated Slack Connect channels
* Custom fields (e.g., Account Tier, Region, Owner)
* Portal access and verification status
* Auto-enriched company data (industry, size, location)

ClearFeed uses customer records to:

* Link incoming requests to the correct customer
* Group conversation history by customer
* Apply customer-specific rules and workflows
* Control portal access
* Provide business context to your support team

## Key Concepts

<table><thead><tr><th width="216">Term</th><th>Definition</th></tr></thead><tbody><tr><td><strong>Customer</strong></td><td>An external organization you support</td></tr><tr><td><strong>Collection</strong></td><td>A grouping of customers or request sources (channels, email addresses)</td></tr><tr><td><strong>Customer Collection</strong></td><td>A collection that groups customers (used in Customer Centric Inbox)</td></tr><tr><td><strong>Source Collection</strong></td><td>A collection that groups request sources like email addresses or Slack channels (used in Standard Management)</td></tr><tr><td><strong>Request Channel</strong></td><td>Where requests originate (email, Slack, web chat, portal, API)</td></tr><tr><td><strong>Domain</strong></td><td>The email domain used to identify which customer a request belongs to (e.g., <code>@acme.com</code>)</td></tr><tr><td><strong>Individual Email Address</strong></td><td>A specific email address associated with a customer, including addresses from free domains (e.g., <code>john@gmail.com</code>)</td></tr><tr><td><strong>Internal Domain</strong></td><td>Your company's email domains that should not create customer records</td></tr><tr><td><strong>Routing</strong></td><td>Automatically directing requests to the appropriate collection based on rules</td></tr></tbody></table>

## How Customers Work in Different Inbox Types

ClearFeed offers two approaches to organizing support requests:

### Customer Centric Inbox

**Customers are the primary organizing unit.**

* Each customer belongs to exactly one Customer Collection
* Requests are grouped and routed by customer
* SLAs, assignments, automations, and AI behavior are applied at the customer or collection level
* Ideal for B2B support teams managing multiple accounts

**Example:** All requests from `acme.com` appear together under the Acme Corp customer, regardless of whether they came via email, Slack, or portal.

### Standard Management

**Request sources (channels) are the primary organizing unit.**

* Requests are organized by where they came from (email address, Slack channel, etc.)
* Customers are optional metadata used for:
  * Storing business context
  * Linking domains and channels
  * Portal access control
  * Reporting and filtering

**Example:** Email requests appear in one collection, Slack requests in another, even if they're from the same customer.

## Creating Customers

Customers can be created manually or automatically.

### Manual Creation of Customers

#### **In Customer Centric Inbox Accounts**

You can create customers in three ways:

1. **From a Customer Collection:** Navigate to the collection and click the **3-dot menu** → **+ New Customer**

   <figure><img src="/files/18ZSjmfc1eBGvusHVPDc" alt="" width="321"><figcaption></figcaption></figure>
2. **From the Inbox page:** Click the **New** button at the bottom of the side navigation<br>

   <figure><img src="/files/XZRbYTEXNsu4iUMSelAb" alt="" width="227"><figcaption></figcaption></figure>
3. **From the Customers section:** Navigate to **Customers and** Click **+ New Customer**<br>

   <figure><img src="/files/2X3KH7fgcEYWtaXM7cg3" alt="" width="563"><figcaption></figcaption></figure>

Fill in the information:

* Customer Name
* Collection (which Customer Collection this customer belongs to)
* Owner (can be inherited from the Collection Owner)
* Request Channels (ie. Slack or MS Teams channels)
* Email Domains
* Individual Email Addresses
* Custom field values

<figure><img src="/files/F1ts7rnCBmVYj6XR5EG8" alt="" width="563"><figcaption><p>Customer configuration showing Email Domains and Individual Email Address fields</p></figcaption></figure>

#### **In Standard Management Accounts**

1. Navigate to **Customers and** Click **+ Add New Customer**<br>

   <figure><img src="/files/2X3KH7fgcEYWtaXM7cg3" alt="" width="563"><figcaption></figcaption></figure>
2. Fill in the information:
   1. Customer Name
   2. Owner
   3. Request Channels (ie. Slack or MS Teams channels)
   4. Email Domains
   5. Custom field values

<figure><img src="/files/XAo1fA6HI03JJEhw3HGP" alt="" width="543"><figcaption></figcaption></figure>

### Automatic Creation of Customers

ClearFeed automatically creates customers in the following scenarios:

#### **When Slack Connect channels are added automatically**

When you add a Slack Connect channel to ClearFeed through [automatic channel monitoring](/clearfeed-help-center/sources/manage-request-channels#automatically-monitor-slack-connect-channels):

* ClearFeed identifies the external workspace's email domain(s). This is done by analyzing the email addresses of it's external members.
* Removes any free email domains (gmail.com, yahoo.com, etc.) or internal domains.
* Removes any domains already associated with existing customers.
* Checks if customer already exists with the remaining domain(s)
  * **If yes:** A new customer is created with an empty domain field. A verification notification is sent to add a domain.
  * **If no:** A new customer is created with the remaining domain(s)
* All future requests from that channel are automatically linked to this customer
* For Slack Connect channels - the name of the customer and it's logo are obtained by using the `teams.info` Slack api call on the channel. If this is not available, then the domain and/or the channel name itself is used as the customer name.

**Example:** You add a Slack Connect channel with external workspace `acme.slack.com`. The domain `acme.com` is identified, a customer "Acme Corp" is created, and the channel is linked.

ClearFeed always creates new customers in this process. Users can [merge customers](#merging-customers) later if this process ends up creating extra customer objects.

#### **When Tickets are created from Email, Web Chat, Portal, or API**

When a request arrives from an email address:

* ClearFeed extracts the domain (e.g., `user@acme.com` → `acme.com`)
* Checks if the domain, **or** the email address matches an existing customer
  * **If yes:** The request is linked to that customer
  * **If no:** ClearFeed checks the domain type:
    * **Business domain:** A new customer is automatically created
    * **Free email domain:** No customer is created (see [Free Email Domains](#free-email-domains))
    * **Internal domain:** No customer is created

## Customer Identification with Domains and Individual Emails <a href="#why-adding-domains-to-customer-is-important" id="why-adding-domains-to-customer-is-important"></a>

Domains are the primary method ClearFeed uses to identify which customer a request belongs to. You can also associate individual email addresses with a customer, including addresses from free email domains (e.g., `gmail.com`, `yahoo.com`).

### How Domains and Email Addresses identify Customers

* Each customer can have one or more email domains (e.g., `acme.com`, `acmecorp.com`) and/or individual email addresses
* When a request arrives, ClearFeed extracts the domain from the sender's email address
* If the domain or the email address match those assigned to a customer, the request is automatically linked to that customer
* This enables:
  * Automatic customer linking of tickets
  * Forwarding to the correct Customer Collection (for Customer Centric Inbox only)
  * Portal access for users with matching domains

**Example:** Customer "Acme Corp" has domains `acme.com` and `acmecorp.com`. Requests from `john@acme.com` and `jane@acmecorp.com` both link to Acme Corp automatically.

### Multiple Customers, Same Domain/Email-Address

**Important:** A domain can only be assigned to one customer at a time. If you try to add a domain that's already used by another customer, you'll receive an error. Similarly an individual email address can only be assigned to one Customer.

### Customers Without Domains or Email Addresses

If a customer has no domains or individual email addresses assigned:

* New tickets from email or web chat cannot be linked automatically
* Routing of emails and web chat tickets to the corresponding Customer Collection will not work for that customer (in Customer Centric Inbox)
* You can still manually link tickets to the customer
* Portal access is unavailable
* Slack Connect channels can still be linked to the customer and requests/tickets from Slack Connect channels will be automatically linked to the customer.

**When to skip domains:** For customers who only contact you via Slack Connect or whose requests are always manually created.

### Free Email Domains

New tickets from free email providers (received over email or web chat) are handled differently:

**Free email domains include:** gmail.com, yahoo.com, outlook.com, hotmail.com, and similar consumer email services.

**Behavior:**

* Such tickets do **not** automatically create customers
* Unless the email matches individual email addresses configured for a customer:
  * The ticket are **not** linked to any customer
  * Are **not** routed to a Customer Collections (in Customer Centric Inbox)
  * They remain in the Source Collection (like Email Collection or Web Chat)

**Why?** This prevents cluttering your workspace with one-off consumer requests that don't represent ongoing customer relationships.

**Workaround:** If you need to track a consumer email as a customer, add their email address to a customer for linking and routing to that customer.

### Individual Email Addresses

As indicated above, in addition to domains, you can associate **individual email addresses** with a customer. This is useful for identifying customers who use free email providers (e.g., `gmail.com`, `yahoo.com`) or whose email domain doesn't match any domain assigned to a customer.

**How it works:**

* Add one or more individual email addresses to a customer record
* When a request arrives from one of these addresses, it is automatically linked to the customer and routed to the corresponding Customer Collection (in case of Customer Centric Inbox)
* This works even for addresses from free email domains that would otherwise not be linked to any customer

{% hint style="warning" %}
**Important limitations:**

* The **same email address cannot be added to multiple customers** — each address can only belong to one customer
* Email addresses whose **domain matches another customer's domains are rejected** — for example, if Customer A has the domain `acme.com`, you cannot add `john@acme.com` as an individual email to Customer B
  {% endhint %}

### Internal Domains

Your company's own email domains are treated as internal domains.

**To configure internal domains:**

1. Navigate to **Settings** → **Organization**
2. Add your company domains to **Internal Domains**

Requests from internal domains will not create customer records automatically.

## Managing Customers

When you add a Slack Connect channel to ClearFeed (manually or automatically):

* ClearFeed identifies the external workspace's email domain
* Removes any free email domains (gmail.com, yahoo.com, etc.) or internal domains
* Checks if a customer already exists with the remaining domain(s)
  * **If yes:** The Slack channel is linked to the existing customer
  * **If no:** A new customer is created and the channel is linked to it When you add a Slack Connect channel to ClearFeed (manually or automatically):
* ClearFeed identifies the external workspace's email domain
* Removes any free email domains (gmail.com, yahoo.com, etc.) or internal domains
* Checks if a customer already exists with the remaining domain(s)
  * **If yes:** The Slack channel is linked to the existing customer
  * **If no:** A new customer is created and the channel is linked to it

### Viewing Customers

Navigate to **Customers** to see all customer records.

### Searching Customers

You can search by:

* Customer name
* Email domains
* Individual email addresses
* Slack channel name

### Filtering Customers

You can filter the customer list by any custom field you've created (e.g., Account Tier, Region).

### Editing Customers

To edit a customer:

1. Navigate to the customer's page
2. Click **Edit** or modify fields directly

**You can update:**

* Customer name
* Email domains
* Individual email addresses
* Associated Slack channels
* Custom field values
* Portal access settings
* Collection assignment (Customer Centric Inbox only)

**Changes take effect immediately** for future requests. Past requests remain unchanged.

### Adding/Removing Domains

When you **add a domain** to a customer:

* Future requests from that domain will link to this customer
* Past requests from that domain are **not** retroactively linked

When you **remove a domain** from a customer:

* Future requests from that domain will not link to this customer (they may create a new customer or remain unlinked)
* Past requests remain linked to this customer

### Moving Customers Between Collections

**Available in:** Customer Centric Inbox only

When you move a customer to a different Customer Collection:

* All past requests move with the customer
* All future requests route to the new collection
* The customer inherits the new collection's rules:
  * SLAs
  * Assignment rules
  * Workflows and automations
  * AI behavior settings
* If the Customer Owner is set to **Inherit from Collection**, changing the Collection will automatically update the Customer Owner to the new Collection’s Owner. No manual update is needed.

**Common use cases:**

* Customer upgrades from Trial to Paid tier
* Account ownership transfers to another team
* Reorganizing collections by region or customer segment

**To move a customer:**

1. Open the customer's page
2. Click **Edit**
3. Change the **Collection** field
4. Click **Save**

### Merging Customers

If you have duplicate customer records that should be a single customer, you can merge two customers together.

**Requirements:**

* Both customers must belong to the **same collection**
* Only **two** customers can be merged at a time

**To merge customers:**

1. Navigate to the **Inbox** page
2. Click the **`...`** menu next to a customer
3. Select **Merge Customer** from the dropdown

<figure><img src="/files/0zfVwuIzjrkMB3A4zfVW" alt="" width="563"><figcaption><p>Merge Customer option in the customer menu</p></figcaption></figure>

4. Select the second customer to merge with
5. The merge interface lets you **compare and configure** field values for the resulting customer (name, domains, email addresses, custom fields, etc.)
6. Confirm the merge

**What happens after merging:**

* All requests, channels, and other related attributes are transferred to the merged customer
* The other customer object is **deleted**
* The merge cannot be undone

{% hint style="info" %}
**Tip:** Merging is especially useful when automatic customer creation (e.g., from Slack Connect channels) creates duplicate customer records for the same organization.
{% endhint %}

### Deleting Customers

**To delete a customer:**

1. Open the customer's page
2. Click the **3-dot menu** → **Delete Customer**
3. Confirm the deletion

**What happens to requests:**

* Past requests are **not deleted**
* Past requests become **unlinked** (no customer associated)
* You can manually link them to a different customer if needed

## Customer Data Enrichment

**Available in:** Customer Centric Inbox only

When a customer is created using a recognized business domain, ClearFeed automatically enriches the customer profile with company information.

### Auto-Enriched Fields

<table><thead><tr><th width="161">Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Country</strong></td><td>Country where the company is primarily based</td></tr><tr><td><strong>Founded</strong></td><td>Year the company was founded</td></tr><tr><td><strong>Industry</strong></td><td>Primary industry or business category</td></tr><tr><td><strong>LinkedIn URL</strong></td><td>LinkedIn company page URL</td></tr><tr><td><strong>Locality</strong></td><td>City or neighborhood location</td></tr><tr><td><strong>Region</strong></td><td>State or region where the company operates</td></tr><tr><td><strong>Size</strong></td><td>Approximate employee count range</td></tr></tbody></table>

### Editing Enriched Data

All auto-enriched fields are **editable**. You can update or correct any value at any time.

If no data is available for a domain, fields remain blank and can be filled in manually.

## Custom Fields

Custom fields let you store additional business-specific data on customer records.

### Common Use Cases

* Account Tier (Free, Trial, Pro, Enterprise)
* Geographic Region
* Sales Owner
* Renewal Date
* Annual Contract Value (ACV)
* Customer Success Manager
* Health Score
* Industry Segment

### Creating Custom Fields

1. Navigate to **Customers** → **Custom Fields**
2. Click **Create New Field**
3. Configure the field:
   * **Field Name:** What the field is called (e.g., "Account Tier")
   * **Field Type:** Choose from:
     * **Single Select** - Choose one option from a list
     * **Multi Select** - Choose multiple options from a list
     * **Text** - Free-form text (max 255 characters by default)
     * **Date** - A calendar date
     * **Number** - Numeric value
   * **Options:** For Select fields, define the available choices
   * **Default Value:** Optional default for new customers
4. Click **Save**

#### Field Naming Restrictions

You cannot use these reserved names:

* Customer ID
* Customer Name
* Slack Channels
* Email Domains

#### Using Custom Fields

**Set values:**

* During customer creation
* By editing an existing customer
* Via CRM Sync (if configured)

**Use for:**

* Filtering the customer list
* Reporting and analytics
* Automation rules
* Assignment rules

#### Modifying Custom Fields

* You can edit the field name
* You can add new options to Select fields
* You cannot change the field type (e.g., from Single Select to Text)
* Removing options from Select fields may affect existing data

## Customer Verification

Customers must be **verified** before their users can access the Support Portal. This is only applicable for Standard Collections

### Verification Status

A customer is **verified** when:

* Created with a single, unambiguous business domain, **or**
* Created from a portal user registration

A customer is **not verified** when:

* Multiple domains are detected during creation without clear ownership
* Created manually without any domains
* Domain conflicts exist (domain is already used by another customer)

### Customer Portal Access Requirements

For a customer's users to access the Customer Portal:

1. The customer must be **verified**
2. Portal access must be **enabled** for the customer
3. The user's email domain must match one of the customer's domains

### Enabling Customer Portal Access

1. Open the customer's page
2. Navigate to **Portal Access** settings
3. Toggle **Enable Portal Access** to **On**
4. Configure additional portal settings as needed
5. Click **Save**

**Note:** Users can only access the Customer Portal if the customer is verified **and** portal access is enabled.

## CRM Sync

**Available only in Customer-Centric Inbox**

CRM Sync automatically populates and keeps customer custom fields in sync with Company and Deal properties. Learn more about [CRM Sync](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/customers/crm-sync)

## FAQs

1. **How does ClearFeed determine the customer name?**\
   **Answer:** ClearFeed uses this priority order:

   1. **If created manually:** The value entered manually
   2. **If created on automatic addition of new Slack Connect channels:** The external workspace name if available
   3. **If domains exist:** The first domain (e.g., `acme.com` → "Acme Corp")
   4. **Otherwise:** The Slack channel name

   You can always edit the customer name after creation.
2. **Why do some customers show logos?**\
   **Answer:** Logos appear when customers are created from Slack Connect channels. The logo is fetched from the external Slack workspace's profile.\
   Manual logo upload is not currently supported.
3. **Can a customer have multiple domains?**\
   **Answer:** Yes. A customer can have multiple email domains assigned.\
   Requests from **any** of those domains will link to the same customer and appear in one unified conversation history.\
   **Example:** Acme Corp has `acme.com` and `acmecorp.com`. Requests from both domains appear under the same customer record.
4. **Can the same domain be assigned to multiple customers?**\
   **Answer:** No. Each domain can only be assigned to one customer at a time.\
   If you need to reassign a domain:

   1. Remove it from the current customer
   2. Add it to the new customer

   Be aware this affects how future requests are linked.
5. **What's the difference between "Owner" and custom fields like "CSM"?**\
   **Answer:**

   1. **Owner:** A built-in field intended for the primary account owner or point of contact
   2. **Custom fields (like CSM):** Additional fields you define for your specific workflow

   Both can be used for assignment rules and filtering. Use what makes sense for your team's structure.
6. **Can I bulk import customers?**\
   **Answer:** Currently, customers must be created individually within the ClearFeed product (or automatically through integrations).\
   For bulk import and creation is possible externally via APIs or via a Google Sheets plugin. Contact ClearFeed support.
7. **What happens to requests when I move a customer to a different collection?**\
   **Answer:** All requests (past and future) move with the customer to the new collection. The customer immediately inherits the new collection's SLAs, assignment rules, and automations.
8. **Can I associate a free email address (e.g., Gmail) with a customer?**\
   **Answer:** Yes. You can add individual email addresses from free email providers (e.g., `john@gmail.com`) to a customer record. Requests from that address will be automatically linked to the customer, even though the domain itself is not linked to a customer.
9. **Can the same email address belong to multiple customers?**\
   **Answer:** No. Each individual email address can only be associated with one customer at a time. If you try to add an email address that's already assigned to another customer, you'll receive an error.
10. **Why is an individual email address being rejected?**\
    **Answer:** An individual email address will be rejected if its domain matches a domain already assigned to another customer. For example, if Customer A has the domain `acme.com`, you cannot add `john@acme.com` as an individual email address to Customer B.
11. **Can I merge customers from different collections?**\
    **Answer:** No. Both customers must belong to the same collection to be merged. If you need to merge customers across collections, first move one customer to the other's collection, then merge them.
12. **What happens to requests when I merge two customers?**\
    **Answer:** All requests, channels, and other attributes from both customers are transferred to the merged customer. The other customer object is deleted. The merge cannot be undone.


# CRM Sync

CRM Sync automatically keeps your customer data in ClearFeed aligned with your CRM, so your support team always has accurate, up-to-date context without manual updates.

{% hint style="info" %}
**Note:** CRM Sync currently supports HubSpot. Salesforce & Attio support is planned for a future release.
{% endhint %}

Selected properties from your HubSpot Company records (and optionally Deal records) sync into corresponding Customer custom fields in ClearFeed. You can then use this data in automations, routing rules, SLAs, and reports.

**Key benefits:**

* Support teams see current customer context (ARR, industry, lifecycle stage, etc.) while handling requests
* Eliminate manual data entry
* Use reliable CRM data in ClearFeed workflows and reporting

## Prerequisites

Before setting up CRM Sync, ensure you have:

* HubSpot connected to ClearFeed (OAuth integration completed)
* Admin access in ClearFeed

## How CRM Sync Works

When CRM Sync is enabled, ClearFeed automatically links each customer to its corresponding HubSpot Company and Deal using the following logic:

**Company linkage:**

* ClearFeed matches each customer to a HubSpot company based on the customer's domain(s).
* If exactly one HubSpot company is found with a matching domain, the customer is linked to that company.
* If no match is found, or if multiple HubSpot companies match, no automatic linkage is established. You can link the customer manually (see [Modifying CRM Linkage](#modifying-crm-linkage)).
* A customer with no domains will not be linked automatically.

**Deal linkage:**

* Once a company is linked, ClearFeed automatically associates the customer with the **most recently created deal** linked to that HubSpot company (if any).
* If no deals exist for the company, no deal linkage is established.
* The deal linkage can also be set or updated manually.

**Field sync:**

* Once linkages are established, ClearFeed reads the values of your imported fields from the linked HubSpot Company and Deal records and populates the corresponding customer custom fields.
* You can import fields from both Company and Deal objects with no need to choose a single model. See [Importing Fields from HubSpot](#step-2-import-fields-from-hubspot) to get started.

Sync runs automatically every **30 minutes**. It is one-way: HubSpot data flows into ClearFeed only. The first sync after enabling CRM Sync (or after importing fields) triggers an immediate full sync of all existing customers.

## Setup & Configuration

CRM Sync is self-service and can be configured directly from the ClearFeed dashboard by admins.

### Step 1: Enable HubSpot Sync

1. Navigate to the **Customers** page in ClearFeed.
2. On the **Overview** tab, locate the **HubSpot Sync** toggle in the top-right area of the page (near the **Add new customer** button).
3. Toggle it on to enable CRM Sync for your account.

{% hint style="info" %}
When CRM Sync is enabled with no imported fields, the sync will run every 30 minutes and establish customer-company linkages via domain matching. No field values will be populated until you import fields.
{% endhint %}

<figure><img src="/files/R1b7m0IrP0I5lMrwY3l6" alt="" width="750"><figcaption></figcaption></figure>

### Step 2: Import Fields from HubSpot

Once CRM Sync is enabled, you can import HubSpot properties as ClearFeed customer custom fields.

1. Go to the **Customers** page and click the **Custom Fields** tab.
2. Click **Import from CRM** in the top-right area.

<figure><img src="/files/fUdbl34kfrmNpd8y7ZY5" alt="" width="750"><figcaption></figcaption></figure>

3. An **Import from HubSpot** modal will appear, showing all available HubSpot properties grouped into two sections:
   * **Customer Fields** — Properties from the HubSpot Company object.
   * **Deal Fields** — Properties from the HubSpot Deal object.
4. Browse or search for the fields you want to import. Each property shows its name and type (e.g., "Annual Revenue (Number)", "Close Date (Date)").
5. Select the fields you want using the checkboxes. You can use **Select All** to select all available fields at once.
6. Click **Import Fields** to confirm.

<figure><img src="/files/OTwts5FNRohGrICj7hBp" alt="" width="500"><figcaption></figcaption></figure>

{% hint style="info" %}
**What happens on import:**

* A new ClearFeed customer custom field is created for each selected HubSpot property, with a matching name and compatible field type.
* The newly created fields are automatically linked to their HubSpot source properties.
* An initial full sync is triggered immediately — HubSpot companies are matched to ClearFeed customers by domain, and field values are populated.
* Imported fields are **read-only** from the moment they are created. See [Field Editability](#field-editability) below.
  {% endhint %}

{% hint style="warning" %}
**Note:** Some fields such as **Deal Stage** and **User Type** fields cannot be imported via the web app. Please reach out to <support@clearfeed.ai> or your ClearFeed Slack support channel if you need these fields synced.
{% endhint %}

### Step 3: Review Imported Fields

After importing, your fields appear in the **Customers > Custom Fields** tab alongside any manually created custom fields.

* Fields synced from HubSpot display a **HubSpot icon** next to the field name.
* Each imported field has a three-dot (**···**) actions menu that lets you delete the field.

<figure><img src="/files/fgELZWueiU2aObjNxSUJ" alt="" width="750"><figcaption></figcaption></figure>

## Modifying CRM Linkage

ClearFeed automatically links customers to their matching HubSpot company using domain matching. However, you can also manually set or update the HubSpot company and deal linked to a customer.

### Automatic Linking

The sync matches each customer to a HubSpot company by comparing the customer's domain(s) against company domains in HubSpot. If exactly one company matches, the linkage is established automatically. Customers with no domains, or where multiple companies match, are skipped.

### Manual Linking

If a customer was not automatically linked, or if the wrong company was matched, you can update the linkage manually from the customer list.

1. On the **Customers > Overview** page, locate the customer you want to update.
2. Click the **link icon** next to the customer row.
3. In the **Link to HubSpot** modal, select the correct **HubSpot Company** and optionally a **HubSpot Deal**.
4. Click **Save & Sync** to confirm.

<figure><img src="/files/7MOGVeKI6o5nvwrAvQkc" alt="" width="500"><figcaption></figcaption></figure>

{% hint style="info" %}
If CRM Sync is enabled, field values from the newly linked company/deal are imported immediately when you click **Save & Sync**, without waiting for the next scheduled sync.
{% endhint %}

## Field Editability

Fields imported from HubSpot are **always read-only** in ClearFeed, regardless of whether CRM Sync is enabled or disabled.

* On the **Customer Overview** page, synced fields display their values but cannot be edited. A visual indicator (HubSpot icon + tooltip: "This field is synced from HubSpot and cannot be edited here.") communicates why the field is locked.
* In the **Ticket Sidebar**, synced fields appear in read-only format alongside other customer fields.

To make an imported field editable, please contact <support@clearfeed.ai> or your ClearFeed Slack support channel to remove the sync mapping. Once removed, the field becomes editable and retains its last synced value.

## Managing Imported Fields

### Deleting a Synced Field

From the fields table (**Customers > Custom Fields**), use the three-dot (**···**) menu on any synced field and select **Delete field** to remove the custom field and all its values entirely (requires confirmation). The sync mapping is also removed.

To stop syncing a field without deleting it, please contact <support@clearfeed.ai>.

### Importing Additional Fields

You can import more fields at any time by clicking **Import from CRM** again on the Fields page. Fields that have already been imported are shown as disabled (already imported) in the modal to prevent duplicates.

### Select / Multi-Select Options

For Select and Multi-Select fields imported from HubSpot, the dropdown options are fetched from HubSpot at the time of import. Options are not kept in sync automatically. If options change in HubSpot (e.g., a new value is added), the ClearFeed field will not reflect those changes.

{% hint style="info" %}
**Note:** Field properties such as names and option values for Single/Multi-Select fields are not refreshed automatically. If you need these updated, please contact <support@clearfeed.ai> for assistance.
{% endhint %}

## Detailed Sync Rules

{% hint style="info" %}
**General linking principle:** As long as a customer is not yet linked to a HubSpot company, ClearFeed will always attempt to find a match on every sync run (every 30 minutes). Conversely, once a linkage is established, the sync will not attempt to relink the customer automatically.
{% endhint %}

### New Customer Created in ClearFeed

When a new customer is created in ClearFeed, the system will attempt to link it to a HubSpot company during the next sync run based on domain matching.

### Customer Domain Updated in ClearFeed

**Domain added:**

<table><thead><tr><th width="60">Case</th><th width="160">Previous Domain(s)</th><th width="220">Existing Company/Deal Linkage</th><th width="180">After Adding New Domain</th><th>Next Sync Behavior</th></tr></thead><tbody><tr><td>1</td><td>None</td><td>Null</td><td>Domain added</td><td>Picked up for linking</td></tr><tr><td>2</td><td>Present</td><td>Null</td><td>Domain added</td><td>Picked up for linking</td></tr><tr><td>3</td><td>Present</td><td>Linked</td><td>Domain added</td><td>Not picked up (no relinking)</td></tr></tbody></table>

**Domain removed:**

* The linkage between the ClearFeed customer and HubSpot company is reset.
* The customer will be picked up in the next sync run to be re-linked based on remaining domains.

### HubSpot Company Domain Updated

When a HubSpot company's domain is updated, no action is taken. The ClearFeed customer remains linked to the same company, and the existing linkage persists.

### HubSpot Company or Deal Field Updated

When a synced field in a HubSpot company or deal is updated, the new value is pulled into ClearFeed during the next sync run.

### CRM Sync Disabled

* The sync cron stops running for the account.
* Existing customer-company linkages remain in place.
* Synced field values remain visible and stay **read-only** (imported fields remain locked even when sync is disabled).
* The configuration (imported field mappings) is preserved, so re-enabling does not require reconfiguration.

## Supported Field Types

<table><thead><tr><th width="200">HubSpot Type</th><th width="180">ClearFeed Type</th><th>Example</th></tr></thead><tbody><tr><td>Single-line text</td><td>Text</td><td>Company name</td></tr><tr><td>Multi-line text</td><td>Text</td><td>Notes</td></tr><tr><td>Number</td><td>Number</td><td>ARR</td></tr><tr><td>Date</td><td>Date</td><td>Renewal date</td></tr><tr><td>Dropdown / Radio</td><td>Select (single)</td><td>Industry</td></tr><tr><td>Checkbox</td><td>Multi-select</td><td>Interests</td></tr><tr><td>Yes/No</td><td>Select (Yes/No)</td><td>Enterprise customer</td></tr></tbody></table>

**Unsupported:** File uploads, calculated fields, scoring fields, Deal Stage, User Type custom fields, and some other advanced custom types. Unsupported fields are shown as disabled in the import modal with a tooltip: "This field isn't supported and won't be imported."

## Using Synced Data in ClearFeed

### Customer Profiles

View synced data on the **Customer Overview** page and in the **Request Detail** (ticket sidebar) panel. Synced fields are displayed with a HubSpot indicator and cannot be edited directly.

### Automations

Use CRM-synced fields as conditions in automation rules:

* Route high-ARR customers to senior agents
* Assign by industry or segment
* Trigger workflows on lifecycle changes

### SLAs

Apply SLA policies based on synced customer fields:

* Enterprise customers: 1-hour response
* SMB customers: 4-hour response

### Reports & Filters

CRM-synced custom fields are available in Insights as dimensions for breakdown and filtering across your customer list and request history.

## Limitations

* One-way sync only (HubSpot → ClearFeed)
* Only Customer custom fields are updated
* Deal fields sync from the most recently created deal associated with the linked HubSpot company
* Some HubSpot field types are not supported (file uploads, calculated fields, scoring fields, User Type custom fields)
* Select/Multi-Select field options and field properties (names, option lists) are not updated automatically. Contact <support@clearfeed.ai> to refresh these.
* Deal Stage and User Type Custom Fields cannot be imported via the web app. Contact <support@clearfeed.ai> to have them set up.

## FAQs

1. **Are field values synced from HubSpot editable in ClearFeed?**\
   **Answer:** No. Fields imported from HubSpot are always read-only in ClearFeed, whether CRM Sync is enabled or disabled. A visual indicator (HubSpot icon + tooltip) communicates why the field is locked. To make a field editable, contact <support@clearfeed.ai> to remove the sync mapping.
2. **Can I change which fields are synced?**\
   **Answer:** Yes. Go to **Customers > Custom Fields** and click **Import from CRM** to add more fields. To remove an existing synced field, use the three-dot menu to delete it, or contact <support@clearfeed.ai> to stop syncing it without deleting.
3. **What happens if a HubSpot company is deleted?**\
   **Answer:** The ClearFeed customer remains unchanged. Once a linkage is established — whether automatically via domain matching or set manually — it is not modified by CRM Sync. The linkage persists until you update it manually. Field values remain at their last synced state and no new updates will occur for the deleted company.
4. **What happens if HubSpot is disconnected?**\
   **Answer:** CRM Sync will be disabled automatically. No error is shown in the app. Existing linkages are maintained internally but will not be visible on the web app until HubSpot is reconnected. Reconnect HubSpot to resume syncing.
5. **How often does CRM Sync run?**\
   **Answer:** CRM Sync runs automatically every 30 minutes when the HubSpot Sync toggle is enabled. The sync frequency is not user-configurable.
6. **Can I manually trigger a sync?**\
   **Answer:** An immediate sync is triggered automatically when you first import fields. To trigger a sync at any other time, you can disable the **HubSpot Sync** toggle and re-enable it — this will kick off an immediate sync run.
7. **What if a customer wasn't automatically matched to a HubSpot company?**\
   **Answer:** You can manually link the customer from the **Customers > Overview** page. Click the link icon next to the customer row and select the correct HubSpot Company (and optionally a Deal) in the modal.
8. **What happens if there are multiple HubSpot deals for a customer?**\
   **Answer:** ClearFeed automatically links the customer to the most recently created deal associated with the HubSpot company. If you need to link a different deal, you can update the linkage manually using the link icon on the customer row.
9. **Why aren't my dropdown options up to date after a sync?**\
   **Answer:** Select and Multi-Select field options are imported from HubSpot at the time of field import and are not kept in sync automatically. If you need option values or field names refreshed, please contact <support@clearfeed.ai>.
10. **Can I import Deal Stage or User Type fields from the web app?**\
    **Answer:** No. These fields are not importable via the web app. Please reach out to <support@clearfeed.ai> or your ClearFeed Slack support channel to have these fields set up.
11. **What happens to synced field values when I disable CRM Sync?**\
    **Answer:** Synced field values remain in place and stay read-only. The sync stops running, but imported fields remain locked to prevent accidental edits to CRM-sourced data. Re-enabling CRM Sync will resume the sync on the next scheduled run without requiring any reconfiguration.
12. **Will updating the linked HubSpot company immediately update my field values?**\
    **Answer:** Yes. When you update the linkage manually and click **Save & Sync**, field values from the newly linked company/deal are imported immediately.


# Log to HubSpot

ClearFeed allows you to selectively log important Slack conversations as notes to HubSpot Companies or Deals. This is useful when teams need a manual, selective way to log only high-value or sensitive threads to HubSpot.

{% hint style="info" %}
**Note:**

* HubSpot integration must be connected to use this feature. Learn how to connect HubSpot [here](/clearfeed-help-center/integrations/hubspot#integrate-hubspot).
  {% endhint %}

## How to Log a Note

### Step 1: Open the Log to HubSpot Action

From the **Triage Channel**, open a thread and click `More Actions` → select `Log to HubSpot` → click `Next`.

{% hint style="info" %}
This action is also available in the **Request Channel**: click the three-dot menu → `Connect to Apps` → `ClearFeed Actions` → `Log to HubSpot`.
{% endhint %}

<figure><img src="/files/U1YxxctGOmjE6tj78OiU" alt="" width="563"><figcaption><p>Opening the Log to HubSpot action from the Triage Channel</p></figcaption></figure>

### Step 2: Select Messages

A modal displays all messages in the thread. All messages are selected by default. You can:

* Use **Select All** or **Deselect All** to toggle all messages.
* Select or deselect individual messages using checkboxes.

Click `Next` to proceed.

<figure><img src="/files/pODMnr5oCsQFVBuhON07" alt="" width="563"><figcaption><p>Selecting messages to include in the note</p></figcaption></figure>

### Step 3: Review and Log the Note

After selecting messages, a single modal is displayed where you can:

1. **Choose where to log:** Select whether to log the note to a **Company** or a **Deal** using the radio buttons.
   * If you select **Deal**, both a Company and Deal dropdown are shown. A company must be selected before choosing a deal.
2. **Company and Deal:** These fields may be pre-filled based on existing CRM data. You can search and select any company or its corresponding deals.
3. **Note:** An AI-generated summary of the selected messages is automatically populated in the note editor. The note is fully editable — you can modify the summary or write your own content before logging.
4. **Override customer linkage** *(optional)*: An optional checkbox at the bottom of the modal.
   * **Checked (default):** The associated customer's HubSpot company and deal linkages are updated to the values selected in this modal. This is useful when you want to correct or set the CRM linkage for the customer at the same time as logging the note. See [CRM Sync](/clearfeed-help-center/clearfeed-helpdesk/customers/crm-sync) for more details on customer linkages.
   * **Unchecked:** The note is logged to the selected company/deal, but the customer's existing CRM linkage is left unchanged.

<figure><img src="/files/oWAEBhXgU9PjlpVPJEUF" alt="" width="563"><figcaption><p>The Override customer linkage checkbox updates the customer's company &#x26; deal linkages with the selected values</p></figcaption></figure>

Click `Log Note` to create the note in HubSpot.

<figure><img src="/files/NIa6xBnU9mxKeuLFm3Ak" alt="" width="563"><figcaption><p>Reviewing the AI summary, selecting Company/Deal, and logging the note</p></figcaption></figure>

### Step 4: Confirmation

On success:

* A **success modal** is displayed with a direct link to the note in HubSpot. Click `View note` to open it.
* A **private comment** is posted in the Slack thread indicating that a note was logged, along with a link to the note.

<figure><img src="/files/155IN3vUa9DVRQ8lsf8e" alt="" width="563"><figcaption><p>Success confirmation with note link and private comment in the thread</p></figcaption></figure>

## Supported HubSpot Objects

| Object  | Description                                 |
| ------- | ------------------------------------------- |
| Company | Log a note against a HubSpot Company record |
| Deal    | Log a note against a Deal under a Company   |

{% hint style="info" %}
When logging to a **Deal**, the note is created against the deal. When logging to a **Company** only, the note is created against the company.
{% endhint %}

## FAQs

1. **Do I need CRM Sync set up to use Log to HubSpot?**\
   **Answer:** No. CRM Sync is not a precondition. You can log notes to any company or deal in your connected HubSpot account.
2. **Can I edit the AI-generated summary before logging?**\
   **Answer:** Yes. The note editor is fully editable. You can modify the AI summary or replace it with your own content.
3. **Where can I find the logged note in HubSpot?**\
   **Answer:** The note appears under the **Activities** tab of the selected Company or Deal in HubSpot. A direct link is also provided in the success confirmation and the private comment posted in the Slack thread.
4. **Why can't I see the Log to HubSpot action?**\
   **Answer:** The action is only visible when the HubSpot integration is connected. Ensure your HubSpot integration is set up under [Integrations](https://web.clearfeed.app/settings/integrations).
5. **What does the "Override customer linkage" checkbox do?**\
   **Answer:** When checked (the default), logging a note will also update the associated customer's HubSpot company and deal linkages to match the company and deal selected in the modal. When unchecked, the note is logged without changing the customer's existing CRM linkage. See [CRM Sync](/clearfeed-help-center/clearfeed-helpdesk/customers/crm-sync) for more details on how customer-company linkages work.


# Automations

Save hours with smart automation rules that handle routine tasks

Automate repetitive tasks and never miss important actions again. ClearFeed automations allow you to respond to requests, escalate issues, and keep your team organized without manual effort.

## Why use Automations

Automations help your team:

* Reduce manual work and repetitive tasks
* Escalate urgent requests automatically
* Keep internal teams aligned and informed
* Trigger external actions like ticket creation or Okta actions or HubSpot actions
* Pass values from one action to later actions, such as using a webhook response in a follow-up message
* Use AI to extract information or respond to requests

## How Automations Work

Every automation has four simple parts:

| **When**                         | **If**             | **Wait**         | **Then**     |
| -------------------------------- | ------------------ | ---------------- | ------------ |
| Trigger                          | Conditions         | Delay            | Actions      |
| *Request created, updated, etc.* | *Optional filters* | *Optional pause* | *What to do* |

**Real Example:** When a request contains "urgent" then send Slack alert to #support-team

## Quick Start: Create your first Automation

Let's build a simple automation to send a "follow-up reminder" if a request is pending for 24 hours.

* Create Automation: Navigate to **More → Automate → Create Automation**
* Set Up the Rule
  * **Name:** "Follow-up Reminder"
  * **Description**: "Automation to send message to Assignee when request has been pending for 24 hours"
  * **When (Trigger):** Request Updated
  * **If (Condition):** Status is "Pending"
  * **Wait (Delay):** 24 hours
  * **Then (Action):** Send message to assignee
* Activate: Map to your collections and enable the toggle.

### Complex Automation Examples

Real-world scenarios that combine multiple conditions and actions:

#### 🚨 Escalation Automation

**Scenario:** Auto-escalate high-priority requests during business hours

```
Name: "Priority Escalation"
Trigger: Request Created
Conditions: 
- Priority is "High"
- Trigger time is inside business hours
- Channel is one of ["#support", "#urgent"]
Actions:
1. Set Field: Assignee to Naveen
2. Send Message to Slack Channel #escalation-management:
    "🚨 High priority request needs attention: {{request.web_url}"
```

## Automation Guide

Explore details for building and managing automations:

### [Automation Configuration](/clearfeed-help-center/clearfeed-helpdesk/automations/automation-configuration)

Learn how to set up the **When**, **If**, and **Wait** components:

* Choose Your Trigger
* Add Conditions
* Set Delays and invariance rules
* Set up Recurring Automations

### [Automation Actions](/clearfeed-help-center/clearfeed-helpdesk/automations/automation-actions)

Discover everything you can automate with the **Then** component:

* Webhooks (including capturing response variables)
* Set Field actions
* Messaging actions
* Ticket creation
* AI actions & auto-fill fields
* Okta and HubSpot actions

### [Automation Management](/clearfeed-help-center/clearfeed-helpdesk/automations/automation-management)

Learn how to:

* Map Collections
* Add dynamic parameters
* Monitor execution logs
* Troubleshoot issues


# Automation Configuration

Learn how to configure the "When," "If," and "Wait" components of your automations.

## Choose Your Trigger

Pick what event starts your automation:

### Request Triggers

*Available in Integrations & External HelpDesk Product Edition*

* **Request Creation** – New request submitted
* **Request Update** – Status, priority, or field changes
* **Request Message Added** – New reply
* **Request CSAT Submitted** – Feedback received
* **Request Reaction Added** – Request reacted with an Emoji (you pick which one)

### Ticket Triggers

*Available in all Product Editions*

* **Ticket Creation** - New ClearFeed ticket created
* **Ticket Update** - Field changes
* **Ticket Message Added** - New message
* **Ticket CSAT Submitted** - Feedback received on ticket
* **Ticket Reaction Added** - Ticket reacted with an Emoji (you pick which one)
* **Approval Workflow Completed** - Whenever an approval workflow is **completed**, whether the final outcome is *approved* or *rejected*.
* **Before Approval Workflow Triggered** – When selected, the automation runs **synchronously** before the approval workflow is initiated. Because the system waits for this automation to complete, delay steps are **not supported**, and the approval workflow executes only after the automation finishes.<br>

  <figure><img src="/files/luJDD9zIZ36c3UT4J2Ts" alt="" width="563"><figcaption><p>Triggers in Automations for Internal Helpdesk</p></figcaption></figure>

## Add Conditions

Conditions help narrow when your automation should run.

{% hint style="success" %}
Conditions are optional but allow precise targeting — all conditions must be true for the automation to execute.
{% endhint %}

### Standard Fields

Conditions are available on: Status, Priority, Assignee, Channel, Assigned Team, First Message Author, Customer, Source

Operators available:

* `is set to` / `is not set to`
* `is one of` / `is not one of`

### Approval Workflow Fields

* **Approval Workflow:** The name of the approval workflow. Use this field in automations to trigger actions for a specific approval workflow.
* **Approval Workflow Status:** The final status of the approval workflow. Use this field to define conditions based on workflow state (approved or rejected).

### Business Hours

Time-based conditions that respect your workspace timezone:

* `Trigger time is inside business hours`
* `Trigger time is outside business hours`

### Custom Fields

Different field types support different operators:

| Field Type        | Supported Operators                                             |
| ----------------- | --------------------------------------------------------------- |
| **Text**          | `is set to`, `is not set to`                                    |
| **Number**        | `is set to`, `is not set to`, `is greater than`, `is less than` |
| **Date**          | `is set to`, `is not set to`, `is after`, `is before`           |
| **Single Select** | `is set to`, `is not set to`, `is one of`, `is not one of`      |
| **Multi Select**  | `contains any of`, `contains all of`, `contains none of`        |
| **User Select**   | `is set to`, `is not set to`, `is one of`, `is not one of`      |

<figure><img src="/files/wojn3SnpEtsIweP2RVe9" alt="" width="563"><figcaption></figcaption></figure>

## Set Delay

Delays allow actions to run after a set time:

* **Default:** No delay
* **Maximum:** 29 days, 59 minutes, 59 seconds
* **Format:** Days / Hours / Minutes

### Cancel the Delay on Field Changes <a href="#invariance-settings" id="invariance-settings"></a>

By default, once a delay starts it counts down no matter what happens to the request or ticket. **Cancellation** lets you watch specific fields during the delay and automatically cancel the automation if one of them changes — so you don't run an action that no longer makes sense.

You can watch **one or more fields**, including **standard fields** (like Status or Priority) and **Custom Fields**.

<figure><img src="/files/EhvTsqEFv8T2gUJBFZbe" alt="" width="563"><figcaption><p>Configure cancellation on field changes in the delay step</p></figcaption></figure>

How cancellation behaves depends on whether the watched field is also used in the automation's **Conditions**:

* **Field is part of your Conditions** – The automation cancels only if the change makes the condition **false** (the request no longer matches). If the new value still satisfies the condition, the delay continues. In other words, the automation stays alive as long as the request still matches, and cancels the moment it stops matching.
* **Field is NOT part of your Conditions** – Any change to the field cancels the automation, regardless of the new value.

#### Example

You're building an automation that sends a follow-up to the Assignee when a request stays **Open** for 3 days, with a 3-day delay.

* **Watching `Status` (part of your Conditions)** – If Status changes to "Resolved" during the 3 days, the condition (Status = Open) is no longer true, so the automation **cancels** — there's no point following up on a resolved request. If Status stays "Open", the follow-up sends after 3 days as planned.
* **Watching `Priority` (not part of your Conditions)** – Any Priority change — say Medium → High — **cancels** the automation, even if Status is still "Open", because you told ClearFeed that any change to Priority should cancel it.

### Reset Delay on New Activity

Automations with a delay step can now reset the timer when there's new activity on the request or ticket — so follow-ups only fire after the conversation has actually gone quiet.

{% hint style="info" %}
**Why this matters:** Without reset settings, a delay timer starts when the automation triggers and counts down regardless of new activity. This means your follow-up alert might fire even though a follow-up was provided recently. With reset enabled, the delay restarts whenever there's new activity, ensuring actions (like alerts) only happen after genuine silence.
{% endhint %}

#### What Can Reset the Delay

You can choose which types of messages reset the delay timer:

* **Message from a responder** – Restarts the delay when a member of your support team replies
* **Message from a non-responder** – Restarts the delay when the requester or customer replies

<figure><img src="/files/X7k4R0MJ3bxdomtbe84q" alt="" width="563"><figcaption><p>Configure reset settings in the delay step</p></figcaption></figure>

#### How It Works

1. **Automation triggers** – The automation starts when its trigger event occurs and the conditions (if any) are met
2. **Delay begins** – The configured delay timer starts counting down
3. **New activity arrives** – If a message matching your reset criteria is posted, the delay timer **resets to zero** and starts counting down again
4. **Action executes** – The automation's action only runs after the full delay period completes without any resetting activity

**Note** Reset Delay does not re-evaluate the trigger condition. It simply extends the delay time on specific events.

#### Overlap Protection

You can't configure reset events that would conflict with your trigger — this prevents infinite loops where every message would both trigger new automations AND reset existing ones.

{% hint style="warning" %}
**Example:** If your trigger is "Message Added," you cannot add "Message from responder" or "Message from non-responder" as reset events. The system will block this configuration to prevent automations from piling up indefinitely.
{% endhint %}

## Recurring Automations

A **recurring automation** runs again and again for the same request or ticket, rechecking your condition on a timed cycle and taking action each time the condition is still met.

To make an automation recurring, enable the **Re-enqueue automation on completion** checkbox and configure **both** a [Condition](#add-conditions) and a [Delay](#set-delay):

* The **Re-enqueue automation on completion** checkbox is what makes the automation repeat. Without it, the automation runs only once, even when a condition and a delay are configured.
* The **Condition** tells ClearFeed when the automation should keep running. Re-enqueued automations check the Condition again.
* The **Delay** controls how long ClearFeed waits before each action.

{% hint style="warning" %}
**Note:** A condition and a delay on their own do **not** make an automation recurring. An automation only repeats when **Re-enqueue automation on completion** is enabled, so your existing one-time delayed automations are unaffected.
{% endhint %}

This is useful when you want ClearFeed to wait, recheck whether a request still needs attention, take action if it does, and then schedule itself to check again later.

{% hint style="info" %}
**When to use it:** Set up a recurring automation when you want a repeated, timed check on the same request or ticket — for example, a reminder that keeps nudging a thread until someone responds.
{% endhint %}

{% hint style="success" %}
**Practical Example:** For a complete end-to-end guide on creating periodic alerts for critical incidents, see [Providing Timely Updates During Incidents](/clearfeed-help-center/advanced-recipes/providing-timely-updates-during-incidents). This guide walks through setting up recurring automations with reset delays to post periodic reminder comments on incident tickets.
{% endhint %}

### How It Works

1. The automation starts when its **trigger** event happens.
2. ClearFeed checks the automation **condition** first.
3. If the condition matches, ClearFeed **waits** for the configured delay.
4. After the delay, ClearFeed performs the configured **action**.
5. Once that run completes, because **Re-enqueue automation on completion** is enabled, ClearFeed **re-enqueues the automation** for the same request or ticket.
6. The re-enqueued automation starts again from Step-2, checking the condition and repeating itself.

The automation is re-enqueued after a successful run. It is **also** re-enqueued if a run fails due to an action or system issue, so the automation can try again on the next cycle.

### Example: Recurring Open-Request Reminder

A team can set up a recurring alert for requests that are still **Open** and have not received a response:

* **When (Trigger):** Request Updated
* **If (Condition):** Status is "Open"
* **Wait (Delay):** 4 hours
* **Then (Action):** Post a reminder message in the thread

With **Re-enqueue automation on completion** enabled, ClearFeed waits for the configured time, posts a reminder, and then re-enqueues the same check. This keeps the thread active with repeated alerts until the request is answered, closed, or no longer matches the condition.

### How the Cycle Ends

The automation is **not re-enqueued when the condition is no longer met** — this is the normal way the recurring cycle ends.

The cycle can also stop if:

* The automation is **disabled**.
* The request or ticket **no longer exists**.
* An [Invariant](#invariance-settings) field change cancels the automation (as described in [Invariance Settings](#invariance-settings)).


# Automation Actions

Complete reference guide for all automation actions in ClearFeed

Actions are the “Then” part of your automation — what happens after your trigger and conditions match. You can chain multiple actions together to build sophisticated workflows.

## Action Execution Flow

1. Actions execute top-to-bottom.
2. Each action can include *its own* conditions.
3. If an action fails, remaining actions are skipped.
4. Completed actions are not undone.
5. All steps and failures appear in **Execution Logs**.

Below are the actions that are supported in Automations:

## Webhook

Send request/ticket data to external systems (Zapier, custom APIs, etc.). Read more about formatting the message with Request Parameters [here](#adding-parameters-in-messages).

When using the **Webhook** action in Automations, you can control how ClearFeed sends data to your external system and optionally save values from the webhook response for later actions.

### **Webhook URL**

Enter the endpoint where ClearFeed should deliver the webhook request.\
This must be a valid publicly accessible URL.\
The automation will send a POST request to this URL whenever the trigger conditions are met.

### **Payload**

Define the JSON payload that ClearFeed will send to your webhook endpoint.\
You can include:

* Static values
* Dynamic variables populated from the event (request, ticket, message, user, etc.)

The payload editor validates JSON structure to ensure the webhook is sent successfully.

#### **Default Webhook Payload Structure:**

{% code fullWidth="false" %}

```json
{
    "id": "{{request.id}}",
    "web_url": "{{request.web_url}}",
    "status": "{{request.status}}",
    "priority": "{{request.priority}}",
    "assignee": {
        "id": "{{request.assignee.id}}",
        "name": "{{request.channel.name}}"
    },
    "channel": {
        "id": "{{request.channel.id}}",
		"name": "{{request.channel.name}}"
    },
    "title": "{{request.title}}",
    "request_message": {
        "ts": "{{request.request_message.ts}}",
		"thread_ts": "{{request.request_message.thread_ts}}",
        "text": "{{request.request_message.text}}"
    },
    "csat_survey": {
        "status": "{{request.csat_survey.status}}",
		"response": {
		"value": "{{request.csat_survey.response.value}}",
		"max_value": "{{request.csat_survey.response.max_value}}",
		"survey_type": "{{request.csat_survey.response.survey_type}}",
		"comment": "{{request.csat_survey.response.comment}}"
        }
    }
}
```

{% endcode %}

### **HTTP Headers (Optional)**

Add custom headers to your webhook request. These may include:

* Authentication tokens
* API keys
* Custom metadata required by your target system

Each header consists of:

* **Key** – Name of the header
* **Value** – Header value
* **Sensitive** – Enable this to hide the value from UI and logs

All configured headers are included in every webhook call triggered by the automation.

### **Capture Response Variables (Optional)**

Use **Capture Response Variables** when your webhook endpoint returns JSON data that you want to reuse in later automation actions. For example, if your webhook creates a ticket in an external system and returns the external ticket ID, ClearFeed can capture that ID and use it in a later **Send Message** or **Webhook** action.

Example webhook response:

{% code fullWidth="false" %}

```json
{
  "ticket_id": "EXT-1234",
  "ticket_url": "https://example.com/tickets/EXT-1234",
  "request": {
    "status": "created"
  }
}
```

{% endcode %}

To capture values from the response:

1. In the **Webhook** action, configure the URL, payload, and headers as needed.
2. Under **Capture Response Variables (Optional)**, click **Add variable**.
3. Enter a **Variable Name**. This is the name you will use in later actions, such as `ticket_id`.
4. Enter the **JSON Path** to the value in the webhook response, such as `ticket_id`, `request.status`, or `items[0].name`.
5. Save the automation.
6. In subsequent actions, type `{{` or open the variable picker and select the variable from the earlier webhook action. ClearFeed shows captured variables using the webhook action name and variable name, for example `Create External Ticket.ticket_id`.

{% hint style="info" %}
**Notes:**

* Captured response variables are available only to actions that run after the Webhook action.
* If response variables are configured, the webhook response must be JSON. A non-JSON response causes the Webhook action to fail.
* If a JSON path does not exist or returns `null`, ClearFeed skips that variable for that run.
* Variable names must start with a letter and can contain only letters, numbers, and underscores.
  {% endhint %}

## **Set Field**

Automatically update ticket fields such as **Status**, **Priority**, **Assignee**, or **Custom Fields**.

* **Status, Priority, or Single Select Custom Fields** – Select any available value from the dropdown.
* **User Assignment (Assignee or User Select Custom Fields)** – Set the value using one of the following methods:
  * **Static Value** – Select a fixed user (existing behavior).
  * **Email** – Provide an email address. The system resolves the email to a matching user profile.
  * **External Integration Output** – Select a variable of type *email* from an external integration output. The email is resolved to a matching system user profile.
* **Text (Single-line or Multi-line) and Number Fields** – You can set values using one of the following options:
  * **Static** – Enter a fixed value.
  * **AI Agent Output** – Populate the field using output generated by the AI Agent.
  * **Auto-fill Fields Output** – Populate the field using values returned from the Auto-fill Fields step.
* **Multi Select Fields** – Select one or more values from the dropdown.
* **Date Fields** – Select or provide a date value.

## **Reassign**

Reassigns the request/ticket based on the collection's [assignment configuration](/clearfeed-help-center/clearfeed-helpdesk/assignment-rules). Useful when the current assignee is unavailable, deleted from the workspace, or doesn't match the configured assignment rules.

{% hint style="info" %}
The Reassign action only works with **Message Added** and **Updated** trigger types.
{% endhint %}

### Behavior by Assignment Rule

<table><thead><tr><th width="200">Assignment Rule</th><th width="280">Scenario</th><th>Result</th></tr></thead><tbody><tr><td><strong>None / First Responder</strong></td><td>Any</td><td>Reassignment executes (reason: <code>no_assignment_rule_configured</code>)</td></tr><tr><td><strong>Round Robin</strong></td><td>No assignee set</td><td>Next user in round-robin queue is assigned</td></tr><tr><td>Assignee not in Slack user group</td><td>Next available user in the Slack group is assigned</td><td></td></tr><tr><td>Assignee unavailable (OOO, etc.)</td><td>Next user in round-robin queue is assigned</td><td></td></tr><tr><td>Assignee valid and available</td><td>Reassignment <strong>skipped</strong> (reason: <code>assignee_still_valid</code>)</td><td></td></tr><tr><td>No eligible user available</td><td>Action <strong>skipped</strong> (reason: <code>no_eligible_assignee_found</code>)</td><td></td></tr><tr><td><strong>Customer Owner</strong></td><td>No customer owner found</td><td>Action <strong>fails</strong> (reason: <code>customer_owner_not_found</code>)</td></tr><tr><td>Owner differs from current assignee</td><td>Assignee updated to customer owner</td><td></td></tr><tr><td>Owner is current assignee</td><td>Reassignment <strong>skipped</strong> (reason: <code>customer_owner_unchanged</code>)</td><td></td></tr><tr><td><strong>Customer Owner with Round Robin Fallback</strong></td><td>Assignee is valid (customer owner or in round-robin group) and available</td><td>Reassignment <strong>skipped</strong> (reason: <code>assignee_still_valid</code>)</td></tr><tr><td>Assignee is not valid or unavailable</td><td>New assignee found using Owner + Round-Robin fallback (same behavior as Customer Owner and Round Robin above)</td><td></td></tr></tbody></table>

## **Send Message**

{% hint style="info" %}
ClearFeed Automations do **not** support sending automated emails directly to external clients or requesters. If you need to notify a client by email, use the **Webhook** action to trigger an external email service (such as Zapier, Make, or a custom API) that can send the email on your behalf.
{% endhint %}

Post formatted messages to:

* Slack channels or triage channel
* Teammates via ClearFeed app
* As public replies or private comments
* Direct to assignee

### Adding Parameters in Messages

You can add dynamic parameters when configuring the payload sent via **Webhook** action or a **Send Message** action. These include Request/Ticket parameters such as Request ID, URL, Status, Priority, and custom fields, as well as variables produced by earlier automation actions.

* In the message box, type {{ to invoke the parameters dropdown.
  * Custom fields are listed in the dropdown and can be selected directly by their field name (e.g., `{{ticket.YourCustomFieldName}}`).
  * You do **not** need to use a custom field ID or slug; simply use the field name as it appears in your configuration.
  * For example: If you have a custom field called "Job Scorecard Link", you can reference it as `{{ticket.Job Scorecard Link}}` in your payload template.
  * To include the collection name in your webhook payload, use `{{request.collection.name}}` as a variable in your JSON template.
* Select and enter the relevant parameters in your messages

<figure><img src="/files/KRQ7eEIMq86aofhfG6os" alt="" width="563"><figcaption></figcaption></figure>

**Tip for n8n users:** When mapping webhook payload fields in n8n, you may need to reference variables using the `$json` syntax, e.g., `$json.body.collection_name` instead of just `json.body.collection_name`.

### Adding Slack Request Link in Messages

If you want to include a **link to the original Slack request**, you can use the following structure: `https://<workspace_name>.`[`slack.com/archives/{{ticket.channel.id}}`](http://slack.com/archives/%7B%7Bticket.channel.id%7D%7D)`/p{{ticket.request_message.ts}}`

To hyperlink this URL to a word or phrase in your message

* Use **Slack’s link formatting syntax**: **Example:** You want to send: “Can you check this request?” -- with *request* hyperlinked to the original message.

  Here’s how to format it: Can you check this \<https\://\<workspace\_name>.slack.com/archives/{{ticket.channel.id}}/p{{ticket.request\_message.ts}}|request>?
* You can add hyperlinks directly in your message content using the editor:
  * Select the text you want to link (e.g., *request*).
  * Click the **Link** icon in the toolbar.
  * Enter the URL, placeholders are supported (e.g. `.../tickets/{{request.id}}`).
  * Click **Save**.

You can insert dynamic links to the request or triage conversation, or to the request in the ClearFeed web app, using the following placeholders:

* Request channel: `{{request.request_channel.latest_message_url}}`
* Triage channel: `{{request.triage_channel.latest_message_url}}`
* ClearFeed WebApp: `{{request.web_url}}`

These placeholders will be automatically replaced with the corresponding links when the message is sent.

## **Trigger Ticket Creation**

Create a ticket based on collection settings

## **Auto-fill Fields**

The **Auto-fill Fields** action lets you use AI to automatically extract or generate values and then either:

* Save the output directly into a **Custom Field** on the request/ticket, or
* Store the output as an **Automation Variable** that can be reused in conditions or downstream actions.

  <figure><img src="/files/FEtwyaE79r0OlGRbPKWH" alt="" width="563"><figcaption></figcaption></figure>

### **How It Works**

When an automation is triggered, ClearFeed's AI can:

* Parse the request/ticket content, including the **request title** (for email-originated tickets, the title corresponds to the **email subject**)
* Apply your configured prompt
* Return structured output
* Save it to a Custom Field or store it as an Automation Variable

{% hint style="warning" %}
**Note:** Automations **cannot** currently inspect the email recipient or CC list. Conditions and AI prompts can only use fields available on the request/ticket (such as title/subject and body/content).
{% endhint %}

### **Example use cases:**

* Extract product names from support requests to populate a "Product" field
* Identify urgency keywords or subject markers (e.g. "\[Severity level critical]") to set an **Is Urgent** custom field and/or update Priority automatically
* Parse customer information to populate user details
* Categorize requests based on content keywords
* Drive downstream actions (e.g. send a Slack message to an escalation channel) based on AI-populated fields like `Is_Urgent`

### **Configuration Steps**

1. In your Automation, choose **Auto-fill Fields** as the action.
2. **Write Instructions**
   * Provide a natural-language prompt telling the AI what you want extracted.
   * You can reference **request/ticket variables** for context.

     <div data-gb-custom-block data-tag="hint" data-style="success" class="hint hint-success"><p>Tip: Learn how to write <a href="/pages/a8nBXqpCsKTj9LHNKVEM">effective instructions</a></p></div>
3. Under **Output Configuration**, define whether AI output should go into **Custom Fields** or **Automation Variables**.
   1. **Option 1: Save to Custom Fields**
      * **Select Fields:** Choose one or more custom fields for AI to auto-populate (supports all field types except User Select).
      * **AI Instructions Check**: If any selected field doesn’t have AI instructions defined, you’ll see a warning.
      * **Required Setting**: Mark a field as *Required* if AI must always extract this value before proceeding.
      * **Field Types Supported**: Text, Single Select, Multi Select.
   2. **Option 2: Save as Automation Variables:** For every variable, you must specify:
      * **Variable Name** – unique identifier (e.g., `extracted_priority`).
      * **Data Type** – only **Text, Number** and **Boolean** are supported.
      * **Description** – short explanation of what the variable represents.
      * **Required** – mark if AI must always extract this value before proceeding.
      * **Multiple Variables Supported**: You can create several variables in the same action.
      * **Use in Automations**: These variables can be referenced in conditions (e.g., `if sentiment = Negative`) or downstream actions.
4. **Test the Prompt**
   * Run the prompt against an existing request/ticket to validate results.
   * Refine the prompt as needed and re-test before finalizing.
5. **Save & Activate**
   * Once the mapping looks correct, save the automation.
   * If the field doesn’t exist, the system will suggest creating it.

## **Invoke AI Agent**

You can use an **AI Agent** in two key ways within **ClearFeed Automations**:

1. Generate Structured Responses The AI Agent can produce structured replies based on incoming inputs. These responses can be passed to **subsequent steps** in your automation workflow — such as:
   1. Updating a custom field
   2. Sending a Slack message
   3. Triggering a webhook or action
2. Respond to Incoming Requests The AI Agent can directly **respond to user queries** by retrieving relevant information from connected **Knowledge Sources**.

This enables you to build intelligent workflows that either operate silently behind the scenes or respond to users in real time powered by AI.

### Configuration Options

**Select the AI Agent to be used**

**Provide Instructions**\
Provide the AI Agent with a prompt. You can use request or ticket variables inside the prompt for context.

**Output Variables:**

| Variable Name    | Type    | Description                                                                                                                                                                                                                                                                                            |
| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `agent_response` | text    | The message content produced by the AI agent in response to the given input.                                                                                                                                                                                                                           |
| `is_answered`    | boolean | Whether the agent was able to answer the query with available information.                                                                                                                                                                                                                             |
| `is_followup`    | boolean | Indicates whether the agent’s response is a follow-up question or requires additional input from the user.                                                                                                                                                                                             |
| `search_results` | text    | A list of search results passed into the agent’s context while generating the answer. Each search result contains a title and a URL. (Note: It is not necessary that each search result is relevant to a given query—use the references variable for sources that the agent cited in the final answer) |
| `references`     | text    | A list of knowledge base sources that the agent used to generate the final answer. Each reference includes a title and a URL.                                                                                                                                                                          |

<br>

These variables can be used in conditions (e.g., checking if `is_answered` is set to `True`) or in downstream actions, such as sending a message to a Slack channel using `agent_response`.

## Add Participants

This action lets you add Participants to a ticket. It’s available only in the Internal Product Edition.\
Learn more about Participants [here](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-helpdesk/participants).

## **Okta Actions**

If your ClearFeed workspace is integrated with **Okta**, you can trigger user lifecycle operations as part of automation workflows. These actions help streamline IT and HR processes by automating common administrative tasks directly from Slack-based requests or ticket updates.

### **Supported Actions**

<table><thead><tr><th width="202.3333740234375">Action</th><th>Description</th></tr></thead><tbody><tr><td><strong>Reset Password</strong></td><td>Reset user's password, optionally send a password reset link to the users email addresss</td></tr><tr><td><strong>Suspend User</strong></td><td>Temporarily disables the user's access to all connected applications.</td></tr><tr><td><strong>Unsuspend User</strong></td><td>Reactivates a suspended user account, restoring access.</td></tr><tr><td><strong>Deactivate User</strong></td><td>Disables the user without deleting their profile. Often used for offboarding.</td></tr><tr><td><strong>Activate User</strong></td><td>Reactivates a previously deactivated user. Useful during rehiring.</td></tr><tr><td><strong>Delete User</strong></td><td>Permanently removes the user from Okta. ⚠️ This is irreversible.`</td></tr><tr><td><strong>Get Manager Email</strong></td><td><p>Fetches the user’s manager email from Okta using the user’s profile.</p><p>You provide the user’s email address. ClearFeed retrieves the manager’s employee ID from the user’s Okta profile, looks up the corresponding manager record, and returns the manager’s email address.<br>This email can be saved to a <strong>Custom field (User type)</strong> and used in approval workflows.</p></td></tr></tbody></table>

**Configuration Notes**

* Each action requires the email address, typically passed as a placeholder like `{{request.requester.email}}`.
* For **Activate User** and **Reset Password** actions, you need to specify whether an email should be sent to the user’s configured email address when the action is executed.
* Placeholders are available dynamically from the request or ticket context.
* You can add **conditions** to control when the action is triggered (e.g., “if Request Type is Offboarding”).
* These actions can be part of a multi-step automation and combined with delays, AI agent outputs, or webhook calls.

## **HubSpot Actions**

If your ClearFeed workspace is integrated with HubSpot, you can trigger CRM operations as part of automation workflows. These actions help streamline Sales, Marketing, and Support processes by automating common updates directly from Slack-based requests or ticket events.

### **Supported Actions**

* **Create Task** – Creates a new task in HubSpot. **Fields:**
  * **Title** (string) – Short summary of the task.
  * **Body** (string) – Description or details of the task.
  * **Due Date** (date) – When the task should be completed.
  * **Priority** (Dropdown) - Importance level. By default set to "Medium"
  * **Status** (Dropdown) - Current progress status. By default set to "NOT\_STARTED"
  * **Task Type** (Dropdown) - Category or type of task. By default set to "TOD"
* **Create Contact -** Adds a new contact to HubSpot. **Fields:**
  * **Email** (string) – Primary identifier for a contact.
  * **First Name** (string) - Contact’s first name.
  * **Last Name** (string) - Contact’s last name.
  * **Phone** (string) - Contact’s phone number.
  * **Company** (string) - Company name associated with the contact.
* **Create Deal -** Creates a new deal record in HubSpot. **Fields:**
  * **Deal Name** (string) – Title of the deal
  * **Amount** (currency) - Value of the deal.
  * **Close Date** (date) – Expected close date of the deal.
  * **DealStage** (string) – Stage of the deal within the pipeline.
  * **Description** (string) - Additional details about the deal.
* **Add Note to Deal -** Attaches a note to an existing deal. **Fields:**
  * **Search Term** (string) – Search term to to match against deal name and description.
  * **Note** (string) – The body of the note.
* **Add Note to Contact -** Attaches a note to an existing contact. **Fields:**
  * **Search Term** (string) – Search term to to match against deal name and description of the target contact.
  * **Note** (string) – The body of the note.
* **Add Note to Company -** Attaches a note to an existing company. **Fields:**
  * **Search Term** (string) – Search term to to match against deal name and description of the target company.
  * **Note** (string) – The body of the note.

### Configuration Notes

* Entity identifiers like **Contact Email**, **Deal ID**, or **Company ID** can be dynamically populated using placeholders (e.g., `{{request.requester.email}}`).
* For creation actions, you may map values from the request context, form inputs, or AI agent outputs.
* Placeholders are available dynamically from the request or ticket context.
* You can add conditions to control when the action is triggered (e.g., “if Request Type is Sales Inquiry”).
* These actions can be combined with other automation steps such as **delays**, **AI agent outputs**, or **webhook calls**.

  <figure><img src="/files/iEih7c1X1wLDQAH4kW9Q" alt="" width="563"><figcaption><p>Using</p></figcaption></figure>


# Automation Management

Manage, monitor, and troubleshoot your automations

## Map Collections

Use the button `Map Collections` to choose the Collection that should use the Automation and click on the toggle to enable the automation.

* You can select Email and Portal Collection to let the Automations act on Tickets originating from these sources.

{% hint style="info" %}
The Actions are completed only when an automation is mapped to at least one Collection
{% endhint %}

<figure><img src="/files/bqwyxtf3JzKueCZy8viz" alt="" width="563"><figcaption></figcaption></figure>

## Checking Automation Execution Logs

You can see the detailed execution logs for each automation, helping you track and troubleshoot how automations are behaving in real time.

**Accessing the Execution Log:**

To view the execution log for any automation:

* Navigate to the **Automations** section in the ClearFeed web app.
* Click on the 3 dots icon corresponding to the automation you want to inspect and click on "**Execution Log"**

{% hint style="info" %}
Execution Log displays the history of all past executions for the selected automation
{% endhint %}

**What You’ll See in the Execution Log**

Each automation execution includes:

* **Status** of the run
* **Original Request ID**
* **Timestamp** of execution

You can:

* Click the **Request ID** to open the related request in a new tab.
* Click anywhere else on the row to view detailed **Execution Steps** along with their status.

#### Execution Status Types

You may see one of the following statuses for each automation run:

* **Done** – The automation executed successfully.
* **Failed** – The automation encountered an error.
* **Cancelled** – The execution was stopped because an invariant field was modified, the automation was disabled or deleted, or the automation trigger was updated while the request was in the wait state within the automation flow.
* **Running** – The automation is currently in progress.
* **Skipped** – The automation was skipped because the defined condition was not met.

## Coming Soon

* More Trigger Events - Eg. External Webhooks, APIs.

## FAQs

1. **How are Automations different from Workflows?**\
   **Answer:** Workflows are special cases of automation that are designed to solve the following use cases:

   * Escalation notifications to specific users/teams in case of no response to users - After sending a notification, workflows also manage the state of the triggered notification. Eg. they automatically get dismissed in case the messages are replied to. This is not the case with notifications triggered via automation.
   * Automated reply on request or ticket creation. These messages can be dismissed by users on Slack.

   Automations, on the other hand, are more flexible and powerful when it comes to defining *conditions* and *data routing*. For example:

   * Automations support detailed conditions on standard fields (Status, Priority, Assignee, Channel, etc.) **and** on Custom Fields (such as an "Environment" field for production vs staging).
   * Workflows currently allow you to filter primarily by ticket/request **Priority**, request type, and time-based criteria, and do **not** support arbitrary custom-field based conditions.

   As a rule of thumb:

   * Use **Automations** when you need fine-grained logic (e.g., "Status = Open" after a delay, only for tickets with a specific custom field value, and then send a webhook to PagerDuty or another external system).
   * Use **Workflows** when you need simpler, collection-level reminders or auto-responses driven mainly by priority and timing (e.g., SLA reminders, no-response nudges, OOO replies).
2. **How does ClearFeed check for invariance of triggers and conditions during the delay period in automation?**\
   **Answer:** During the delay period in automation, ClearFeed checks for the invariance of the "status" property only. For all other properties defined in the automation, the trigger and conditions are evaluated only at the time of the initial trigger. This means that changes to properties other than "status" during the delay period do not affect the automation's execution.
3. **Can we Clone or Delete an Automation?**\
   **Answer:** Yes, it is possible to clone an automation. Simply go to [Automations](https://web.clearfeed.app/automations) and click on the three-dot button. It will expose the options to Clone or Delete the Automation.

   <figure><img src="/files/qgrMNDfSn5VgEQ0CzAls" alt="" width="563"><figcaption><p><br></p></figcaption></figure>
4. **Can we set Automations to trigger for our business hours?**\
   **Answer:** Yes, it is possible to only trigger Automations inside or outside your business hours. You can do this by: Adding a Condition and Selecting the **Trigger Time** option to be Inside or Outside Business Hours.
5. **Can a ticket be automatically created when certain predefined keywords are detected in the request content?**\
   **Answer:** Yes, this can be achieved. Clearfeed automatically sets the priority to **High** when a request contains certain predefined keywords ([Learn more here](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels#how-does-clearfeed-automatically-assign-priority-to-requests)). You can then create an automation that triggers ticket creation whenever the priority is set to **High**. Make sure the **Trigger mode** is set to **Manual Mode** under the **Collection's Ticketing Settings**.


# Workflows

## What are ClearFeed Workflows?

Workflows in ClearFeed are meant specifically to generate:

* **Pending response reminders**
* **Commitment reminders**
* **Simple automated responses** on new requests/tickets
* **Out of office messages** for after-hours requests

Workflows can deliver reminder messages to Slack channels and DMs, post automated responses in Slack threads and post notifications to external systems using Webhooks.

## Workflows versus Automations

[Automations](/clearfeed-help-center/clearfeed-helpdesk/automations) are a more recent and powerful framework in ClearFeed. Here's how they compare:

* **Similarity:** Workflows and Automations are similar. They both trigger on specific conditions, can wait for a configurable delay, and then perform some actions.
* **Flexibility:** Automations are much more flexible. They have many more triggers, conditions, and actions, and also allow chaining actions.
* **Purpose:** Workflows exist primarily to generate reminders for pending responses/commitments and for OOO responses. Automations cover a much larger variety of use cases.
* **Roadmap:** The Automation framework is an active area of development in ClearFeed, whereas Workflows are less so.
* **Where Workflows shine:** A special property of workflows is that they keep track of the reminders delivered in Slack and automatically delete/update them when the conditions triggering those reminders is no longer applicable. This makes them particularly suitable as an alerting system, to reduce noise on Slack channels.

## How to setup Workflows

Workflows are configured at a Collection level. Go to your Collection -> Select `Workflows` from the navigation menu at the top. Click on **Add workflows to this collection** to start creating a workflow.

{% hint style="info" %}
If you already have workflows configured for your Collection - you should see a **New Workflow** button on the top-right corner.
{% endhint %}

<figure><img src="/files/dJdw4LYa2rcDToFB1yhf" alt="" width="563"><figcaption><p>Workflow section in a Collection when no workflows are configured</p></figcaption></figure>

### Parameters

Workflow consists of *Conditions* -> *Timer* -> *Actions*. For any request/ticket that satisfies the conditions, ClearFeed waits for the specified timer and then proceeds with the Action.

1. **Conditions**:
   * **Trigger for:**
     * All Requests - Workflow triggers on all requests
     * Only Tickets - Workflow triggers only on requests that are converted into a ticket
   * **Priority:** All, Urgent, High, Normal, Low
   * **Request Types:**
     * **All:** Workflow triggers on new requests and follow up comments
     * **New:** Workflow triggers only for new requests
     * **Follow Up:** Workflow triggers only for follow up comments
   * **Request created during:** Any Time or Outside Business Hours
2. **Set a Timer:** Workflow triggers after the amount of time specified.
3. **Actions:**
   * DM teammate on Slack
   * Post a channel message
   * Post a triage channel message
   * Webhook (Send an HTTP POST request to an external webhook)
   * Respond to the ticket with a message
   * DM the request assignee on Slack

You can ***Enable/Disable***, ***Edit***, and, ***Delete*** a workflow by hovering over the created workflow and accessing the toggle and buttons as shown below:

<figure><img src="/files/QJ173n75JLYeQMZPIqWV" alt="" width="563"><figcaption><p>Enable/Disable, Edit, or Delete a workflow</p></figcaption></figure>

## Reminder Workflows

Alerts/notifications that can be configured to be sent on Slack. These are useful for tracking tickets/requests that are pending response from the support team.

{% hint style="info" %}
Primarily relevant when you are using ClearFeed as a stand-alone Helpdesk.
{% endhint %}

### **Use Cases**

1. SLA reminders
2. Escalation reminders
3. Managers can get these alerts to track open items

<figure><img src="/files/5VK2NIcxuQswzG0Sg4jz" alt="" width="563"><figcaption><p>Workflow showing the alert and details regarding the requester and request channel</p></figcaption></figure>

### Setup

Go to Collection -> Workflows -> click on **New Workflow**

1. Select your workflow conditions (learn more about the conditions [**here**](#workflow-parameters)).
2. Select a Timer value
   * If your SLA for first response is 60 mins - set a Timer value to < 60 mins to get an alert if a ticket is Open for that specific amount of time.
3. Select an Action:
   * ***DM a teammate on Slack:*** Choose this and select a person who would get the alert as a DM from the ClearFeed app.
   * ***Post a channel message:*** Post the alert in a dedicated Slack channel
   * ***Post a triage channel message:*** If you've configured a triage channel for the collection, the alert will be delivered to the triage channel.
   * ***DM Request Assignee:*** This would send the alert to the assignee
   * **Respond with a message:** Use this action if you want the reminder to be posted directly in the same Slack thread as the ticket, rather than being sent only as a DM or as a message in a separate channel.

{% hint style="info" %}
**Note:** If the Request Type is set to **Only Tickets**, then the workflow will be triggered only for tickets in the *Open* state and other states such as *Pending* or *On Hold*.
{% endhint %}

<figure><img src="/files/1lmFsUG585XyUCSu7bqq" alt="" width="563"><figcaption><p>Creating a reminder for open items</p></figcaption></figure>

## Automated Response Workflows

Automated responses that are sent back on Slack.

### Use Cases:

* Auto response on every new request/ticket
* Automated OOO replies for outside business hours

{% hint style="info" %}
Auto responses can be triggered on the creation of ClearFeed Requests, ClearFeed Tickets, or External Tickets (e.g., Zendesk, Intercom).
{% endhint %}

Here is what the reply looks like when it's sent to your customers.

<figure><img src="/files/SfApZXkPeeSkTpzUfa5L" alt="" width="490"><figcaption><p>Reply on a request created outside business hours</p></figcaption></figure>

If you have white-labeled ClearFeed, instead of the ClearFeed logo and bot name, your bot's logo and name will be visible to the customers.

{% hint style="info" %}
**Note:** If you plan to set up OOO messages, ensure the [business schedule](/clearfeed-help-center/clearfeed-helpdesk/sla-management) for the collection is set.
{% endhint %}

### Setup

Go to Collection -> Workflows -> click on **New Workflow**

1. Select your workflow conditions (learn more about the conditions [**here**](#workflow-parameters))
2. If you plan to trigger the workflows for ClearFeed Tickets / External Tickets (eg. Zendesk)
   * Select Trigger For -> Tickets Only
3. Select a Timer value
   * Select 0 mins if you for immediate response
4. Select the Action -> Respond with a Message
5. Customize the message you want to send and publish the workflow.

<figure><img src="/files/VwDDPuvNaTkM5RcYRzhC" alt="" width="563"><figcaption></figcaption></figure>

## Webhook Action in Workflows

When ClearFeed triggers a webhook workflow, it sends an HTTP POST request with a JSON payload containing various details about the workflow and the associated request. The payload includes the following fields:

1. `version`: The version of the payload format. Currently set to `'1.0'`.
2. `workflow_delay`: The delay, in minutes, before the workflow was triggered.
3. `workflow_name`: The name of the workflow that was triggered.
4. `workflow_message_ts`: The id of the message that triggered the workflow.
5. `workflow_message_text`: The text of the message that triggered the workflow.
6. `workflow_message_url`: The URL of the message that triggered the workflow.
7. `workflow_message_author_id`: The ID of the author of the message that triggered the workflow.
8. `workflow_message_author_name`: The name of the author of the message that triggered the workflow.
9. `request_id`: The ID of the request associated with the workflow.
10. `request_state`: The state of the request associated with the workflow.
11. `request_title`: The title of the request associated with the workflow.
12. `request_priority`: The priority of the request associated with the workflow.
13. `request_thread_ts`: The ID of the thread where the request message was sent.
14. `request_thread_url`: The URL of the thread where the request message was sent.
15. `request_channel_id`: The ID of the channel where the request was received.
16. `request_channel_name`: The name of the channel where the request was received.
17. `request_collection_id`: The ID of the collection that contains the channel where the request was received.
18. `request_collection_name`: The name of the collection that contains the channel where the request was received.

**Example Payload:**

```json
{
  "version": "1.0",
  "workflow_delay": "15",
  "workflow_name": "Escalation Reminder",
  "workflow_message_ts": "1669086095.123456",
  "workflow_message_text": "This is the message that triggered the workflow.",
  "workflow_message_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1669086095123456",
  "workflow_message_author_id": "U12345",
  "workflow_message_author_name": "John Doe",
  "request_id": 123,
  "request_state": "Open",
  "request_title": "Need assistance with XYZ",
  "request_priority": "high",
  "request_thread_ts": "1669086095.987654",
  "request_thread_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1691040592308569?thread_ts=1669086095.987654",
  "request_channel_id": "C0ABCD123",
  "request_channel_name": "clearfeed_swiftcorp_solutions",
  "request_collection_id": 123,
  "request_collection_name": "Premium Customer Channels"
}
```

### Webhook Headers

To verify the authenticity of the request source, ClearFeed adds the following headers to the HTTP POST request:

1. `X-Cf-Signature`: A signature generated using a secret key known only to ClearFeed and the receiving server. You can use this signature to verify that the request has not been tampered with and originated from ClearFeed.
2. `X-Cf-Timestamp`: The timestamp indicates the exact time the request was sent. You can use this timestamp along with the signature to validate the request's freshness and prevent replay attacks.

To validate that webhook requests you receive originated from ClearFeed, read more details [here](#validating-requests).

### Testing Webhook Payload

If you want to send a test payload, you can do this by executing a cURL command such as the one shown below:

```bash
curl --location 'https://www.example.com'
--header 'Content-Type: application/json'
--data '{
    "version": "1.0",
    "workflow_delay": "15",
    "workflow_name": "Escalation Reminder",
    "workflow_message_ts": "1669086095.123456",
    "workflow_message_text": "This is the message that triggered the workflow.",
    "workflow_message_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1669086095123456",
    "workflow_message_author_id": "U12345",
    "workflow_message_author_name": "John Doe",
    "request_id": 123,
    "request_state": "Open",
    "request_title": "Need assistance with XYZ",
    "request_priority": "high",
    "request_thread_ts": "1669086095.987654",
    "request_thread_url": "https://clearfeed.slack.com/archives/C0ABCD123/p1691040592308569?thread_ts=1669086095.987654",
    "request_channel_id": "C0ABCD123",
    "request_channel_name": "clearfeed_swiftcorp_solutions",
    "request_collection_id": 123,
    "request_collection_name": "Premium Customer Channels"
}'
```

{% hint style="info" %}
**Zapier** - To use webhook action workflow with Zapier, use the Zapier endpoint URL as the webhook URL. Verify the webhook action before establishing the Zapier connection. Use the provided payload for configuration.
{% endhint %}

## Commitments

A common problem in conversational systems is to post a reply promising future action and then forget to do so. It is also stressful to remember to set the status manually or use Slack features like "Save Later" to mark such replies. ClearFeed uses AI to automatically find commitments in responder messages and will generate reminders for the same (if any workflow sending reminders to Slack channels is set up).

### Example Messages

* *Let me check with the team and let you know*
* *Will update once there are finer notes on the implementation*
* *Suspecting a possible bug here, I'll have to check with the engineering team and confirm*
* *I will take a look at this by the end of day today*

### How it works?

1. AI automatically analyzes responder messages to identify commitments and update the request status to:
   * **In Progress**: Set when agents provide commitment-based replies indicating the issue is being actively worked on (e.g., "*We're working on it and will get back to you as soon as it's fixed*"). This status is visible externally to customers.
   * **Pending**: Set when the agent message suggests response is required from the customer (e.g., "*Could you provide us with more updates on the issue?*" or "*Is the new feature working for you?*" or "*Here's how you can disable this*").
2. If the commitment remains open (ie. the request continues in **In Progress** state), AI will also generate a reminder based on the time implied in the message, or 24 hours if no time was implied. For example:

   * "*... by end of day today*" - reminder would be queued at the end of the day (based on GMT).
   * "*Let me check with the team*" - no specific timeframe is implied and reminder is queued up for delivery after 24 hours.

   Note that reminders for commitments are canceled if the state moves out of **In Progress** state. Further responses by responders (which are not commitments themselves) are treated as fulfilling the commitment.

### Commitment Reminders and Workflows

Commitment Reminders are automatically sent if there are workflows configured against the corresponding Collection to deliver reminder messages to Slack channels or DMs. Here's what a commitment reminder on the triage channel looks like:

<figure><img src="/files/D5J3DcO1fhhzShiDoSd4" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** if multiple workflows are sending reminders to the same Slack channel, ClearFeed will **deduplicate commitment reminders**. Recipients only receive one reminder per commitment. This is a property specific to commitments. Pending response alerts themselves are not de-duplicated (if multiple of them are configured at different time thresholds for example).
{% endhint %}

#### Disabling/Enabling Commitment Reminders

Commitment Reminders are enabled by default. To disable (or re-enable) them:

1. Go to the **Settings** tab in the ClearFeed web app and navigate to [**Additional Settings**](https://web.clearfeed.app/settings/additional-settings)**.**
2. Locate the **Commitment Reminders** toggle.
3. Switch the toggle **off** to disable reminders across your account (and **on** to enable it)

{% hint style="danger" %}
This setting is applied at the account level. Disabling reminders will stop them in **all Slack channels and collections** configured in ClearFeed.
{% endhint %}

## FAQs

1. **Can I disable Commitment Reminders for just one channel or collection?**\
   **Answer:** No, this is currently an account-level setting. It applies to all Slack channels and collections.
2. **We’ve disabled reminders, but I’m still seeing Slack messages that look like reminders. Why?**\
   **Answer:** Some other workflows might still be active. You can review active workflows for each channel under the **Workflows** tab on the top-right for that collection.
3. **Should I use Workflows or Automations?**\
   **Answer:** Workflows are particularly suited for reminders on pending responses and for OOO responses. For all other use cases, and for triggers, conditions and actions beyond what Workflows provide - use Automations.
4. **I am getting automated alerts on the Triage Channel stating "Request ... has had no response ...". Why?**\
   **Answer:** If you have setup a new Account in ClearFeed or a new Slack Collection - ClearFeed creates a Reminder Workflow by default for such collections, delivering reminders to the Triage Channel. The alerts you see are being delivered because of that. To remove or modify these alerts - go to the ClearFeed WebApp, click on the corresponding Collection in the Inbox, click on Workflows tab on top right and edit or disable the Workflows from this view.
5. **Can I use Automations to generate reminder alerts instead?**\
   **Answer:** Yes, you can. Automations can also be triggered whenever requests are created or re-opened, can wait for a configurable period and deliver an alert if no response is made within the delay period. They can also be cancelled automatically if the status changes during the delay period (by setting status as the invariant). However - unlike Workflows - Automations cannot clear out stale alerts automatically.
6. **I am getting alerts that contain text like "... need followup on commitment ...". Why?**\
   **Answer:** These are commitment reminders and are automatically triggered if any workflow is setup in your Collection. To turn this off, [check instructions in the Disabling/Enabling Commitment Reminders section](#disabling-enabling-commitment-reminders).


# Business Schedule & SLA

The **Business Schedule & SLA** settings help you define how and when your team is expected to respond to and resolve customer requests.

* **SLA (Service Level Agreement)** defines the target response and resolution times for incoming requests, based on conditions like request type, assignee, priority, or customer segment.
* **Business Schedule** defines your team’s working hours and holidays, ensuring SLA timers are only active during those periods.

Together, these settings allow ClearFeed to track performance against SLAs accurately, send timely reminders, and highlight any breaches—helping your team stay responsive and accountable to customer expectations.

You can customize SLA policies and business hours for each [Collection](/clearfeed-help-center/clearfeed-helpdesk/collections), and monitor your team's performance through curated metrics available in the [Insights](/clearfeed-help-center/clearfeed-helpdesk/insights) section.

To access and customize Business Schedule & SLA, go to the ClearFeed web app, click on *More* in the left navigation bar, and select [**Business Schedule & SLA**](/clearfeed-help-center/clearfeed-helpdesk/sla-management)

<figure><img src="/files/7MgajqSbqmpshfMSl20j" alt="" width="563"><figcaption></figcaption></figure>

## **Business Schedules**

A **Business Schedule** defines your team’s working hours and holidays. SLA targets like First Response Time and Resolution Time are calculated only during these hours. You can create multiple schedules (e.g., for different regions or weekend support) and assign them to specific Collections for precise SLA tracking.

### Key Capabilities

#### **Create a Business Schedule**

* Click on Create Schedule
* Set the Time Zone
* Set Working Days and Working Hours which should be considered for calculation of Support Metrics.
* Add Holidays (While calculating the support metrics, ClearFeed would skip the holidays you have configured)
  * Click Add Holiday inside a schedule
  * Enter the Holiday Name
  * Select the Start and End Dates
  * Both dates are considered as Holiday(s)

<figure><img src="/files/piF8rlWW6Wl3qROi3cQ2" alt="" width="563"><figcaption></figcaption></figure>

#### **Manage Existing Schedules**

* Click **Edit** to update schedule settings
* Use the **3-dot menu** to **Delete** or **Clone** a schedule

{% hint style="warning" %}
Business Schedules that are linked to a Collection cannot be deleted. Please unlink the schedule from the Collection first if you wish to delete it.
{% endhint %}

#### Assign Business Schedule to Collections

To ensure your response time are calculated correctly, you need to link each Collection with the appropriate Business Schedule. This helps determine working hours and holidays used for tracking and reporting.

You can follow the below steps to Assign Business Schedule to Collections:

1. Navigate to More → Business Schedule & SLA from the left navigation bar in the ClearFeed Web App.
2. Click on the ‘Assign Collection’ button
3. Define the Business Schedule for the Collection(s). A Collection can be linked to only one Business Schedule at a time.
4. Click Save to link the Collection with their corresponding Business Schedule as shown.

## **SLA Policies**

SLA (Service Level Agreement) Policies establish target timeframes for your team's response and resolution of support requests. These targets—**First Response Time**, **Resolution Time** and **One Touch Resolution**—are calculated based on the Business Schedule associated with each Collection.

### Core Metrics

* **First Response Time** - The time gap between when the requester raised a request and when the **responder** sends their first response.
  * A **responder** is someone identified as a **Responder** in your Collection (for internal helpdesk, or for customer support with agent based billing model, this typically means users with the **Agent** role; for usage-based/channel-based setups, this can include all users from configured domains). Replies from users who are **not** configured as responders/agents **do not** stop or reset First Response SLA timers.
  * As a result, if an internal team member who is not an Agent/Responder replies in the thread, the ticket will remain in the **Open** state and SLA timers (including breach notifications) will continue to run until a responder/agent replies.
* **Resolution Time** - Resolution time refers to the total time required to Solve a request.
* **One Touch Resolution** - This metric allows you to add the total number of responder responses within which the responder can resolve or close the query.

{% hint style="success" %}

* One Touch Resolution can only be configured based on priority.
* First Response Time and Resolution Time targets can be defined using various Ticket Properties.
  {% endhint %}

{% hint style="warning" %}
**For Internal Helpdesk Only**

* Metrics such as **Number of Requests**, **Response Time**, and **Resolution Time** are calculated **only for tickets**. Messages that are **not converted into tickets** are **not included** in these metrics.
* Clearfeed **by default** calculates the key metrics like **First Response Time, Response Time, Resolution Time and First Resolution Time** from the moment a **request is initially created**, even if a ticket is created later. If your team prefers to calculate these metrics **starting from when a ticket is created** (rather than from request creation), this is supported as an optional configuration. To enable this, please **contact the Clearfeed Support team**. **⚠️ Important Notes About This Configuratio**
  * ✅ **Only affects future tickets**: Switching this setting **does not retroactively update** metrics for existing tickets. Metrics for past tickets will remain based on request creation time.
  * 🚫 **Non-Open Tickets**: If a ticket is created in a **non-open state**, **First Response Time** will **not apply**, and the ticket **won’t be included** in First Response metrics.
  * 🌐 **Account-wide setting**: This change applies at the **account level** — affecting **all collections** and all related metrics (**Response Time**, **Resolution Time**, etc.).
    {% endhint %}

### **Create SLA Policies**

* Click **Create SLA Policy**
* Enter a **Policy Name**
* Configure One Touch Resolution (optional):
  * Toggle the feature on
  * Specify response limits for each priority level
* Set up First Response Time and Resolution Time targets (optional):
  * Toggle the feature on
  * A Default SLA Target will automatically be added as a fallback
  * Click **Add SLA Target** to create condition-based rules
  * Add multiple rules as needed.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>SLA targets cannot be set directly based on keywords in the request title or content. To achieve keyword-based SLA assignment, use <a href="/pages/q1R8ZFtj1XlMLthhswNZ#auto-fill-fields">automations (Auto Fill Fields Action)</a> to extract relevant information (such as category or urgency) into a custom field, and then use that custom field as a condition in your SLA policy. For example, you can configure an automation to detect keywords and auto-populate a 'Category' or 'Urgency' custom field, which can then drive different SLA targets.</p></div>
* Click **Save**

{% hint style="info" %}

* Rules are evaluated sequentially in the order displayed in the Ul, and the SLA Target is assigned based on the first rule that matches.
* SLA will be recalculated whenever a field used in the conditions is modified, and the SLA Target changes as a result.
* SLA settings only apply during business days and hours.
* Read more about how the metrics are calculated [here](/clearfeed-help-center/clearfeed-helpdesk/insights#sla-metrics).
* The SLA can be configured at minutes or hours granularity.
  {% endhint %}

{% hint style="success" %}
**Pro Tip:** If you set up a service level target for the first response at 60 minutes, then you should set up a [workflow](/clearfeed-help-center/clearfeed-helpdesk/workflows) driving an alert of no response to a request at 45 minutes to the triage channel or a shared Slack channel so that the team can be alerted and respond to the same in time.
{% endhint %}

<figure><img src="/files/vMGAIhGhpLHhYljBErQv" alt="" width="563"><figcaption></figcaption></figure>

#### **Manage Existing SLA Policies**

* Click **Edit** to update an SLA policy
* Use the **3-dot menu** to **Delete** or **Clone** an SLA policy

{% hint style="warning" %}
SLA Policy that is linked to a Collection cannot be deleted. Please unlink the SLA Policy from the Collection first if you wish to delete it.
{% endhint %}

#### **Link SLA Policies to Collections**

To enforce the right SLA targets, the Collection needs to be linked with a set of SLA Policies. This ensures request-specific targets are applied during tracking and reporting.

Steps to Assign SLA Policies to Collections:

* Navigate to **More → Business Schedule & SLA** from the left navigation bar in the ClearFeed Web App
* Click on the **Assign Collection** button under the SLA tab
* Select the Collection(s) you want to link with these SLA policies
* Click **Save** to confirm the association

#### Pausing Resolution Time

ClearFeed gives you the option to pause the timer when a ticket is moved to the **Pending** state. This is useful when the team is waiting on a customer or external dependency, and the resolution timeline should be adjusted accordingly.

When this setting is enabled, the time a ticket spends in the **Pending** state is **excluded** from the Resolution Time SLA calculation. This ensures a more accurate measure of your team’s active resolution efforts.

**How to Enable**

1. Go to **Settings** from the left navigation bar on the ClearFeed Web App.
2. Click on the **Additional Settings** tab.
3. Enable the checkbox for **Pause Resolution Time in Pending State**.

<figure><img src="/files/bEUxSXIrIrK63Y9lKUww" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Notes**

* This only affects the **Resolution Time** SLA. First Response Time remains unaffected.
* This setting applies across all Collections in the Account.
* The **On Hold** status is **not** excluded from Resolution Time. Only the **Pending** state can be paused — time a request spends in **On Hold** continues to count toward Resolution Time.
  {% endhint %}


# Assignment Rules

{% hint style="warning" %}
**Availability:** Limiting First-Responder Assignment to Rotation and Round-Robin Assignment are available on Professional and Enterprise plans. See [Pricing](/clearfeed-help-center/pricing-and-billing/pricing) for plan details.
{% endhint %}

Assignment Rules allow you to automatically assign incoming requests based on your support setup and team structure. This automation helps streamline your workflow and ensures requests are directed to the right people quickly. You can configure assignments to:

* Automatically assign requests to the first eligible team member who responds.
* Limit first-responder auto-assignment to eligible members of a selected **Rotation**.
* Distribute requests among the eligible members of a **Rotation** using a round-robin method.
* For integrations with external ticketing systems like Zendesk, Salesforce, or HubSpot, assign both the ClearFeed request and the linked external ticket simultaneously to the first eligible team member who responds.

## **Auto-assign to First Responder (for ClearFeed Requests and Tickets)**

This rule automatically assigns the ClearFeed request to the first eligible team member who takes an action on the request within Slack, such as replying to the initial message or reacting to it. Follow the steps to enable:

* Navigate to the **Collection** where you want to enable or modify assignment rules.
* Open **Settings** for that Collection.
* Select **Assignment Rules**.
* Select the assignment rule: **Auto-assign to the first responder**.
* Optional: Select **Only assign to people from the following rotation**, then choose the Rotation that should be allowed to receive first-responder assignments.
* Click **Save**.

<figure><img src="/files/kIx85YL16Pz6KAuSpiBB" alt="" width="563"><figcaption><p>Setting up auto assignment to first responder</p></figcaption></figure>

### Limit first-responder assignment to a Rotation

Use **Only assign to people from the following rotation** when first-responder assignment should apply only to a specific responder group, such as an on-call team or Slack user group.

* If no Rotation is selected, first-responder auto-assignment works as usual.
* If a Rotation is selected, ClearFeed assigns the request only when the first responder is an eligible member of that Rotation.
* For a Native Rotation, the responder can be eligible even when their shift is not live; ClearFeed does not require a live shift for this first-responder eligibility check.
* For a Slack Group Rotation, ClearFeed uses the current membership of the linked Slack user group.
* If the first responder is not eligible under the selected Rotation, ClearFeed skips auto-assignment and leaves the request unassigned.
* If your account has no Rotations, the option is disabled. Configure Rotations from **Settings → Rotations** first. See [Rotations](/clearfeed-help-center/clearfeed-helpdesk/rotations) for setup details.

## **Auto-assign to First Responder (for Tickets in Zendesk, Salesforce, HubSpot)**

{% hint style="warning" %}
**Note:**

* This section only applicable when **Ticketing** is enabled and has been set to **Zendesk, Salesforce** or **HubSpot** in the Collection settings.
* If the ticket is already assigned to some agent on **Zendesk/HubSpot/Salesforce** at the time of the first response on Slack, no assignment will be performed by ClearFeed.
  {% endhint %}

When this rule is enabled, the first eligible team member who interacts with the request in Slack will be automatically assigned **both** the ClearFeed request and the linked Zendesk, HubSpot or Salesforce ticket. Follow the below steps to enable:

* Navigate to the **Collection** where you want to enable or modify assignment rules.
* Open **Settings** for that Collection.
* Select **Assignment Rules**.
* Select the assignment rule: **Auto-assign to the first responder for ClearFeed requests and external tickets**.
* Optional: Select **Only assign to people from the following rotation**, then choose the Rotation that should be allowed to receive first-responder assignments.
* Click **Save**.

<figure><img src="/files/kTOpS0A9L4gC45RMaFVI" alt="" width="563"><figcaption><p>Setting up assignment to First Responder for ClearFeed requests and external tickets</p></figcaption></figure>

When auto-assignment occurs, ClearFeed sends a private (ephemeral) notification message in Slack to the assignee. This message is only visible to the assigned team member and is not visible to customers. you can also just dismiss and ignore the message but if you do not wish to receive these auto-assignment notifications, you can:

* Turn off the auto-assignment feature in your Collection's Assignment Rules settings (only advised if you are using an external system and ClearFeed is not being used to assign requests)
* Select 'Don't show again' to suppress future pop-ups for yourself.

## **Round Robin Assignment**

With Round Robin, ClearFeed picks the next assignee from the eligible members of a **Rotation**. A rotation defines who is on-call and how availability is tracked. See [Rotations](/clearfeed-help-center/clearfeed-helpdesk/rotations) for the full explanation, including how to create one.

Round Robin is different from limiting first-responder assignment to a Rotation: Round Robin chooses the assignee automatically from the Rotation, while first-responder assignment still depends on a team member responding in Slack and only checks that the responder is a member of the selected Rotation.

### Setting Up Round Robin Assignment

* Navigate to the **Collection** where you want to enable or modify assignment rules.
* Open **Settings** for that Collection.
* Select **Assignment Rules**.
* Select the assignment rule: **Round Robin Assignment**.
* Select the desired **Rotation** from the dropdown menu.
* Optionally **Enable Shared Rotation**: When enabled, the round-robin order is shared across all collections that use this rotation. This prevents the same person from receiving back-to-back assignments from different collections.
* Click **Save**.

<figure><img src="/files/HULui5NIEgyO349FOgE3" alt="" width="563"><figcaption><p>Setting up Round Robin Assignment</p></figcaption></figure>

{% hint style="info" %}
**Important Notes for Round Robin:**

* **Internal Helpdesk:** In an Internal Helpdesk Collection, only users designated as agents within ClearFeed are assigned tickets via Round Robin, even if the rotation contains non-agents.
* **Self-Assignment Skip:** If an agent creates a request and is up next in the round-robin sequence, they are skipped and the request goes to the next eligible member.
  {% endhint %}

## Assign to Customer Owner

If your account is on the **External Product Edition** and uses the **Customer-Centric Inbox**, you can configure requests and tickets to be automatically assigned to the **Customer Owner**.

<figure><img src="/files/BzWCuGslIsKtZd9Y3qIj" alt="" width="563"><figcaption></figcaption></figure>

### How it works

* Each customer has a **Customer Owner**:
  * Explicitly set on the customer, or
  * Inherited from the collection the customer belongs to
* When a new request or ticket is created, ClearFeed assigns it directly to the Customer Owner

This policy ensures requests are handled by the person most familiar with the customer.

## Assign to Customer Owner with Round-Robin Fallback

This policy is available if your account is on the **External Product Edition** and configured with the **Customer-Centric Inbox**.

It extends the *Assign to Customer Owner* policy by adding an availability-aware fallback.

<figure><img src="/files/HKvgFiZEVUD9FHIcDYd5" alt="" width="563"><figcaption></figcaption></figure>

### How it works

1. When a new request or ticket is created, ClearFeed identifies the **Customer Owner** (explicit or inherited).
2. ClearFeed checks the owner’s availability using their **Slack status** based on the linked rotation's unavailability statuses.
3. If the Customer Owner is **available**, the request is assigned to them.
4. If the Customer Owner is **out of office**, ClearFeed picks an eligible member from the configured fallback Rotation.

This ensures requests are never blocked due to unavailability while still prioritizing customer ownership.

## Triggering Reassignment via Automations

You can use the **Reassign** automation action to reassign requests/tickets based on the collection's assignment rules. This is useful when customers re-open tickets or post new messages and the current assignee is no longer available, has been removed from the workspace, or no longer matches the configured assignment rule. See [Automation Actions > Reassign](/clearfeed-help-center/clearfeed-helpdesk/automations/automation-actions#reassign) for details.

## FAQs

1. **If users are marked as unavailable on Slack, how are requests assigned on Round Robin Assignment?**\
   **Answer:** If a user's Slack status matches one of the rotation's unavailability statuses, they're skipped and the request goes to the next eligible member of the rotation.
2. **What if nobody in the rotation is eligible when a request comes in?**\
   **Answer:** No round-robin assignment happens for that request. For a Native Rotation, this means no shift is active; for a Slack Group Rotation, it means the linked group is empty or every member is on an unavailability status. Make sure your rotation covers the hours you expect requests to be auto-assigned.
3. **What happens if the first responder is not in the selected Rotation?**\
   **Answer:** ClearFeed skips first-responder auto-assignment for that request. If a subsequent responder is an eligible member of the selected Rotation (and the request is still unassigned), the assignee is set to them. If another assignment rule matches or manual assignment occurs, that takes precedence.
4. **For first-responder assignment, does the selected Rotation need to have a live shift?**\
   **Answer:** No. For first-responder auto-assignment, the selected Rotation works as an eligibility allowlist. The responder must be eligible under the Rotation, but their shift does not need to be live.

See [Rotations](/clearfeed-help-center/clearfeed-helpdesk/rotations#faqs) for FAQs about rotations themselves (shifts, Slack groups, sharing rotations across collections, migration).


# Rotations

Reusable responder groups used by Assignment Rules.

A **Rotation** is a reusable definition of who is on-call or who belongs to a responder group. You define a rotation once, then pick it from any Collection's Assignment Rules. Rotations can be used to [distribute requests with Round Robin](/clearfeed-help-center/clearfeed-helpdesk/assignment-rules#round-robin-assignment) or to [limit first-responder auto-assignment](/clearfeed-help-center/clearfeed-helpdesk/assignment-rules#limit-first-responder-assignment-to-a-rotation) to eligible members of the selected Rotation.

{% hint style="warning" %}
**Availability:** Rotations are used by Round-Robin Assignment and for limiting First-Responder Assignment to Rotation, which are available on Professional and Enterprise plans. See [Pricing](/clearfeed-help-center/pricing-and-billing/pricing) for plan details.
{% endhint %}

There are two types of rotations: **Native** and **Slack Group**.

## Native Rotation

A Native Rotation is made up of one or more **Shifts**. Each shift has:

* **Days of the week** the shift runs
* **Time window**: Start and End time
* **Timezone**
* **Members**: The agents active during that shift

A shift is "active" when the current time falls inside its window. For Round Robin assignment, only members of active shifts are eligible for assignment.

If no shift is active when a request comes in, no member is eligible. Make sure your shifts cover the hours you expect requests to be auto-assigned.

When a Native Rotation is used only to limit first-responder auto-assignment, ClearFeed checks whether the first responder is eligible under the Rotation. The responder's shift does not need to be live for this eligibility check.

## Slack Group Rotation

A Slack Group Rotation is backed by a Slack user group. The members of the rotation are the current members of that group, and ClearFeed always honors the live membership at the time of assignment.

{% hint style="info" %}
If you need to create a Slack user group first, [follow this guide](https://slack.com/intl/en-in/help/articles/212906697-Create-a-user-group).
{% endhint %}

## Unavailability Statuses

Both types of rotations carry a list of **Unavailability Statuses**: Slack statuses (like *OOO* or *On Holiday*) that mark a member as unavailable for availability-aware assignment rules, such as Round Robin. Members with a matching Slack status are skipped in those assignment flows, even if they would otherwise be eligible. For first-responder Rotation limits, the selected Rotation narrows who can be considered, but Native shift liveness is not required.

**Default Unavailability Statuses**

If a user's Slack status matches any of these (case-insensitive), ClearFeed skips them:

* Out of Office
* Off Sick
* On Holiday
* DND
* OOO

**Custom Unavailability Statuses**

You can also define your own custom Slack statuses that ClearFeed should treat as unavailable for availability-aware assignments, for example:

* *In a Meeting*
* *Traveling*

## Creating a Rotation

Rotations are managed from the **Rotations** section in the ClearFeed web app. To create one:

1. Open **Rotations** from the side menu, then click **New Rotation**.
2. Choose the rotation type:
   * **Native**: Define your own shifts. For each shift, configure a shift name, days of the week, start and end time (24-hour format), timezone, and the members on-call for the shift.
   * **Slack Group**: Pick the Slack user group that backs the rotation. ClearFeed uses the live membership of that group at the time of assignment.
3. Configure the rotation's **Unavailability Statuses** (see above).
4. Click **Save**.

Once created, the rotation can be picked from the **Round Robin Assignment** dropdown, or from **Only assign to people from the following rotation** when using first-responder auto-assignment, in any Collection's Assignment Rules. The rotation page also shows which collections use the rotation and which members are **On Now**.

<figure><img src="/files/TtBPNXuSRE1B1D2F6H9L" alt=""><figcaption></figcaption></figure>

## Set Custom Unavailability Statuses

Unavailability statuses live on the rotation, so the same list applies to every collection using that rotation for availability-aware assignment rules.

1. Go to **Rotations** and open the rotation you want to update.
2. In the **Unavailability Statuses** section, add new statuses or remove default ones that don't apply to your team.
3. Click **Save**.

## FAQs

1. **Can the same rotation be used across multiple collections?**\
   **Answer:** Yes. Any collection's Assignment Rules can point at the same rotation. Turn on **Enable Shared Rotation** in the collection's Round Robin setup to share the round-robin order across those collections, so the same person isn't picked back-to-back from different collections. This shared-order setting affects Round Robin assignment, not first-responder eligibility checks.
2. **Can a Rotation be used to limit first-responder auto-assignment?**\
   **Answer:** Yes. In a Collection's Assignment Rules, choose a first-responder assignment rule, enable **Only assign to people from the following rotation**, and select the Rotation. ClearFeed will assign only if the first responder is eligible under that Rotation.
3. **What happens if a Slack Group and its members change?**\
   **Answer:** For a Slack Group Rotation, if the Slack Group is renamed or its members change, we honor the new group members at the time of assignment.
4. **What happens to my existing Slack-group-based Round Robin setup?**\
   **Answer:** Collections that previously used a Slack group directly are migrated to a Slack Group Rotation with the same members.


# Team Assignment

Enable Assignment of requests & tickets to Slack Groups

Team Assignment enables you to assign requests and ClearFeed tickets to groups of users, known as Teams. These Teams are essentially Slack Groups within your Slack workspace.

{% hint style="info" %}
It is mandatory to set up Slack Groups in your workspace, as each Team within ClearFeed is directly mapped to a Slack Group. Learn more about Slack User Groups [here](https://slack.com/intl/en-in/help/articles/212906697-Create-a-user-group).
{% endhint %}

## Enable Team Assignment

Team Assignment can be accessed under Settings > [Users and Teams](https://web.clearfeed.app/settings/users).

1. Scroll down and find Team Assignment
2. Toggle Team Assignment on
3. Select your relevant Slack Groups to be considered for assignment

<figure><img src="/files/buFhGZp3N746SxmnLB3A" alt="" width="563"><figcaption><p>Enabling Team Assignment in ClearFeed</p></figcaption></figure>

## Assign from the Triage channel

1. For any request on the triage channel, click on **Edit**
2. Under the **Select Team** option, choose the team to assign this request
3. Members of the Slack user group will get a notification from ClearFeed about the request being assigned

<figure><img src="/files/mYhkfkrr9cFh7gjmt7Jh" alt="" width="563"><figcaption></figcaption></figure>

## Assign from Web Dashboard

1. On the ClearFeed web dashboard, you will see a column for **Assigned Team**
2. Click on the same and select the relevant team from the dropdown
3. Members of the Slack user group will get a notification from ClearFeed about the request being assigned

<figure><img src="/files/pL2manTVOextIcct7yZb" alt="" width="563"><figcaption></figcaption></figure>

## FAQs

1. **Can we use the Assigned Team field in Forms?**\
   **Answers:** Yes, the Assigned Team field will be available in ClearFeed Ticket Forms. Users can select a Team while creating the ticket or change the Assigned Team after the ticket is created.\
   Read more about [Forms](/clearfeed-help-center/clearfeed-helpdesk/forms).
2. **Can we use the Assigned Team field in ClearFeed Automations?**\
   **Answers:** Yes - the Assigned Team field is supported as a standard field under Automations where you can use it under Triggers, Conditions, and Actions.

   * Trigger: Whenever the Assigned Team is updated -> perform an Automation
   * Conditions: Whenever the Assigned Team is set to a particular value -> execute the Automation
   * Actions: Whenever the trigger and conditions are met -> set the Assigned Team to a particular value

   Read more about [Automations](/clearfeed-help-center/clearfeed-helpdesk/automations).
3. **What happens if Team Assignment is disabled?**\
   **Answers:** If Team Assignment is disabled, you can expect the following:
   * Automations using the Assigned Team field will stop working.
   * Forms will no longer contain the Assigned Team field under the create and edit action.


# CSAT Survey

How to setup and send ClearFeed CSAT Surveys

## ClearFeed CSAT

ClearFeed currently supports automatic Slack-Native CSATs for either:

* **All Requests**
* **Only Tickets** (Only for requests which have been converted to a ticket)

{% hint style="info" %}
If your account is on the *Internal Helpdesk* product edition - the CSAT surveys can only be sent on tickets and not on All Requests.
{% endhint %}

When the CSAT survey is enabled and the request or Ticket moves to the **`Solved`** state (the terminal state for a specific ticketing integration), a CSAT Survey message will be sent to the request channel visible to the requester.

### CSAT Type Options

ClearFeed now allows you to configure the type of CSAT survey:

* **Emoji Rating (5-Point Survey):** Requesters can rate support on a 5-point scale, where 5 is represented by the left-most emoji (😊) and 1 by the right-most emoji (😠). This option is ideal if you want more granular feedback on the support experience.

  <figure><img src="/files/rdbWKzxq8cBu8xRQcOwr" alt=""><figcaption><p>An example of CSAT Survey Message</p></figcaption></figure>
* **Thumbs Up/Down Rating (2-Point Survey):** Requesters can simply give a 👍 or 👎 rating for the support received. This is a lightweight option suited for quick feedback collection.

You can select the CSAT type while configuring the CSAT in the Collection Settings.

### Additional Configuration Options

* **Delay Before Sending Survey:** Add a wait time (e.g., 1 hour or 24 hours) between when the request is marked as solved and when the CSAT survey is sent. This ensures the user has time to process the resolution before being prompted for feedback.
* **Customize the CSAT Survey Question:** By default, the CSAT question is "How would you rate the support received?" — but you can modify it to match your support team's voice.
* **Request Additional Comments Based on Rating:** You can optionally prompt requesters for additional comments based on their CSAT rating.
  * For Emoji Ratings: typically configured for low scores (e.g., 1–3 out of 5).
  * For Thumbs Up/Down Ratings: configurable for 👎, or both.
* **Sync CSAT with external tickets** When enabled, CSAT survey responses will be synced to external ticketing system. Currently, only Zendesk is supported. Learn more about [this](/clearfeed-help-center/integrations/zendesk#sync-csat-survey-to-zendesk-tickets)

### Who can respond?

Any user on the request channel who is not set as a "Responder" in ClearFeed will be able to respond. In other words, any non-responder on the request channel can add and respond to the ClearFeed CSAT Survey.

(Not sure who are responders for your Collections - check out [this ](/clearfeed-help-center/clearfeed-helpdesk/collections)guide to understand the responder settings).

## **Configure CSAT**

To configure Customer Satisfaction (CSAT) surveys for your Collection:

1. Access the desired Collection
2. Select Collection **Settings**
3. Locate the **CSAT Settings** section
4. Enable the CSAT feature by toggling ON `Enable CSAT survey`
5. Define survey scope (External Product Edition accounts only):
   * All Requests
   * Only Tickets
6. Select your preferred **CSAT Type**:
   * Emoji Rating (5-point scale)
   * Thumbs Up/Down Rating (2-point scale)
7. Set a Delay (optional)
8. Customize the CSAT Survey Question text (optional)
9. Configure specific Additional Comments prompts based on rating values (optional)

<figure><img src="/files/1TbLHOcaEo0lsmB38wOK" alt="" width="375"><figcaption></figcaption></figure>

### View Results

CSAT scores and comments can be viewed against a request via the Collections Dashboard.

* To view this, head over to the collection with CSAT enabled and choose `CSAT` from `Modify Column` to add the CSAT score as a viewable column.
* You can open an individual request to view the specific CSAT comments.

{% hint style="info" %}
CSAT Comments are not visible on the request view if no triage channel is configured for the Collection. Learn how to configure a triage channel [here](/clearfeed-help-center/clearfeed-helpdesk/triage-channel-setup).
{% endhint %}

This score and comments are also available while viewing details of the request by selecting the request from the dashboard.

<figure><img src="/files/G1g62waQ60D1Y4VefDOZ" alt="" width="563"><figcaption><p>CSAT Rating and Comment visible in the request view</p></figcaption></figure>


# Announcements

Easily broadcast your message across multiple Slack channels with ClearFeed

Announcements are broadcast messages that you can send across multiple Slack channels at once. The following are common use cases for sending announcements:

* Sending release notes to multiple customer channels at once.
* Downtime notices for all or a particular subset of customers.
* General updates to your customers or employees.

{% hint style="success" %}
**Prerequisites:**

1. Create a dedicated Slack channel where your draft announcements will be prepared. eg. #clearfeed-announcements
2. The channel can be a private or a public channel
3. Add ClearFeed bot to this channel.
   * Use the command `/invite @clearfeed` to add the bot to the channel
   * Do not mark that channel as "Request Channel" or "Triage Channel"
     {% endhint %}

## Sending Announcements

### Preparing the Announcement in Slack

1. Navigate to the channel where you will be drafting your announcements.
2. Prepare and send the message you want to broadcast
   * Attach any necessary files directly to this Slack message. Check [this section](#announcement-delivery-behavior) to see how the attached files will be sent.
   * If any URLs are mentioned in an announcement message, you can enable/disable the preview for these links.
3. Click on the three-dot menu (Slack More Actions menu) by hovering over the message.
4. Select `ClearFeed Actions` from the dropdown.
   * If it's not visible, click `More message shortcuts` and pick `ClearFeed Actions`.
5. Click on `Create an Announcement`.
6. Provide a title. This is only visible in ClearFeed, not in Slack.
7. Click on `Save as Draft`, followed by the `Click here` link.
8. You'll be taken to the ClearFeed web app where you can finalize and send your announcement.

<figure><img src="/files/4CpNQJfm3nJwuSSY7rGa" alt="" width="563"><figcaption><p>Preparing the announcement from Slack</p></figcaption></figure>

### Sending from ClearFeed Web

1. Go to <https://web.clearfeed.app/announcements> -> Draft -> Click on the Edit button against your announcement.
2. **Preview Web Links:** Enable to show previews for standard web links such as articles, documentation, or websites.
3. **Preview Media Links:** Enable to show rich previews for media content such as videos and music.
4. **Select Recipients**

   You can choose announcement recipients using either or both of these methods:

   **By Collections or Channels**

   * Choose **Slack channels** or entire **Collections** to send the announcement. Announcements cannot be sent to unmonitored or inactive channels.
   * Use the search bar to quickly locate them.
   * You can select one or multiple recipients.

   **By Customer Filters**

   * Filter by **Customer Owner** or **Custom Fields** to target specific customer segments. Selecting a set of customers shows all the Slack channels linked to those customers.
   * Supported custom field types: **Select**, **Multi-Select**, **Date**, **Number**, and **User Select**.
   * You can apply multiple filters to broaden your selection. Each new filter adds matching customers to your list (results are combined, not narrowed):
     1. Apply a filter (e.g., Customer Owner = "John Doe")
     2. Select some or all customers matching the filter
     3. Apply another filter (e.g., "Plan Type" = "Enterprise")
     4. Select additional customers from the new results

   You can schedule the announcement when ready, or clear your selections to start over.

   <figure><img src="/files/kccm0XHHzIuna7zDGLAI" alt="" width="563"><figcaption><p>Filtering recipients by custom fields</p></figcaption></figure>
5. Optionally, test the announcement on a Slack channel to preview how it looks.
6. Choose the Sender :
   * **Channel Owner**: Announcement appears as sent by the Slack user listed as the channel owner.
     * You can check the channel owners in **Collection Settings** for each channel
     * In the channel owner is deactivated, the message is sent as **ClearFeed**.
   * **Customer Owner:** Announcements are displayed as sent by the Slack user set as the Customer Owner. This option is available only when **Customer Centric Inbox** is enabled for your account. To use this capability, ensure a Customer Owner is assigned to the Customer record. Learn more about Customer Centric Inbox [here](/clearfeed-help-center/clearfeed-helpdesk/collections/customer-collections).
   * **ClearFeed**: Posts as the ClearFeed Bot in one message with attachments.
     * Bot name and icon cannot be changed even if you have done [Bot whitelisting](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels#bot-whitelisting)
   * **User**: Posts on behalf of a selected user.
     * Choosing yourself requires Slack authentication.
     * Choosing another user sends via ClearFeed Bot but displays their name and profile picture.
7. Send or Schedule :
   * **Send Now**: Delivers immediately.
   * **Schedule for Later**: Pick a date and time for delivery. The scheduled time uses the timezone configured for your account (visible under your **Default Schedule** in [Business Schedule](https://web.clearfeed.app/business-schedules)).

<figure><img src="/files/BjR86pHyboVu4j2Fmh27" alt="" width="563"><figcaption><p>Sending the announcement</p></figcaption></figure>

### Announcement Delivery Behavior

How an announcement is delivered depends on:

* Who it is configured to be sent as
* Whether the user has connected Slack
* Whether the user is a member of the target channel

#### How Announcements Are Posted

| Sender Selected      | Slack Connected? | In Channel? | How Message Appears in Slack                 | Collapse Supported? |
| -------------------- | ---------------- | ----------- | -------------------------------------------- | ------------------- |
| **ClearFeed Bot**    | N/A              | N/A         | Posted as ClearFeed bot                      | ✅ Yes               |
| **Specific User**    | ✅ Yes            | ✅ Yes       | Posted as that user                          | ❌ No                |
| **Specific User**    | ✅ Yes            | ❌ No        | Posted by ClearFeed, shown as that user      | ✅ Yes               |
| **Specific User**    | ❌ No             | N/A         | Posted by ClearFeed, shown as that user      | ✅ Yes               |
| **Customer Owner**\* | N/A              | N/A         | Posted by ClearFeed, shown as customer owner | ✅ Yes               |

\* *Customer Owner option is available only if Customer Inbox is enabled for your account.*

{% hint style="info" %}

#### Important Notes

* To post directly as a user, the user must:
  * Connect Slack (provide authorization), and
  * Be a member of the target Slack channel.
* If either condition is not met, the announcement is posted by ClearFeed but displayed as the selected user.
  {% endhint %}

### Do Announcements Create Requests or Tickets?

**Announcement messages themselves do NOT create requests or tickets.** Announcements are one-way broadcast messages that are delivered to Slack channels without generating a ClearFeed request or ticket.

However, **customer replies to announcements may create requests**:

* When customers respond to an announcement in a Slack channel thread, those responses are captured as ClearFeed requests
* These requests can then be converted into tickets based on the collection's settings
* A toggle control (**Create requests from responder threads**) allows you to manage whether announcement replies should generate requests

{% hint style="info" %}
**Note:** Simple reactions like "cool," "that's great," or similar low-effort responses are filtered by AI as **ignorable messages** and do not create requests. Only meaningful customer engagement triggers request creation. Learn more about [how replies and ignorable messages work](/clearfeed-help-center/how-it-works/creating-requests/from-slack-channels#how-replies-work).
{% endhint %}

## Expand/Collapse Behavior of Announcements

When an announcement is posted as a ClearFeed bot, an Collapse/Expand option maybe provided on the announcement message. The details of the behavior are as follows:

* **Collapsible Announcements:** Only announcements posted as the **ClearFeed bot** support the collapse/expand feature. Messages posted as a regular user do not have this capability in Slack.
* **Automatic Collapsing**: ClearFeed also automatically collapses such announcement messages (that are posted as the ClearFeed bot) after 2 days to reduce the amount of visual noise on the channels. There is no option to turn this behavior off.
* **Channel-Wide State:** The expand/collapse state is shared across the channel. When any user clicks the expand or collapse button, or the announcement is collapsed by ClearFeed automatically - the change is reflected for all members of that channel.
* **Manual Control:** Users can manually collapse or expand announcements posted by the ClearFeed bot at any time.

Note that when announcement are posted as a user, some channels may still see posts by the ClearFeed bot, in case the user posting the announcement is not a member of all those channels. So the Expand/Collapse behavior may differ across channels in such cases.

## Editing Announcements

* Go to the source Slack channel to edit the parent thread of the announcement. You can also access the source Slack message from the Sent Announcement.
* Go back to the webapp and click on the "Re-Sync" button for that announcement
* The edited message in the source channel will be reflected in the sent messages
* Note that we can't change the attachments sent during the announcement

## Managing Announcements

You can view saved drafts and view sent announcements from the ClearFeed App.

* Navigate to [Announcements](https://web.clearfeed.app/announcements) on the ClearFeed web app
* Here, you'll find the following tabs:
  * **All**: Provides a list of all announcements irrespective of their state.
  * **Draft**: Lists all drafted announcements that are yet to be sent or scheduled.
  * **Scheduled**: Displays announcements scheduled for future broadcasts.
  * **Sent**: Lists all successfully broadcasted announcements.
* Post sending an announcement they can be edited by clicking on the "Re-Sync" button
* You can also `Delete` an announcement completely.

<figure><img src="/files/OjP5NKsAIFho7ihwtLpC" alt="" width="563"><figcaption><p>Announcements dashboard on ClearFeed</p></figcaption></figure>

## **Interaction Metrics**

You can view the Interaction Metrics of an Announcement by going to the Announcements page and clicking on the Anoouncement sent.

### ​Top Level Metrics

<figure><img src="/files/BrFbKa6HyGrvDAulhkhI" alt="" width="563"><figcaption></figcaption></figure>

* **Channels Reached:** Number of channels the announcement reached.
* **Reactions:** Emoji reactions from customers.
* **Replies:** Number of customer replies to the announcement. Click the link to open the corresponding Slack thread and view the conversation.

You can also view the number of reactions from each channel where the announcement was sent, along with the top reactions and the users who reacted. You can sort channels by reactions or replies, making it easy to identify which channels are engaging with the announcement.

<figure><img src="/files/p0PNcPrhW9RLobPHMete" alt="" width="563"><figcaption></figcaption></figure>

## FAQs

1. **Can we edit an announcement after it has been sent?**\
   **Answer:** Yes, you can edit the content of a sent announcement by following the steps mentioned [here](#editing-announcements).
2. **Why can't I see the option to send an announcement from a Slack Channel?**\
   **Answer:** There could be multiple reasons why you cannot see the option to send announcements:
   * ClearFeed bot might not be present in the channel where you're trying to create an announcement.
   * Even if the ClearFeed bot is present, if the channel is a Triage or Request Channel (often indicated by the channel name or settings), the announcement feature will be disabled. You need to use a separate, regular channel for announcements.
3. **How can I set up a channel to create announcements using ClearFeed?**\
   **Answer:** To create announcements, follow these steps:
   * Create a new Slack channel (e.g., `#announcements`) that is not a Request or Triage Channel.
   * Add the ClearFeed bot to this channel using `/invite` `@ClearFeed`.
   * Post your message in this channel and then use the ClearFeed actions to convert it into an announcement following the steps given [here](#sending-announcements).
4. **How can I select a specific set of customers to send an announcement to?**\
   **Answer:** You can target specific customers using either or both methods:
   * **By Collections or Channels:** Select entire Collections or individual Slack channels
   * **By Filtering on Customer Fields:** Filter by Customer Owner or Custom Fields (like plan type, region, or lifecycle stage). Selecting customers shows all linked Slack channels.


# Welcome Messages

Create a custom Welcome Message that automatically greets new customers when they join a channel. You have 3 options for configuring your welcome message.

* **To New Request Channels** - The Welcome message will be sent to the request channel whenever a new channel is added to a collection.
* **To New members of Request Channels** - The Welcome message will be sent as an ephemeral message to every new user added to the request channel.
* **Both -** The Welcome message will be sent to the request channel whenever a new channel is added to a collection. It will also be sent as an ephemeral message to every new user added to the request channel.

{% hint style="info" %}
Welcome Message is only visible to the non-responders
{% endhint %}

<figure><img src="/files/zaRM5GWsFobmGxrdgBj7" alt="" width="563"><figcaption></figcaption></figure>


# Digests

Learn how can your team stay on top of unanswered tickets

## Digests

ClearFeed provides comprehensive digests that help you and your team stay informed about open tickets, performance metrics, and activity trends. These digests are delivered via Slack and email at different intervals to provide timely information.

### Types of Digests

ClearFeed offers several types of digests to meet different needs:

#### Triage Digests

Triage digests help team members track open and unsolved requests in the Triage.

**Daily Triage Digest -** Daily digests serve as reminders for requests or tickets *Open* for the last 7 days and is directly sent to your triage channel at 9:00 AM (local time), serving as an essential reminder system for your team to address pending requests awaiting response.

<figure><img src="/files/BQGx16ZGkXaBf0CIYkz5" alt="" width="563"><figcaption><p>Daily digests on the Triage channel</p></figcaption></figure>

* Clicking on **Acknowledge** lets the members of the triage channel know who has acknowledged the digest.
* Clicking on the \[number] Open requests will take you to the ClearFeed web app where these requests will be seen.

<figure><img src="/files/4dVdRSvBAdUNkbFa27Ja" alt="" width="563"><figcaption></figcaption></figure>

**Weekly Triage Digest -** Weekly digests serve as reminders for requests and tickets that have been *Unsolved* for a period exceeding 7 days over the last 30 days until the most recent full week i.e. unresolved requests from 30 days ago to 7 days ago

* Unsolved refers to requests/tickets that are in the following state: *Open, In Progress, Pending, On Hold.*
* Notifications are sent weekly on Monday at 9.00 AM (local time) on the triage channel.

<figure><img src="/files/haYEYVMc8vulH8mJIqOd" alt="" width="563"><figcaption></figcaption></figure>

* Clicking on the \[number] requests will take you to the All Requests view on the ClearFeed web app with the filters showing the unsolved requests.

<figure><img src="/files/WDmoKPN1lsyWZ3pod4C4" alt="" width="563"><figcaption></figcaption></figure>

#### Personal Digests

Personal digests help individual responders track their assigned tasks.

**Personal Daily Digest -** The Personal Daily Digest arrives as a DM through ClearFeed App at 9:00 AM each day, providing a focused list of requests assigned specifically to you that remain in 'Open' state from the past week, ensuring you never lose track of conversations awaiting your response.

**Personal Weekly Digest -** You'll receive a Personal Weekly Digest, every Monday at 9:00 AM as a DM through the ClearFeed App that highlights requests assigned to you and have remained unsolved for the period between 14 and 7 days ago, helping you identify and prioritize older tasks that require your attention.

<figure><img src="/files/YGrdqoKIDwIDDJvebyRe" alt="" width="563"><figcaption><p>Here's how the notification appears on the ClearFeed App</p></figcaption></figure>

<details>

<summary>Configuring Personal Digest</summary>

You can configure your Personal Digest via the ClearFeed App on Slack. Click [here ](/clearfeed-help-center/account-setup/personal-preferences#manage-personal-notifications-via-slack)for detailed instructions.

</details>

#### Account Digests

Account Digests concisely summarizes your ClearFeed workspace's activity over the past week.

* It includes insights such as SLA performance, activity (number of requests submitted, unresolved requests, active channels), and AI usage (e.g., GPT-powered requests).
* Additionally, it highlights key trends, such as changes in activity levels, and monitors channels being tracked.

**Example Weekly Digest**

> **Response Time Summary**
>
> 📌 0 out of 34 requests (0%) breached the First Response SLA.
>
> 📌 16 mins was the Average First Response Time for the week (49.7% down from last week).
>
> 📌 1 hour 11 mins was the Average Response Time for the week (81% down from last week).
>
> **Activity Summary**
>
> 📌 Your customers submitted 34 requests last week (183.3% up from last week).
>
> 📌 5 of 34 requests are unsolved from this week.
>
> 📌 There were 3 ClearFeed tickets created from these requests.
>
> 📌 They were active on Slack and Email.
>
> 📌 They made 31 requests on Slack and 3 requests on non-Slack mediums.
>
> 📌 Most active channels for this week were clearfeed-x, support-email-channel and clearfeed-y.
>
> **GPT Powered Answers Summary**
>
> 📌 There were 38 GPT requests made last week (123.5% up from last week) .
>
> **Admin Summary**
>
> 📌 There are total 406 Slack channels monitored on your account.

<details>

<summary>Configuring Account Digest</summary>

Account Digests are delivered every Monday to your email and a designated Slack channel based on your preferences:

* Individual users can enable or disable Email Digests through their personal settings. [Learn how to configure email digests](/clearfeed-help-center/account-setup/personal-preferences#digests-on-email)
* Account Admins can specify which Slack channel receives the Digest for the entire organization. To receive your weekly digest in Slack, follow these steps:
  * Go to [Additional Settings](https://web.clearfeed.app/settings/additional-settings) on the ClearFeed Dashboard
  * Under Notifications, select the channel where the digests should be sent
    * To send the digests to a private channel, ensure the ClearFeed bot is added to the channel
  * Hit Save

<figure><img src="/files/px40lFjLNZerwPubSEig" alt="" width="563"><figcaption></figcaption></figure>

</details>


# Notifications

Get notified for updates on tickets within the ClearFeed App

## In-App Notifications

**In-App Notifications** provide important real-time alerts right inside ClearFeed, helping you prioritize your next action and respond faster.

#### How notifications appear

When a notification is triggered:

* It appears as a **banner in the top-right corner** of the app for immediate visibility
* The notification is also added to the **Notification Center**, where it is stored for later review

![](/files/McGHh4fBvv97PfPMOH2y)

With In-App Notifications, you will no longer have to rely on your email notifications to stay updated on the latest activities in your account.

In-app notifications include the following:

<table><thead><tr><th width="234.6666259765625">Notification</th><th>Definition</th></tr></thead><tbody><tr><td>New request created</td><td>This is triggered when a request is created. Applicable only for Product Edition as External Helpdesk.</td></tr><tr><td>New ticket created</td><td>This is triggered when a request is converted to a ticket. reated. Applicable only for Product Edition as Internal Helpdesk.</td></tr><tr><td>New message received</td><td><p>For internal edition, this notification will be sent only for new messages on tickets. Whereas for external edition, this notification will be sent for new messages on requests. You will receive a notification for new message received for Requests/Tickets:</p><ul><li>Assigned to you</li><li>You've responded to</li><li>You're tagged in</li></ul></td></tr></tbody></table>

You can set your notification preferences or mark all your notifications as read or archive notifications using the icons at the top right corner of the Notification Center.

**Notification preferences**

You can choose to receive alerts for the activities that are important to you. Your agents can set up their own preferences as well. You can customize your notification experience through two types of preferences:

#### Global Preferences

* Disable/enable in-app notifications globally if desired

#### Workflow Preferences

* Enable or disable notifications for each workflow type (new message, new ticket, new request)

To change your notification preferences,

* Click on the **Preferences** icon at the top right corner of the Notification Center.
* Enable the notifications that are relevant to you against each type of notification.

{% hint style="warning" %}
Notifications are initially disabled. You'll need to enable them to start receiving notifications.
{% endhint %}

## Browser Notifications (WebApp)

In addition to in-app notifications, ClearFeed also supports **browser notifications** on the web app.

* When you’re actively using ClearFeed in a browser tab, you’ll see in-app notifications inside the app.
* When ClearFeed is open in another tab or window (or running in the background), you’ll receive browser notifications instead—so you don’t miss important updates.

<figure><img src="/files/SzDaeqmpo6bVnf9S0RJf" alt="" width="495"><figcaption></figcaption></figure>

### Enabling or disabling browser notifications

* When you enable in-app notifications, your browser will ask for permission to allow ClearFeed to send notifications.
* If you **allow** notifications, ClearFeed can show browser notifications when you’re not on the active tab.
* If you **block** notifications, ClearFeed will not send browser notifications.

You can change this anytime from your **browser’s site settings**:

* Disable notifications if you don’t want to receive them anymore.
* Re-enable notifications later if you want to start receiving them again.


# Merging & Split

## Merging & Split

Handling support requests in Slack can quickly become overwhelming. Customers often:

* Send messages in rapid bursts
* Change topics mid-thread
* Follow up without clear context

This fragmentation makes it difficult for support teams to track issues, prioritize responses, and maintain continuity in conversations. To tackle this issue - ClearFeed offers powerful primitives to autmatically merge messages in Slack using AI and also enables users to manually Split and Merge requests to manage customer conversations better.

## Automatic Merging

ClearFeed offers **two powerful automatic merging capabilities** to merge related adjacent conversations:

* **Rule-Based Merging**
* **AI-Based Merging**

Note that whether automatic merging of messages is enabled for your account depends on the product edition and ticketing configuration as [listed here](#status).

### Rule-Based Automatic Merging

{% hint style="warning" %}
**Important:** Rule-Based Merging is not the default and (unless specifically opted-in) applies to some Slack Channel Collections created before March, 2025
{% endhint %}

Rule-Based Merging uses a set of deterministic rules to decide when consecutive messages should be grouped into a single request. This ensures related updates stay together, improving context and reducing clutter. Messages are grouped if they meet these conditions:

* **Same Author**: Consecutive messages from the same person within a short window (default: 5 minutes)
* **Continuation Cues**: Phrases like “but,” “otherwise,” or “on the other hand” in the beginning of a message

**Example** A customer might write in 3 different messages on a Slack Request Channel in rapid succession:

> “Unable to access your application.” “We’re getting a 503 error.” “Any update on this?”

Without merging, these could appear as separate requests. With Rule-Based Merging, they’re automatically grouped into one Request. Because Rule-based merging uses a small set of continuation cues and timing heuristics - it applies less often in real-life usage (but is highly accurate when it does). Users can select Rule-Based merging by contacting ClearFeed Support if they feel AI-Based merging is too aggressive for their use case.

### AI-Based Automatic Merging

While Rule-Based Merging handles straightforward cases well, it can miss the subtle ways users continue conversations. ClearFeed’s **AI-Based Merging** enhances context tracking by applying an intelligent model on top of existing rules.

The AI model identifies when messages are contextually related—even if they're delayed, or don't match continuation cues described previously.

Key capabilities include:

1. **Pronoun & Entity References:** Understands vague continuations like
   * “Let me check that.”
   * “Any update on this?
   * “Still investigating it.”
2. **Indirect Continuity:** Detects when a new participant joins but continues the same topic:
   * “Looking into this now.”
3. **Follow-Up & Resolution Cues:** Recognizes acknowledgments and contextual replies:
   * “Got it, that solved the issue.”
   * “Here’s the version: v2.1.0”
   * “Uploading the screenshot now.”
4. **Urgency & Escalation Detection:** Identifies urgency even when the issue isn’t restated:
   * Original: “We’re facing some issues with our prod cluster.”
   * Follow-up: “This is quite urgent, could someone please check!!!”

{% hint style="warning" %}
**Important:** To prevent reviving old threads unnecessarily, AI-Based automatic merging applies a **3-day cutoff**. Any message sent more than three days after the last activity will start a new request, even if it seems related.
{% endhint %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcDMtbkNZRJOpPOUDgH0qO7DbGsqTL1DCzd_dJ_-7raaVEy2M5rxeLeow_h5YeKD-npRogDZLsLnm8GFAPm2L-Omoz2vvum3snMd1zLJmv_Mr71XraYOcJ8r9sdpwJDa7egMsa7Gg?key=jzIa2uA9Kp-v7lbWeVJ-TGai" alt="" width="563"><figcaption><p>Messages in Request channel</p></figcaption></figure>

### Automatic Merge Settings in Your ClearFeed Account <a href="#status" id="status"></a>

* **Rule-Based Merging** maybe active for older collections created before March, 2025.
* **AI-Based Merging** follows the default behavior outlined below. If you'd like to override these defaults, please contact the ClearFeed support team.
  * For **Internal Helpdesk** and **Integrations** product editions, AI-based merging is **turned off by default**.
  * For **External Helpdesks**
    * **With automatic ticketing** (whether filing Tickets to ClearFeed or External systems like Zendesk, Freshdesk et al), AI-based merging is **turned off by default**.
    * **If ticketing is disabled, or manual ticketing is enabled** – AI-based merging is **turned on by default**.

{% hint style="info" %}
UI configuration is not yet available; all changes are managed by ClearFeed team. If you'd like to switch merging modes or disable merging to ensure a 1:1 mapping between Slack threads and ClearFeed tickets, contact the ClearFeed support team.
{% endhint %}

### Splitting Unrelated Messages

Merging helps keep context together, but sometimes, customers report **unrelated issues** in a single burst. Automatically merging such messages could create confusion.

To solve this, ClearFeed supports **Request Splitting**. With **Request Splitting**, agents can manually separate unrelated messages into distinct requests. This ensures each issue:

* Has its own clear thread
* Can be assigned and resolved independently
* Is tracked without context bleed

#### **When You Can Split a Message**

* You can split a message into a new request **only if it is a parent message (not a reply)** on the Slack Channel.
* The **Split** button is visible **only when no ticket/task** (e.g., ClearFeed, Jira, Asana) **has been filed for that request**.

#### **When You Cannot Split a Message**

* If a request has a linked task (Jira, Linear, etc.) it cannot be split.
* Once a story is marked **Not a Request**, older DMs cannot be split—even if the story is later converted into a request.
* You can split a message into a new request **only if it is a parent message** (not a reply).
* The **Split** button is visible only when no ticket/task (e.g., ClearFeed, Jira, Asana) has been filed for that request.

#### How to Use the Split Functionality

**From Slack**

1. Open the request thread in the triage channel.
2. On the merged customer message, look for the note and the **Split** button.
3. Click **Split**.
4. ClearFeed will create a new independent request for the messages in that thread.

The image below shows an example of request with merged messages. The Split button is shown next to the first merged message. Click on it would create a separate request out of the merged message - which would show up separately on Triage channels and ClearFeed WebApp dashboards.

<figure><img src="/files/UZIY3TekD1CozHysZObr" alt="" width="563"><figcaption></figcaption></figure>

**From ClearFeed WebApp**

1. Open the request in the ClearFeed WebApp.
2. On the merged customer message, look for the note and the **Split** button.
3. Click **Split**.
4. ClearFeed will create a new independent request for the messages in that thread.

The image below shows an example of request with merged messages. The Split button is shown next to the merged message. Click on it would create a separate request out of the merged message - which would show up separately on Triage channels and ClearFeed WebApp dashboard.\\

<figure><img src="/files/NwlkUmMAZ5FfzNpjwzLU" alt="" width="541"><figcaption></figcaption></figure>

### Manual Merging of Requests

While automatic merging provides a great default experience - users may sometimes want to merge Requests not merged by automatic merging. Others may choose to disable automatic merging (or use the less aggressive Rule Based Merging) and may want to merge requests manually when required. For these purposes - ClearFeed offers users the ability to merge messages manually.

#### When You Can Merge a Request

* You can merge a request into a new/old request only from the parent message of a thread (not a reply inside it).
* The Merge functionality is available only when no ticket/task (e.g., ClearFeed, Jira, Asana, Zendesk) has been filed for both the source and target request.
* Merging is allowed only when both the source and the target request belong to the same collection and are in the same channel.

#### When You Cannot Merge a Message

* ClearFeed requests that originate from non-Slack sources (such as WebChat, Email, or the Portal) cannot be used for manual merging, either as the source or as the target of the merge operation.
* A request created in one Slack channel cannot be merged with a request created in another Slack channel.
* Merging cannot be performed if an AI Agent session is currently active for either the source or the target request.

#### How to Use the Manual Merge Functionality

**From Slack Triage Channel**

1. Open the request thread in Triage and click on **More Actions** > **Scroll Down** > Under **Other Actions** > Select **Merge into Another Request**.
2. Next, select the **Target Request**, the request you want to merge the given request into.
3. Click on **Merge**.

<figure><img src="/files/yCwXDlJMcb090VqntZZi" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/HnXj7x8sAaaqvDhGIDeH" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/Ub6TaJkX8Ldvp7AlyTFo" alt="" width="563"><figcaption></figcaption></figure>

**From ClearFeed WebApp**

1. Open the request in the ClearFeed WebApp and then click on the **Three Dots (More Actions)** on the right side panel.
2. Click on **Merge into Another Request**.
3. Select the **Target Request**, the request you want to merge the given request into.
4. Click on **Merge**.

<figure><img src="/files/gyjzbQ7Q5Yrx9UnKCero" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/OZlk3MdqPBV9XkiFPK12" alt="" width="563"><figcaption></figcaption></figure>

#### Manual Merge Behavior

* **Reactions:** Reactions from the source request and its messages are not synced to the target request.
* **Assignment:** The target request's assignment is not changed by the merge. If the source request had an assignee and the target is unassigned, the target remains unassigned and requires manual re-assignment.
* **Thread Replies:** When a request (the source) is merged into another request (the target), replies added to the source thread in the request channel will now appear in the target thread, since the source has been merged and is no longer separate.


# Approval Workflows

Approval Workflows help you manage structured decision-making on ticket requests such as expense sign-offs, IT access approvals, onboarding processes, or compliance-related reviews. ClearFeed allows you to define multi-level approval chains, notify approvers directly in Slack, and track every approval action inside the ticket.

{% hint style="danger" %}
Approvals is only available on the **Internal HelpDesk** Product Edition.
{% endhint %}

## How to Configure Approval Workflows?

<figure><img src="/files/bGePH95WO9xpbxVRwN3Q" alt="" width="563"><figcaption><p>Configuring Approval Workflow</p></figcaption></figure>

### **Navigate to Approval Workflows**

* From the left navigation bar in the WebApp, go to **More → Approval Workflows**.
* Click **Create Approval Workflow** and enter a meaningful name.

### Select Intake Form

* Choose the form that will trigger the approval workflow when used for ticket creation.
* Select any fields that should not be changed while the approval process is ongoing.

#### Participants Behavior

* **Automatically Add Approvers as Participants (Optional)-** When enabled, all approvers are added to the ticket as participants so they can view and respond in the conversation. [Learn More](/clearfeed-help-center/clearfeed-helpdesk/participants)

### Define Routing Rules

Routing rules determine **when** a particular approval chain should be used. Each rule contains two parts:

#### **Conditions (When this rule applies)**

Conditions are evaluated against the ticket’s fields. All conditions must match for the rule to be applied.\
If no rule matches, the **Default Routing** is used.

Examples:

* Department = Finance
* Request Type = Access Request
* Location = APAC

#### **Approval Sequence (Who must approve, and in what order)**

After defining conditions, configure the **ordered list of approvers** for that rule. Approvals proceed level by level in the sequence you specify.

ClearFeed supports **two types of approvers**:

#### **Specific User (Static Approver)**

Select an internal user who will always approve at this level.

#### **From Form Field (Dynamic Approver)**

Choose a **User Select** field from the Intake Form. The approver for this level will be the user selected in that field.

{% hint style="info" %}
**Important:** **User Select** field will appear in the **From Form Field (Dynamic Approver)** dropdown only when

* it is added to the selected Intake Form
* it is configured to be **editable by All** (not only by responders.)
  {% endhint %}

Dynamic Approvers are ideal when approvers depend on the requester's context, such as:

* Manager
* Team lead
* Project owner
* Department owner
* Regional approver

**Backup Approver (Required)** Each dynamic approver must have a backup. The backup will be used if:

* The field was removed from the form
* The field exists but was not filled by the requester

## How the Approval Process Works

Once the workflow is active, here is how ClearFeed evaluates and runs approvals:

* When a user submits a ticket using the selected Intake Form:
  * An Approval Request is created and linked to the ticket
  * Ticket status cannot be closed until approvals finish
* ClearFeed checks routing rules top-down and selects the first rule whose conditions match.

**Approver Resolution**

For each approver level:

* **If Static Approver is used:** Assigned directly as configured.
* **If a Form Field has been used:** ClearFeed evaluates in the following order:
  * **Field exists? -** If not → use backup
  * **Field has a value?-** If empty → use backup (Reason: “Field left empty”)
  * **Resolved approver already used at a lower level? -** If yes → level is skipped

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>The same user will <strong>never</strong> receive approval tasks at multiple levels. If any approver (static, dynamic, or backup) duplicates a lower-level approver:</p><ul><li>Only the lower-level approval runs</li><li>The higher level is skipped</li><li>Skip reason is displayed in the Approval Chain</li><li>No Slack notification is sent for skipped steps</li></ul></div>
  * **Else** → use dynamic approver value
* Dynamic values and fallback results are shown in the Approval Chain.

**Approval Execution**

* Approvers receive a Slack message and can approve or reject directly
* If the **Automatically add approvers as participants** is enabled, approvers receive **two messages from ClearFeed**:
  * A message to **approve or reject** the approval request.
  * A notification that they have been **added as a participant** on the ticket, allowing them to view the conversation and send/receive messages.
* If approved → next approver is notified
* If rejected → the entire approval request is closed as rejected
* All approval actions are logged privately on the ticket

**Visibility in the UI**

The logs for the Approval Workflow can be found in Ticket Activity, Approval Task View and Slack Triage Channel as Private Comments. It includes below information:

* Static and dynamic approvers
* When a backup approver was used
* Skip reasons (duplicate, removed field, empty field)
* Approval or rejection comments
* Approval timestamps

<figure><img src="/files/6szBxB4VbmuN4P1NCDYB" alt="" width="563"><figcaption><p>Notification to First Approver via ClearFeed App for Approval</p></figcaption></figure>

<figure><img src="/files/kj8NJx6oRKu572IBPrFi" alt="" width="563"><figcaption><p>Ticket Details View for Approver</p></figcaption></figure>

<figure><img src="/files/hTT5psSsj3s9O2HNCU4U" alt="" width="563"><figcaption><p>Optional Additional Comments to be added by Approver while approving/rejcting</p></figcaption></figure>


# Participants

ClearFeed supports adding **Participants** to individual requests in Slack. Participants are non-agent users who can collaborate on specific tickets without being added to the Triage channel or receiving full agent access. This enables targeted, request-level collaboration without exposing all incoming requests.

## When to Add Participants

Add a Participant when:

* You need feedback or input from someone outside the support team.
* You want to keep collaboration scoped to a **specific request**.
* You don’t want to expose the full Triage channel or other unrelated requests.

## Who can be a Participant?

Any Slack user from the same workspace can be added as a Participant. Participants do not need to be created as agents in ClearFeed or members of the Triage channel.

## How it Works?

* Agent identifies a request that needs input from a non-agent user.
* Agent adds the user as a Participant from either the Request Channel or the Triage Channel.
* Participant receives a DM from ClearFeed with request context and a collaboration thread.
* Participant replies or reacts to messages — their responses sync back to the request.
* Agent can remove participant once collaboration is complete.

## Adding a Participant

You can add Participants from Slack (either from Request Channel or Triage Channel) or WebApp:

### From Slack

#### Option 1: From the Request Channel

* Go to the relevant request thread in a Request Channel.
* Click **More Actions** on the parent message in the thread.
* Choose **ClearFeed Actions** → **Manage Participants** → **Next**.
  * If any Participants are already added, you’ll see them listed.
* Select one or more Slack users from the dropdown.
* Click **Save**.

<figure><img src="/files/HyZDjS6jZ8QVCw58Hv1Z" alt="Adding Participant from Request Channel" width="563"><figcaption><p>Adding Participant from Request Channel</p></figcaption></figure>

#### Option 2: From the Triage Channel

* Go to the request in the Triage Channel.
* Click **More Actions** from the ticket block.
* Choose **Manage Participants** → **Next**.
  * View existing Participants, if any.
* Select one or more Slack users.
* Click **Save**.

<figure><img src="/files/OZ3uYsptjg3w7xNFfxfP" alt="" width="563"><figcaption></figcaption></figure>

### From WebApp

* Go to the relevant request on WebApp.
* From the Right hand panel, locate the Participants
  * If any Participants are already added, you’ll see them listed.
* Select one or more Slack users from the dropdown. As soon as you select a user, Participant will be added automatically.

  <figure><img src="/files/8Hb2692qVZqWIREwN1gX" alt="" width="563"><figcaption></figcaption></figure>

## What the Participant Sees

Participants are notified when they are added to a request or a new **public message** is posted on the request or they are removed from the request

**When a user is added as Participant:**

* The Participant receives a **DM from ClearFeed**:

  <figure><img src="/files/HXQ5wBtmPaFQyRY8ScCH" alt="" width="563"><figcaption></figcaption></figure>
* This DM becomes their collaboration thread for the request.
* From this thread, Participants can:
  * View the request details
  * Send messages that are synced to the Request Channel and Triage Channel

    <figure><img src="/files/neVRDMAAHJIfgwGpZHpL" alt="" width="563"><figcaption></figcaption></figure>

**When a new public reply is added to the request:**

* When a new message is added, Participant as notified of the same in the DM thread from ClearFeed for the corresponding request.

  <figure><img src="/files/EEE4DTB8YCUQkF4Vecsa" alt="" width="469"><figcaption></figcaption></figure>

**When a user is removed as Participant:**

* Once removed, the Participant receives a message:

  <figure><img src="/files/VcUj2mdFj5anzDWPI5Pv" alt="" width="487"><figcaption></figcaption></figure>
* They retain access to past messages but:
  * Stop receiving updates
  * Can no longer view request details

## Removing a Participant

Agents can remove any Participant from a request using the **Manage Participants** flow.

To remove a Participant:

* Open the request from either the **Request Channel** or the **Triage Channel**.
* Click **More Actions** → **ClearFeed Actions** → **Manage Participants**, then click **Next**.
* In the list of current Participants, click the **“×” icon** next to the user you want to remove.
* Click **Save** to confirm the changes.

<figure><img src="/files/pycYC267zLlukX99TwHN" alt="" width="563"><figcaption></figcaption></figure>


# Activity Logs

View and track account activity. Currently supports email logs.

Activity Logs in ClearFeed provide a record of important events happening in your account. Currently, Activity Logs capture email ticketing activity.

## What Activity Logs Show

* Processed Emails -Each incoming email is logged as soon as ClearFeed receives it. Logs include details such as the sender, recipient, and a request ID for easy tracking.
* Rejected Emails - If an email cannot be processed, the log entry clearly explains why. Examples include:
* Email collection not configured for this address
* No valid support domain found
* Ticket limit reached
* Email marked as “not a request”
* Email already processed
* Request Tracking - Every log includes a ClearFeed Request ID. In case of an error, customers can use this request ID to raise a support ticket

## Getting Started

Activity Logs are automatically available for all accounts using the Internal & External HelpDesk product edition.

* Go to Settings > Activity Logs
* You’ll see a list of all email-related logs for your account
* Use filters to focus on what you need:
* Date Range: Last 24 hours, Last 7 days, Last 30 days, or a custom range Change hint type Note: Logs are retained for 30 days and then automatically deleted
* Log Level: Filter by Errors, Warnings, Info, or Debug messages
* Click Search to apply filters, or Clear Filters to reset
* Select any entry to view details, including:
* Timestamp (when the event occurred)
* Request ID (to trace the request)
* Message (summary of what happened)
* Metadata (sender, recipient, and other context)


# Parent Child Ticket

## Overview

The **Parent–Child Ticket Linking** feature helps support teams efficiently manage multiple related tickets.\
With this feature, agents can group several related requests under a single **Parent Ticket**, enabling consistent communication, reduced duplicate effort, and better traceability across all requests tied to the same issue.

**Common use cases include:**

* Handling incidents reported by multiple customers.
* Tracking a feature request raised by several accounts.

### Feature Summary

<table><thead><tr><th width="248">Capability</th><th>Description</th></tr></thead><tbody><tr><td><strong>Create Parent Ticket</strong></td><td>Group related tickets under a new Parent directly from any existing ticket.</td></tr><tr><td><strong>Link Existing Parent</strong></td><td>Attach tickets to an already created Parent Ticket.</td></tr><tr><td><strong>View Relationships</strong></td><td>See linked Parent/Child references in Triage DM and ticket details.</td></tr><tr><td><strong>Automated Updates</strong></td><td>Get notifications when links are created, status changes, or tickets are deleted.</td></tr><tr><td><strong>Unlink Tickets</strong></td><td>Remove relationships cleanly, with audit logs in both threads.</td></tr></tbody></table>

## Create a Parent Ticket

Agents can create a new Parent Ticket directly from any existing ticket or request.

**How to create:**

* Open a ticket and click **More Actions → Create Parent Ticket**.\\

  <figure><img src="/files/xHW6j1Dk77wGv5WylzMq" alt="" width="561"><figcaption></figcaption></figure>
* Select the Slack channel where the Parent Ticket should be created\\

  <figure><img src="/files/uifNJbrsXm2AqzJNb5fL" alt="" width="563"><figcaption></figcaption></figure>
* Enter the **Title** and **Description**.\\

  <figure><img src="/files/q8m01oW7KNHQaxzwHVnU" alt="" width="563"><figcaption></figcaption></figure>
* The initiating ticket automatically becomes the first child. A private comment is added to this child ticket with a link to the parent ticket, allowing agents to view updates or join the discussion if needed.\\

  <figure><img src="/files/cZtZcl7mQhZoaHrOAaik" alt="" width="563"><figcaption><p>Private comment added to Child Ticket</p></figcaption></figure>

  <figure><img src="/files/qytXSAParIq5RW7dBUSY" alt="" width="563"><figcaption><p>How the created Parent Ticket is shown in Triage Channel</p></figcaption></figure>

**Notes:**

* Parent Tickets can only be created in **monitored Slack channels** with ClearFeed Ticketing enabled.
* Required fields: **Title** and **Description**.

## Link to an existing Ticket

Agents can also link a ticket to an existing Parent Ticket or exisitng ClearFeed Ticket to consolidate related requests.

**How to link:**

* Open the ticket → **More Actions → Link to Ticket**.
* A dropdown will appear where you can type the CF ID (e.g., **CF-12**) to view a list of existing Parent Tickets and ClearFeed Tickets. Select the ticket you want to set as the Parent Ticket.\\

  <figure><img src="/files/LBq9YwtFuYnIMma5Hj1v" alt="" width="563"><figcaption></figcaption></figure>
* Click on "Link Ticket" button\\

  <figure><img src="/files/mbPR8VReIq6TMVbapiFR" alt="" width="563"><figcaption></figcaption></figure>

**Validation rules:**

* A request/ticket can only have **one parent** at a time.
* Closed or Solved tickets **cannot** be selected as parents.
* Linking is blocked if the selected ticket is already a child of another parent.

## View Linked Tickets

Linked tickets display their relationships across both the **Triage DM** and the **More Details** section.

* **Parent Ticket view:** Shows a list of all linked Child Tickets.\\

  <figure><img src="/files/ToqPMLUMSqKVFNx5HuAb" alt="" width="440"><figcaption></figcaption></figure>
* **Child Ticket view:** Displays a reference to its linked Parent Ticket.\\

  <figure><img src="/files/MJJ4eNZSzpoK7ePIbgqb" alt="" width="449"><figcaption></figcaption></figure>

## Automated Notifications

ClearFeed automatically posts relevant notifications in Slack threads when tickets are linked or updated.

### **On Link Creation**

* **Child Ticket:**\
  “A parent ticket has been linked to this request by *\[Agent Name]*. You can track updates here.”
* **Parent Ticket:**\
  “Ticket *\[Child ID]* has been linked as a child by *\[Agent Name]*.”

### **On Parent Status Change**

When a Parent Ticket’s status changes to **Solved**, **Closed**, or **Reopened**, all linked Child Tickets receive a private update notification.\
Status changes like *Open → In Progress* do not trigger updates.

### **On Story Deletion**

* If a **Parent Ticket** is deleted, all linked Child Tickets are automatically **unlinked** and notified.
* If a **Child Ticket** is deleted, the **Parent Ticket** receives a notification about the unlinking.

## Unlinking Tickets

Tickets can be unlinked anytime.

* From a Child Ticket: Use **More Actions → Unlink Parent**.
* ClearFeed automatically posts audit messages in both the Parent and Child threads to maintain traceability.


# Message Bar

The **Message Bar** is a persistent action bar that appears at the bottom of Slack request channels. It provides one or more configurable action buttons that make it easy for users to file tickets or get AI-powered help without using slash commands or pinned instructions.

The Message Bar always appears just below the latest message in the channel and automatically moves down as new messages arrive, ensuring the actions remain visible during active conversations.

## How the Message Bar Works in Slack

The Message Bar is **not fixed to Slack’s message input area**. Due to Slack platform limitations, custom apps cannot place permanent buttons in the input area. Instead, the Message Bar is posted as a message and dynamically repositions itself below the most recent message.

If you require a button that is always fixed in the input area, consider using **Slack’s native Workflow Builder**.

If you want Message Bartriggered tickets to be \[\*\*private\*\*]\(<https://docs.clearfeed.ai/clearfeed-help-center/how-it-works/creating-or-linking-tickets/private-tickets>) (sent only to the triage channel and not posted publicly), this can be enabled at the collection level. Contact ClearFeed Support via Slack Connect Channel or email \[\[emailprotected]]\(<https://docs.clearfeed.ai/cdn-cgi/l/email-protection#9deee8ededf2efe9ddfef1f8fceffbf8f8f9b3fcf4>)

1.

## Supported Actions

ClearFeed currently supports two actions within the Message Bar:

1. [**File a Ticket**](#overview)
2. [**File a Private Ticket**](#file-a-private-ticket)
3. [**ClearBot Assist**](#clearbot-assist)

### File a Ticket

Opens the ticket creation modal with the forms configured for the collection.

* Behaves the same as the `/cf-file` slash command
* On submission, the ticket is created and a message is posted in the request channel
* Used when you want ticket creation to be visible to everyone in the channel

Tickets created from the Message Bar **post as a message in the request channel by default**. These messages are **posted by the ClearFeed app on behalf of the user**, not typed directly by the requester in the channel. As a result, the visible sender will be the ClearFeed app (or if you have a Custom App, name you have given it in Slack) rather than the individual employee.

**Supported integrations:**\
Zendesk, ClearFeed, Freshdesk, HubSpot, Intercom, ClickUp, Salesforce

### File a Private Ticket

Opens the same ticket creation modal as **File a Ticket**, but files the ticket privately.

* On submission, the ticket is created in the Triage Channel
* No message is posted in the Slack request channel
* Useful for sensitive requests or when you don’t want ticket creation to interrupt the channel conversation

**Supported integrations:**\
Zendesk, ClearFeed, Freshdesk, HubSpot, Intercom, ClickUp, Salesforce

### Ask AI

Ask AI provides AI-powered help based on the [**Virtual Agent configuration**](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents#use-ai-agents-as-a-virtual-agent) for the collection.

* Users can ask questions or get suggestions directly from the Message Bar
* Interactions are private and are not posted in the Slack channel
* Administrators can review these conversations from [**Session Logs**](/clearfeed-help-center/clearfeed-ai/ai-agents/session-logs)

Ask AI is **answer-only**:

* It responds using the configured Knowledge Sources
* It does not perform actions or create records in connected systems (for example, creating Jira issues or tickets)

## Configuration

### Enabling the Message Bar

1. Open **Collection Settings → Message Bar**<br>

   <figure><img src="/files/IVzqmCBLDxDWfW9u104r" alt="" width="549"><figcaption></figcaption></figure>
2. Enable the **Message Bar** toggle
3. Configure the Message Bar:
   * **Message Bar Text**\
     Helper text displayed above the action buttons
   * **Action Buttons**
     * **Enabled** – Turns the action on or off
     * **Label** – Text shown on the button (for example, *File a Ticket*)
     * **Style**
       * **Primary** – Highlights the main action (green)
       * **Default** – Neutral appearance (transparent)
       * **Danger** – Destructive or cautionary actions (red)
4. Click **Save**

   <figure><img src="/files/0PZFUrokCUBR8IC1nPcm" alt="" width="557"><figcaption></figcaption></figure>

The Message Bar will appear automatically in all existing and new request channels for the collection.

### Disabling the Message Bar

1. Go to **Collection Settings → Message Bar**
2. Turn off the **Message Bar** toggle
3. Click **Save**

The Message Bar will be removed from all request channels in the collection.

## Interaction Flow

* **Initial Posting**\
  When enabled, ClearFeed posts the Message Bar in all request channels in the collection.<br>

  <figure><img src="/files/M4MfVEwlHgQQR7KgLPmO" alt="" width="375"><figcaption></figcaption></figure>
* **Dynamic Placement**\
  As new messages arrive, the Message Bar automatically moves to stay just below the latest message.
* **User Interaction**\
  Clicking an action button opens the corresponding flow—ticket creation or Ask AI—without requiring slash commands or additional navigation.

<figure><img src="/files/aZxTe6ACKjohnJCwSsuu" alt="" width="488"><figcaption><p>Ask AI modal when users click on "Ask AI" Action Button</p></figcaption></figure>

<figure><img src="/files/QgVHSInschjyVUhfq5D2" alt="" width="481"><figcaption><p>File Ticket Modal when users click on "File Ticket" Action Button</p></figcaption></figure>


# Atlas - ClearFeed Native Knowledge Base

Atlas is ClearFeed’s built-in knowledge base that lets your team create, manage, and publish help content for your customers. You can use Atlas to host a public knowledge base, manage articles with roles and permissions, and apply basic branding and navigation customization.

Atlas includes:

* A public knowledge base site for your customers
* An admin dashboard for creating and managing content
* Support for articles, categories, tags, and media
* Basic theme and navigation customization
* Role-based access for your team (Admin and Editor)

{% hint style="info" %}
Atlas is available on accounts using the **External Helpdesk** product edition.
{% endhint %}

Atlas can also be used as a **Knowledge Source for ClearFeed AI Agents**, allowing your agents or virtual agent to answer questions using content from your knowledge base.

## Accessing Atlas

Atlas has two interfaces:

### 1. Public Knowledge Base

Your customers can access all published articles at:

```
<subdomain>.clearfeed.app/docs
```

You can find and copy this link from **Settings → Atlas** in the ClearFeed Dashboard.

Only published articles are visible on the public site.

### 2. Atlas Admin Dashboard

Authors and admins manage the knowledge base from:

```
<subdomain>.clearfeed.app/docs/admin
```

#### Login flow

Atlas uses an email-based login:

1. Enter your email address
2. You will receive a **“Sign in to ClearFeed”** email
3. Click the verification link
4. You’ll be redirected to the Atlas Admin Dashboard

Only users added via **ClearFeed → Settings → Atlas → Access Management** can sign in.

## Atlas in ClearFeed Settings

From **Settings → Atlas** in ClearFeed, you can:

* See whether Atlas is active
* Copy or preview the public knowledge base link
* Add or remove users who can manage Atlas
* Assign roles:
  * **Admin**: Can manage content and site settings (theme, navigation)
  * **Editor**: Can create and publish articles, but cannot change site settings

Access to the Atlas Admin Dashboard is controlled entirely from here.

## Atlas Admin Dashboard Overview

After signing in, you land on the Atlas Dashboard. Here you can see:

* Total number of:
  * Articles
  * Categories
  * Tags
  * Media items
* Recent activity (recently created or updated articles)

#### Quick actions

* Create New Article
* View All Articles
* Manage Categories

#### Left sidebar navigation

From the hamburger menu, you can access:

* Articles
* Media
* Categories
* Tags
* Site Settings

## Working with Articles

### Articles List Page

From the Articles page, you can:

* Create a new article
* Open an article to:
  * Edit fields
  * Publish or unpublish
  * Duplicate or delete
  * View and restore previous versions
  * Compare versions
  * View API details
  * Preview how it appears to customers
* Filter articles by category, author, status, etc.
* Configure which columns are visible in the table
* Perform bulk actions:
  * Bulk edit
  * Bulk publish / unpublish
  * Bulk delete
* Preview any article using the preview link in the row

### Creating an Article

When creating an article, you can configure:

* **Title** – Name of the article (required)
* **Excerpt** – Short summary used in search results and previews
* **Content** – Rich text editor for the full article
* **Metadata (optional)**
  * Meta Title (SEO title)
  * Meta Description (SEO summary)
  * If not provided, the SEO title defaults to the article title
* **Category** – Primary category where the article appears
* **Tags** – Used for cross-categorization
* **Related Articles** – Suggested articles for readers
* **Slug** – URL-friendly identifier (auto-generated)
* **Author** – Select an author from your user list

At any time, you can:

* Save as Draft
* Publish

### Editing an Article

Editing uses the same interface as creation. You can:

* Update any field
* Save changes as draft or publish
* View, compare, or restore previous versions
* Preview the article as customers will see it

### Bulk Edit for Articles

Bulk edit lets you update multiple articles at once.

Flow:

1. Select one or more articles
2. Choose **Bulk Edit**
3. Select which fields to update
4. Provide the new values
5. Save as draft or publish changes

Bulk edit supports fields like category, tags, author, and status.

### Embedding Articles Externally

You can embed Atlas articles on external websites using an `<iframe>` with the article embed URL:

```html
<iframe src="https://<subdomain>.clearfeed.app/docs/articles/<article-slug>/embed"></iframe>
```

The embed view renders a minimal version of the article without Atlas navigation, header, or footer so it fits cleanly inside external pages.

Only **published** articles with **public** visibility can be embedded externally. Draft, unpublished, or internal-only articles will not load in the embed view.

## Working with Categories

Categories define the top-level structure of your knowledge base.

From the Categories page, you can:

* Create new categories
* Edit existing categories
* Bulk edit
* Bulk delete
* Configure table columns

### Creating a Category

You can configure:

* **Name** – Category name (required)
* **Description** – Optional description
* **Slug** – URL-friendly identifier
* **Icon** – Icon name or emoji
* **Parent** – To create nested category structures
* **Order** – Lower numbers appear first in navigation

Categories do not have draft or published states.

## Working with Tags

Tags help with cross-labeling and grouping content across categories.

From the Tags page, you can:

* Create new tags
* Edit existing tags
* Bulk edit
* Bulk delete

### Creating a Tag

You can configure:

* **Name** – Required
* **Slug** – URL-friendly identifier
* **Color** – Hex code for tag display

Tags do not support drafts or publication states.

## Working with Media

### Uploading Media

Atlas includes a media library for storing images and files used in articles.

From the Media section, you can:

* Upload new media:
  * Select a file from your computer
  * Paste a URL
  * Drag and drop a file
  * Provide alt text
* Bulk upload
* Bulk delete
* Bulk edit
* Edit individual files:
  * Update alt text
  * Update metadata
  * Replace the file

### Embedding Videos

Atlas supports embedding videos directly in article content. Use the toolbar in the article editor and select **Video Embed**.

<figure><img src="/files/qhj8AIeU2feOGTkyZ1a1" alt=""><figcaption><p>Video Embed option in the Atlas article editor</p></figcaption></figure>

Currently supported embed types:

* **YouTube** – Paste the YouTube video URL
* **Clueso** – Open the page for the video you want to share. Click **Share → Video Embed Code**, then copy the `src` value from the `<iframe>` HTML shown

## Site Settings

Atlas provides basic customization for your public knowledge base site.

### 1. Theme Configuration

You can customize your brand colors:

* **Primary Color** – Used for main actions and highlights
* **Secondary Color** – Used for backgrounds and subtle elements
* **Accent Color** – Used for calls to action

Changes are reflected immediately on your public `/docs` site.

***

### 2. Navigation

You can customize the navigation menu shown across your public site:

* View all navigation links
* Collapse or expand link groups
* Add new navigation items
* Edit existing links
* Delete links
* Reorder items to control top-level navigation structure

Each navigation item includes:

* **Link Label** – Text shown to users
* **URL** – Internal or external link
* **Open in New Tab** – Optional

## Access Management

Access is configured from **ClearFeed → Settings → Atlas**. Only users added here can sign in to the Atlas Admin Dashboard. When adding a user, you must assign them a role.

ClearFeed supports two roles:

**Admin**

* Full permissions
* Can manage site settings
* Can manage theme and navigation
* Can manage all content

**Editor**

* Can create, edit, and publish articles
* Cannot modify global site settings (theme, navigation)


# Knowledge Sources

## What is a Knowledge Source?

* Knowledge Sources are your public or private documentation that the AI Agent can refer to for answering questions.
* **Organizations use knowledge sources** for two main purposes: – *Customer Support*: Empower users with self-service content to reduce support load. – *Internal Use*: Share process docs, training material, and best practices across teams.
* **Private Knowledge Sources** are restricted to internal users and include SOPs, training content, and company policies (e.g. Confluence, Google Docs, Notion, Coda).
* **Public Knowledge Sources** are accessible to external users and include FAQs, product docs, and troubleshooting guides (public websites, blogs, KBs).

## Supported Knowledge Sources

Read more about how to setup each knowledge source in ClearFeed.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="/pages/JjvVPhXdatzXbsYVN6qb"><strong>Confluence</strong></a></td><td><a href="/pages/JjvVPhXdatzXbsYVN6qb">/pages/JjvVPhXdatzXbsYVN6qb</a></td></tr><tr><td><a href="/pages/gYnF8WXdfOcb1VmRPO1G"><strong>Zendesk</strong></a></td><td><a href="/pages/gYnF8WXdfOcb1VmRPO1G">/pages/gYnF8WXdfOcb1VmRPO1G</a></td></tr><tr><td><a href="/pages/QWRLZ39FFm3ka8UM67IE"><strong>Freshdesk</strong></a></td><td><a href="/pages/QWRLZ39FFm3ka8UM67IE">/pages/QWRLZ39FFm3ka8UM67IE</a></td></tr><tr><td><a href="/pages/FSX9mYnyxeki60zu7gSW"><strong>Notion</strong></a></td><td><a href="/pages/FSX9mYnyxeki60zu7gSW">/pages/FSX9mYnyxeki60zu7gSW</a></td></tr><tr><td><a href="/pages/bmWZ888kKH0pxZ7PMAxS"><strong>Coda</strong></a></td><td><a href="/pages/bmWZ888kKH0pxZ7PMAxS">/pages/bmWZ888kKH0pxZ7PMAxS</a></td></tr><tr><td><a href="/pages/wavbtjCpCmDlvwB2Yh9I"><strong>Intercom</strong></a></td><td></td></tr><tr><td><a href="/pages/PIdiWZg0QtKDUcqTwiTe"><strong>Salesforce</strong></a></td><td></td></tr><tr><td><a href="/pages/192L4QgjaVXa98Lwdudo"><strong>Google Drive</strong></a></td><td><a href="/pages/192L4QgjaVXa98Lwdudo">/pages/192L4QgjaVXa98Lwdudo</a></td></tr><tr><td><a href="/pages/TEw4IPQy6RFbe9ndtwTD"><strong>File Store</strong></a></td><td></td></tr><tr><td><a href="/pages/eA5A8xanaB8Bc3ajIYiR"><strong>GitHub</strong></a></td><td></td></tr><tr><td><a href="/pages/6WL7p082S4g513BdbsfA"><strong>HTML</strong></a></td><td></td></tr><tr><td><a href="/pages/7hVNBChl2fwDwPwjf5Ut"><strong>Site Search</strong></a></td><td></td></tr></tbody></table>

## Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

## **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Indexing Knowledge Sources

Learn how to add and index your public Knowledge Sources

We support the following knowledge sources:

* [Confluence](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/confluence)
* [Zendesk](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/zendesk)
* [Freshdesk](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/freshdesk)
* [Notion](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/notion)
* [Coda](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/coda)
* [Intercom](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/intercom)
* [Google Drive](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/google-drive) (Docs, PDFs, Sheets, etc...)
* [File Store](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/file-store)
* [HTML](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/html)
* [Salesforce](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/salesforce)
* [Site Search](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/site-search)
* [GitHub](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/github)
* [ClearFeed Requests/Tickets](/clearfeed-help-center/clearfeed-ai/knowledge-sources/indexing-knowledge-sources/clearfeed-requests)

{% hint style="info" %}
If you don't see your platform here, reach out to our dedicated support team at <support@clearfeed.ai> or connect with us on Slack.
{% endhint %}


# HTML

Learn how to add and index your weiste as Knowledge Source

In an HTML knowledge source, you can enter the URL of any public website to be indexed and used for answer generation.

* You can specify conditions to consider only specific pages/sub-pages under a Root URL
* ClearFeed can automatically refresh the data from the source every 24 hours if you keep Auto-Reindex turned on.

{% hint style="info" %}
**Common Use Cases:** Product Documentation, Blogs, Case Studies, Public Websites, etc...
{% endhint %}

#### Add HTML Knowledge Source

* Go to **KBs** from the left navigation bar and click the **"Add Knowledge Source"** dropdown in the top-right corner. Select **HTML**.
* Fill out the side drawer form:
  * **Name**: Enter a title for the Knowledge Source.
  * **Tags**: Add tags to categorize the Knowledge Source.
  * **Root URL**: Provide the main URL ClearFeed will index from. Only URLs branching from this root will be indexed. For example, if the root is `https://docs.clearfeed.ai/clearfeed-help-center/product-features/ticketing`, a URL like `https://docs.clearfeed.ai/clearfeed-help-center/product-features/collections` will not be indexed.
  * **URL Conditions**: Set rules for URLs to include/exclude using options like "Starts with," "Does not start with," "Contains," or "Does not contain."
  * **Auto Reindex Regularly**: Enable this to reindex the Knowledge Source every 24 hours.
* Save your entry. The Knowledge Source will either start indexing immediately (**In Progress** status) or shortly after (**Initiated** status). Get more details on Managing Knowledge Sources here.
* **Reindexing Public Docs -** To reindex public documents, **manually reindex** the knowledge source by clicking the "Reindex" button next to it.

{% hint style="info" %}
**Optimize Indexing of Knowledge Sources with Sitemaps**

ClearFeed will check each root URL for sitemaps, as using sitemaps is faster than a full website crawl. If a sitemap is found, we'll fetch all pages under the specified root URL, excluding any URLs you've chosen to exclude, ensuring all relevant pages are considered.
{% endhint %}

#### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

#### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Site Search

Learn how to add and index your public Knowledge Sources

Use Site Search to create a knowledge source that looks at the internet to search for answers. When it is enabled, ClearFeed will search the web for answers. You can limit the search to a specific set of pages.

{% hint style="warning" %}
Search accuracy and latency might be lower since we do not store any data on our servers for the Site Search knowledge source
{% endhint %}

#### Add a Site Search Knowledge Source

* Go to **KBs** from the left navigation bar and click the **"Add Knowledge Source"** dropdown in the top-right corner. Select **Site Search**.
* Fill out the side drawer form:
  * **Name**: Enter a title for the Knowledge Source.
  * **Tags**: Add tags to categorize the Knowledge Source.
  * **Limit Search to:** Enter a set of URLs. We will only run a search among the specified URLs to look for answers.

{% hint style="info" %}
If you don't specify any pages, ClearFeed will search the web for answers by default.
{% endhint %}

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Confluence

Guidelines to add and index your private Confluence Knowledge Source

<details>

<summary>Prerequisite - <strong>Integrating with Confluence</strong></summary>

To index your Knowledge Source, you must integrate your Confluence account with ClearFeed. Begin this on the ClearFeed web app:

* Navigate to `Settings` from the nav-bar, and proceed to the [Integrations](https://web.clearfeed.app/settings/integrations) tab.
* Within the list of available integrations, locate and select **Confluence.**
* Click the `Connect` button to open the input modal.
* Provide the following details:
  * **Confluence email** of the user generating the access key
  * **Select the Token Type:**
    * **Classic: API Key / Personal Access Token** (PAT) for the Confluence account
    * **Scoped:** The token must include the following scopes which are required to access spaces and pages for KS indexing.
      * **read:space:confluence**
      * **read:page:confluence**

{% hint style="info" %}
**Note:** ClearFeed will only read the pages/spaces you select when creating a Knowledge Source. We do not index all Confluence data by default.
{% endhint %}

* Upon entering these details, click the `Connect` button within the modal.
* Successful integration redirects you back to ClearFeed's web app, where a confirmation message is displayed.

<figure><img src="/files/oeelQbLvTBSmlL2R2xNF" alt="" width="434"><figcaption><p>Integrate ClearFeed with Confluence</p></figcaption></figure>

</details>

### **Indexing a Confluence Knowledge Source**

With the integration complete, you can now index your Knowledge Source:

<figure><img src="/files/sqXrDDa1PtHDcuwYpDKG" alt="" width="563"><figcaption><p>Indexing a Confluence Knowledge Source</p></figcaption></figure>

**Step 1**: **Add your first Knowledge Source**

* From the left navigation bar on the ClearFeed WebApp, go to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources)**.**
* Hover over the "Add Knowledge Source" dropdown at the top right corner to select `Confluence`.
* A side drawer will appear, prompting you to provide specific details:
  * **Name:** Assign a title for the Knowledge Source to be displayed on ClearFeed.
  * **Tags:** Use tags to categorize and structure each Knowledge Source. Customize these based on your needs.
  * **Spaces:** Choose the [Confluence spaces](https://support.atlassian.com/confluence-cloud/docs/use-spaces-to-organize-your-work/) you'd like to index. The options include:
    * Indexing all spaces.
    * Indexing specific spaces.

      <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>We currently support creating Knowledge Bases from below categories of Confluence spaces:</p><ul><li>Global</li><li>Knowledge Base</li><li>Collaboration</li></ul></div>
  * **Index pages where URL:** To index specific URLs from the selected Spaces, click "Add Condition" to filter them. You can use conditions like **"Starts with"**, **"Does not start with"**, **"Contains"**, and **"Does not contain"**.\
    If you want to index all URLs in the selected Spaces, you can skip this step.
  * **Auto Reindex Regularly:** When enabled, the particular knowledge source will reindex once every 24 hours.
  * After saving your addition, the Knowledge Source will either start indexing immediately (reflected by an **In Progress** status) or will be picked soon (reflected with an **Initiated** status). Get more details on Managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).
* **Reindexing Confluence Docs -** To reindex Confluence documents, manually reindex the knowledge source by clicking the "Reindex" button next to it.

  <figure><img src="/files/huaIDIbuPI2Ogf92YfFB" alt=""><figcaption><p><strong>Reindexing Confluence Docs</strong></p></figcaption></figure>

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Zendesk

Guidelines to add and index your private Zendesk Knowledge Sources

<details>

<summary>Prerequisite - <strong>Integrating with Zendesk</strong></summary>

To index your Knowledge Source, you must integrate your Zendesk account with ClearFeed. Begin this on the ClearFeed web app:

1. On the ClearFeed web app, navigate to the `Settings` from the nav bar, and then open the [Integrations](https://web.clearfeed.app/settings/integrations) section.
2. Next, click on the `Connect` button next to Zendesk. This will open a modal.
3. Input your Zendesk sub-domain in the modal and click on the `Connect`.
4. This will redirect you to Zendesk's sign-in page. Fill in your credentials and sign in.
5. After you sign in, you will be redirected to [ClearFeed](https://web.clearfeed.app/settings/integrations), and your integration will be completed.

</details>

### **Indexing a Zendesk Knowledge Source**

With the integration complete, you can now index your Knowledge Source:

<figure><img src="/files/T6mUF7hKfZ0x1Ca62jnV" alt=""><figcaption></figcaption></figure>

**Step 1**: **Add your first Knowledge Source**

* From the left navigation bar on the ClearFeed WebApp, go to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources)**.**
* Hover over the "Add Knowledge Source" dropdown at the top right corner to select `Zendesk`.
* A side drawer will appear, prompting you to provide specific details:
  * **Name**: Designate a title for this Knowledge Source, which will be displayed on ClearFeed.
  * **Tags**: These are identifiers linked with every Knowledge Source, aiding in categorization and structuring. Customize tags based on your needs. **Note**: Z*endesk* will be a default tag.
  * **Auto Reindex Regularly:** When enabled, the particular knowledge source will reindex once every 24 hours.
* After saving your addition, the Knowledge Source will either start indexing immediately (reflected by an **In Progress** status) or will be picked soon (reflected with an **Initiated** status). Get more details on Managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).
* **Reindexing Zendesk Docs -** To reindex Zendesk documents, manually reindex the knowledge source by clicking the "Reindex" button next to it.\\

  <figure><img src="/files/RjgtDefUJR32rBH9z67W" alt=""><figcaption><p><strong>Reindexing Zendesk Docs</strong></p></figcaption></figure>

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Freshdesk

Guidelines to add and index your private Freshdesk Knowledge Sources

{% hint style="info" %}
**Note:** You cannot index your Knowledge Source if you are on Freshdesk's **Free plan.** This is because making API calls to Freshdesk is unsupported in this plan.
{% endhint %}

<details>

<summary>Prerequisite - <strong>Integrating with Freshdesk</strong></summary>

To index your Knowledge Source, you must integrate your Freshdesk account with ClearFeed.

1. Navigate to `Settings` from the nav-bar, and proceed to the [Integrations](https://web.clearfeed.app/settings/integrations) tab.
2. Within the list of available integrations, locate and select **Freshdesk.**
3. Press the `Connect` button. You will be asked to enter the Freshdesk sub-domain, as well as the API Key of your Freshdesk Account which once done, you should click on the connect button.
4. This will direct you to the Freshdesk sign-in page. Fill in the credentials and sign in. This step isn't required if you are already signed in to your Freshdesk account.
5. Once you sign in, you will be redirected to ClearFeed, and your integration will be completed.

</details>

### **Indexing a Freshdesk Knowledge Source**

With the integration complete, you can now index your Knowledge Source:

<figure><img src="/files/XhtxEQFlskv3wfGFq2vA" alt=""><figcaption><p>Indexing a Freshdesk Knowledge Source</p></figcaption></figure>

**Step 1**: **Add your first Knowledge Source**

* From the left navigation bar on the ClearFeed WebApp, go to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources)**.**
* Hover over the "Add Knowledge Source" dropdown at the top right corner to select `Freshdesk`.
* A side drawer will appear, prompting you to provide specific details:
  * **Name**: Designate a title for this Knowledge Source, which will be displayed on ClearFeed.
  * **Tags**: These are identifiers linked with every Knowledge Source, aiding in categorization and structuring. Customize tags based on your needs. **Note**: *Freshdesk* will be a default tag.
  * **Auto Reindex Regularly:** When enabled, the particular knowledge source will reindex once every 24 hours.
* After saving your addition, the Knowledge Source will either start indexing immediately (reflected by an **In Progress** status) or will be picked soon (reflected with an **Initiated** status). Get more details on Managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).
* **Reindexing Freshdesk Docs -** To reindex Freshdesk documents, manually reindex the knowledge source by clicking the "Reindex" button next to it.\\

  <figure><img src="/files/RjgtDefUJR32rBH9z67W" alt=""><figcaption><p><strong>Reindexing Freshdesk Docs</strong></p></figcaption></figure>

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Notion

Guidelines to add and index your private Notion Knowledge Source

<details>

<summary>Prerequisite - <strong>Integrating with Notion</strong></summary>

To index your Knowledge Source, you must integrate your Notion account with ClearFeed. Begin this on the ClearFeed web app:

1. Navigate to `Settings` from the nav-bar, and proceed to the [Integrations](https://web.clearfeed.app/settings/integrations) tab.
2. Within the list of available integrations, locate and select **Notion.**
3. Press the `Connect` button which will redirect you to Notion's sign-in page. Fill in your credentials and sign in. This step will be skipped if you are already signed in to your Notion account.
4. Select the pages that should be accessible by ClearFeed
5. Successful integration redirects you back to ClearFeed's web app, where a confirmation message is displayed.

{% hint style="info" %}

* Only the **Notion pages explicitly selected** during integration setup will be available in the **Knowledge Source editor**.
* Pages not selected will **not appear** and cannot be used while adding/managing Knowledge Source.
  {% endhint %}

<figure><img src="/files/45hdpSppoBzOTszzMynD" alt=""><figcaption><p>Integrating with Notion</p></figcaption></figure>

</details>

### Indexing Notion Knowledge Source

With the integration complete, you can now index your Knowledge Source

<figure><img src="/files/H6Zj5PlBnv125WNhYneO" alt="" width="563"><figcaption><p>Indexing Notion Knowledge Source</p></figcaption></figure>

**Step 1**: **Add your first Knowledge Source**

* Navigate to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources) from the left sidebar in the ClearFeed WebApp.
* Select `Notion` from the "Add Knowledge Source" dropdown menu in the top right corner.
* Complete the configuration form in the side drawer:
  * **Name**: Enter a descriptive title for this Knowledge Source
  * **Tags**: These are identifiers linked with every Knowledge Source, aiding in categorization and structuring. (*Notion* will be included by default)
  * **Pages**: Select either:
    * All Pages - to index your entire Notion workspace
    * Specific Pages - choose individual pages from the multi-select menu. You can index specific child pages directly without first selecting their root pages.
  * **Auto Reindex Regularly**: Enable this option to automatically update the knowledge source every 24 hours
* After saving your addition, the Knowledge Source will either start indexing immediately (reflected by an **In Progress** status) or will be picked soon (reflected with an **Initiated** status). Get more details on Managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).
* **Reindexing Notion Docs -** To reindex Notion documents, manually reindex the knowledge source by clicking the "Reindex" button next to it.

{% hint style="info" %}
**Note:**

* If new pages are added in Notion, or if some pages were not selected during the initial setup, you can update your Knowledge Source by reconnecting the Notion integration in ClearFeed. During reconnection, choose the pages you want to include, and they will appear in the Knowledge Source editor when you create or update a Notion-based source.
* For very large Notion workspaces (thousands of pages), indexing may take longer and can sometimes fail due to system timeouts. ClearFeed applies default limits on indexing duration and page count. If your workspace is unusually large or you encounter repeated indexing failures, contact ClearFeed support — we can extend limits or adjust configurations for your account.
* You can only select top-level pages in the page selector. Subpages cannot be selected as separate root pages inside ClearFeed, but their content will still be indexed as part of the selected parent page.
  {% endhint %}

<figure><img src="/files/h70x4T2QYBnVvDJqCqjG" alt="" width="563"><figcaption><p><strong>Reindexing Notion Docs</strong></p></figcaption></figure>

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}

## FAQs

1. **What happens if my Notion admin is removed from ClearFeed?**\
   **Answer:** The integration **remains intact** even if the Notion admin is removed from your ClearFeed account.
2. **How can I update permissions or add new pages to the Knowledge Source?**\
   **Answer:** To update permissions or include new pages in your Knowledge Source, follow these steps:

   1. Invite the Notion admin back via [**User Settings**](https://web.clearfeed.app/settings/users).
   2. Ask them to **Reconnect Notion** from [**Integrations**](https://web.clearfeed.app/settings/integrations).
   3. Select the pages you want included in the Knowledge Source.
   4. Once reconnection is successful, the admin can be removed again.

   Always verify that all necessary pages are selected during reconnection to ensure no content is missing from the Knowledge Source.


# Coda

Guidelines to add and index your Coda Knowledge Source

<details>

<summary>Prerequisite - <strong>Integrating with Coda</strong></summary>

To index your Knowledge Source, you must integrate your Coda account with ClearFeed. Begin this on the ClearFeed web app:

1. Navigate to `Settings` from the nav-bar, and proceed to the [Integrations](https://web.clearfeed.app/settings/integrations) tab.
2. Within the list of available integrations, locate and select **Coda.**
3. Press the `Connect` button which brings up an input modal.
4. **Enter the Coda username** whose API key will be used to fetch the documents.
5. **Enter the API key** associated with the above Coda account.
6. Upon entering these details, click the `Connect` button within the modal.
7. Successful integration redirects you back to ClearFeed's web app, where a confirmation message is displayed.

</details>

### **Indexing a Coda Knowledge Source**

With the integration complete, you can now index your Knowledge Source:

* From the left navigation bar on the ClearFeed WebApp, go to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources)**.**
* Hover over the "Add Knowledge Source" dropdown at the top right corner to select `Coda`.
* A side drawer will appear, prompting you to provide specific details:
  * **Name:** Assign a title for the Knowledge Source to be displayed on ClearFeed.
  * **Tags:** Use tags to categorize and structure each Knowledge Source. Customize these based on your needs.
  * **Document Base URL:** Provide the base URL of your Coda document in the following format: `https://coda.io/d/document-id`. All linked pages and tables within this document will be indexed automatically.
  * **Auto Reindex Regularly:** When enabled, the particular knowledge source will reindex once every 24 hours.
  * After saving your addition, the Knowledge Source will either start indexing immediately (reflected by an **In Progress** status) or will be picked soon (reflected with an **Initiated** status). Get more details on Managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).
* **Reindexing Confluence Docs -** To reindex Coda documents, manually reindex the knowledge source by clicking the "Reindex" button next to it.

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>" %}
<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Intercom

Guidelines to add and index your private Intercom Knowledge Source

<details>

<summary>Prerequisite - <strong>Integrating with Intercom</strong></summary>

To index your Knowledge Source, you must integrate your Intercom account with ClearFeed. Begin this on the ClearFeed web app:

1. Navigate to `Settings` from the nav-bar, and proceed to the [Integrations](https://web.clearfeed.app/settings/integrations) tab.
2. Within the list of available integrations, locate and select **Intercom.**
3. Click on `Connect` button.
4. You will be redirected to Intercom login. Sign in using the account you want to integrate with ClearFeed.
5. Once you sign in, you will need to authorize ClearFeed to integrate with Intercom by clicking on `Authorize Access`
6. You will then be redirected to the ClearFeed web app where you will get a success message.

</details>

### **Indexing Intercom Knowledge Source**

With the integration complete, you can now index your Knowledge Source:

<figure><img src="/files/9zl4CDSZ8ognD9e7Ws4d" alt="" width="563"><figcaption><p>Indexing Intercom Knowledge Source</p></figcaption></figure>

**Step 1**: **Add your first Knowledge Source**

* From the left navigation bar on the ClearFeed WebApp, go to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources)**.**
* Hover over the "Add Knowledge Source" dropdown at the top right corner to select `Intercom`.
* A side drawer will appear, prompting you to provide specific details:
  * **Name:** Assign a title for the Knowledge Source to be displayed on ClearFeed.
  * **Tags:** Use tags to categorize and structure each Knowledge Source. Customize these based on your needs.
  * **Auto Reindex Regularly:** When enabled, the particular knowledge source will reindex once every 24 hours.
* After saving, the Knowledge Source will either start indexing immediately (reflected by an **In Progress** status) or will be picked soon (reflected with an **Initiated** status). Get more details on Managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).
* **Reindexing Intercom Docs -** To reindex Intercom documents, manually reindex the knowledge source by clicking the "Reindex" button next to it.

<figure><img src="/files/vwEQBVeU2061a5dyQGNG" alt="" width="563"><figcaption><p><strong>Reindexing Intercom Docs</strong></p></figcaption></figure>

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Salesforce

Guidelines to add and index your private Salesforce Knowledge Source

<details>

<summary>Prerequisite - <strong>Integrating with Salesforce</strong></summary>

To index your Knowledge Source, you must integrate your Salesforce account with ClearFeed. Begin this on the ClearFeed web app:

1. Navigate to `Settings` from the nav-bar, and proceed to the [Integrations](https://web.clearfeed.app/settings/integrations) tab.
2. Within the list of available integrations, locate and select **Salesforce.**
3. Click on `Connect` button.
4. You will be asked to enter the Salesforce sub-domain. Click Connect and you will be redirected to Salesforce login.
5. Once you sign in, you will need to authorize ClearFeed to integrate with Salesforce by clicking on `Authorize Access`
6. You will then be redirected to the ClearFeed web app where you will get a success message.

</details>

### **Indexing Salesforce Knowledge Source**

{% hint style="info" %}
**As of now, we only support Salesforce Lightning Knowledge as a Knowledge Source.**
{% endhint %}

With the integration complete, you can now index your Knowledge Source:

* From the left navigation bar on the ClearFeed WebApp, go to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources)**.**
* Hover over the "Add Knowledge Source" dropdown at the top right corner to select `Salesforce`.
* A side drawer will appear, prompting you to provide specific details:
  * **Name**: Enter a title for the Knowledge Source (this will be shown in ClearFeed).
  * **Tags**: Add tags to categorize and organize Knowledge Sources as per your needs.
  * **Knowledge Object Name**: Enter the API name of your Knowledge article object (e.g., `Knowledge__kav`).
    * Find it in **Salesforce Setup → Object Manager → search “Knowledge” → copy the API name**.
  * **Article Body Field**: Enter the API name of the field storing the article’s main content.
    * In Salesforce: **Object Manager → Knowledge object → Fields & Relationships → locate the Rich Text field → copy the API name**.
  * **External URL Field (optional)**: If articles have a public URL, enter the API name of that URL field.
    * Find it in **Object Manager → Knowledge object → Fields & Relationships → look for a URL-type field**.
  * **Category Groups**: Specify the API names of category groups (`__c`) used to classify articles.
    * In Salesforce: **Setup → Data Categories → view the group structure → copy the API names**.
* After saving, the Knowledge Source will either start indexing immediately (reflected by an **In Progress** status) or will be picked soon (reflected with an **Initiated** status). Get more details on Managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).
* **Reindexing Salesforce Docs -** To reindex Salesforce documents, manually reindex the knowledge source by clicking the "Reindex" button next to it.

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>" %}
<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Google Drive

Use Docs and PDFs from your Google Drive workspace to answer questions on Slack

{% hint style="info" %}
**Note:** Only the user who set up the Google Drive integration can configure a Google Drive Knowledge Source.
{% endhint %}

<details>

<summary>Prerequisite - <strong>Integrating with Google Drive</strong></summary>

To index your Knowledge Source from Google Drive, first connect your Google Drive account to ClearFeed:

1. Go to `Settings` from the nav-bar, and open the [Integrations](https://web.clearfeed.app/settings/integrations) tab.
2. In the list of integrations, find **Google Drive** and click **Connect**.
3. You’ll be redirected to the Google sign-in page. Select the account you want to index files from.
4. Grant ClearFeed permission for accessing your Google Drive.
5. After granting access, you’ll be redirected back to ClearFeed, and the integration will be complete.

</details>

## **Indexing** Files from Drive

With the integration complete, you can now index documents from your Google Drive account to be used as a source of knowledge for answering questions using below steps:

1. In the ClearFeed WebApp, go to **AI →** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources) from the left navigation bar.
2. Hover over the **Add Knowledge Source** dropdown in the top-right corner and select **Google Drive**.
3. A side drawer will appear. Fill in the following details:
   * **Name** – The display title for this Knowledge Source in ClearFeed.
   * **Tags** – Identifiers to categorize and organize the Knowledge Source. *Freshdesk* will be added as a default tag, but you can add more based on your needs.
   * **Files** – Select the files to index.
     * You can choose multiple files from the same folder.
     * Selections are cleared when navigating to another folder.
     * To pick files from multiple folders, finish selecting from the current folder, click **Add Files**, and repeat.
   * **Auto Reindex Regularly** – Enable to automatically reindex this Knowledge Source every 24 hours.
4. Click **Save**. The Knowledge Source will begin indexing immediately (status: *In Progress*) or be queued to index soon (status: *Initiated*). For more details, see [**Managing Knowledge Sources**](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).

<figure><img src="/files/UVAc7HmC9FVIzb2U80lF" alt="" width="563"><figcaption><p>Adding and managing files from Drive</p></figcaption></figure>

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>" %}
<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# File Store

Use files from your laptop (PDFs, Docs, and more) as Knowledge Sources in ClearFeed.

## **Indexing** Files

Follow these steps to upload a file and create a new Knowledge Source:

{% hint style="info" %}
ddd
{% endhint %}

1. In the ClearFeed WebApp, go to **AI →** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources) from the left navigation bar.
2. Hover over the **Add Knowledge Source** dropdown in the top-right corner and select **File Store**.
3. A side drawer will open. Fill in the following:
   * **Name** → Display title for this Knowledge Source in ClearFeed.
   * **Tags** → Add identifiers to organize the Knowledge Source. *(If no tags are added, a default tag may be assigned. You can always edit tags later.)*
   * **File Type** → Supported formats include:

     * PDF
     * DOCX
     * TXT
     * HTML
     * Markdown (max 100MB per file)

     <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>Each Knowledge Source supports a single file. To add multiple files, create separate Knowledge Sources or use Google Drive.</p></div>
4. Click **Save**. The file will begin indexing:

   * **Initiated** → Queued and will start indexing soon.
   * **In Progress** → Currently being indexed.

   For more details, see [**Managing Knowledge Sources**](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).

<figure><img src="/files/vnWVHZ5LBtqJOuG4LDuf" alt="" width="563"><figcaption><p>Adding KS using File Store</p></figcaption></figure>

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>" %}
<https://github.com/clearfeed/new-docs/blob/main/ai-agents/build-ai-agents.md>
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# GitHub

Guidelines to add and index your GitHub Knowledge Source

You can use GitHub as a Knowledge Source to index files from public or private repositories. ClearFeed uses the GitHub App connected to your account, so you do not need to provide a personal access token while adding the Knowledge Source.

## Prerequisite: Connect GitHub for Knowledge Sources

Before adding a GitHub Knowledge Source, connect GitHub from **Account Settings > Integrations > GitHub**.

When connecting GitHub, choose **Issues + Knowledge Source**. This lets ClearFeed create and sync GitHub issues, and read the selected repositories for Knowledge Sources.

{% hint style="info" %}
You may need a GitHub organization admin to approve or install the ClearFeed GitHub App. During installation, you can grant ClearFeed access to all repositories or only selected repositories.
{% endhint %}

For the full GitHub integration setup, see [GitHub integration](/clearfeed-help-center/integrations/github).

## Add a GitHub Knowledge Source

1. Navigate to **AI > Knowledge Sources** from the left sidebar in the ClearFeed WebApp.
2. Click **Add Knowledge Source** and select **GitHub**.
3. Complete the configuration form:
   * **Name**: Enter a descriptive title for this Knowledge Source.
   * **Tags**: Add tags to categorize the source. `GitHub` is included by default.
   * **Auto Reindex Regularly**: Enable this option to automatically update the Knowledge Source every 24 hours.
   * **Repository**: Select the GitHub repository you want ClearFeed to index.
   * **Folder Path**: Optionally enter a folder path to index only a specific folder inside the repository. Leave this blank to index the whole repository.
4. Click **Add**.

After the Knowledge Source is added, ClearFeed starts indexing the selected repository. The status may show **In Progress** while indexing is running, or **Initiated** if it is queued.

{% hint style="warning" %}
If the GitHub App is not connected with Knowledge Source permissions, ClearFeed shows an **Extended GitHub App Not Connected** message while adding the source. Use **Open Integrations** from that message, reconnect GitHub with **Issues + Knowledge Source**, and then return to add the Knowledge Source.
{% endhint %}

## Edit or reindex a GitHub Knowledge Source

You can edit an existing GitHub Knowledge Source to change the repository or folder path. Changing either value triggers ClearFeed to reindex the source using the updated selection.

To manually reindex a GitHub Knowledge Source, click **Reindex** next to it. Get more details on managing Knowledge Sources [here](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources).

## Using AI Agents

Once you've configured the Knowledge Source, learn how to build and use AI Agents.

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}


# ClearFeed Requests

You can now use past ClearFeed Requests or Tickets as a Knowledge Source for your AI Agents. This allows the AI Agent to use past, resolved requests to generate contextual answers to new user queries.

When using ClearFeed Requests as a Knowledge Source, the AI Agent automatically prioritizes more recent tickets when there are conflicting answers to the same question. This ensures that, if a policy or answer changes over time, the AI will prefer the latest available information from your ticket history.

{% hint style="info" %}
**Prerequisite:**

* ClearFeed Requests/Tickets as a Knowledge Source is powered by **Request Search** in the ClearFeed WebApp:
* Request Search must be enabled on your account for this Knowledge Source to work.
* Some older accounts may not have Request Search turned on automatically. In such cases, you may see an error when trying to enable ClearFeed Requests as a Knowledge Source. Please contact ClearFeed support (Slack or email) to have Request Search enabled for your account.
  {% endhint %}

Follow the process below to configure ClearFeed Requests as a Knowledge Source.

* From the left navigation bar on the ClearFeed WebApp, go to **AI >** [**Knowledge Sources**](https://web.clearfeed.app/knowledge-sources)**.**
* Hover over the **“Add Knowledge Source”** dropdown at the top right corner and select **ClearFeed Requests** (or **ClearFeed Tickets** for Internal Helpdesks).
* A side drawer will appear, prompting you to provide specific details:
  * **Name**: Designate a title for this Knowledge Source, which will be displayed on ClearFeed.
  * **Tags**: These are identifiers linked with every Knowledge Source, aiding in categorization and structuring. Customize tags based on your needs. **Note**: *Slack* will be a default tag.
  * **Duration:** Select the duration of past requests to index initially. This determines how much historical request data is included during the first indexing.
  * **Requests:** Choose how you want to index requests.

    * **All Requests:** Index all requests from your ClearFeed account.
    * **Specific Channels:** Index requests only from selected channels.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Note:</p><ul><li>If any connected request channels contain sensitive or confidential data, ensure that such requests are only exposed in channels or workflows where access to such data is appropriate.</li><li>Only tickets within your configured data-retention period (e.g., last 365 days) are indexed for use as a Knowledge Source.</li><li><p>There are two typical patterns when using tickets as a knowledge source:</p><ul><li><strong>Public channels:</strong> Older tickets can be used to help answer new questions.</li><li><strong>Private tickets:</strong> Content from private tickets is used only to generate answers for agents using Agent Assistant (for eg) (ie. for internal use by support team only).</li></ul></li></ul></div>
* After saving your addition, the Knowledge Source will be functional.

## Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents that can leverage this knowledge source and plug them into support workflows using the Agent Assistant or Virtual Agent.

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}


# Atlas

Atlas is ClearFeed’s native knowledge base. You can add Atlas as a Knowledge Source to let AI Agents answer questions using your published Atlas articles.

Unlike external sources, Atlas does not require any authentication or external connection. You can directly control **what parts of your Atlas content get indexed** using categories and URL rules.

## Adding Atlas as a Knowledge Source

To add Atlas:

1. Go to **AI Agents → Knowledge Sources**
2. Click **Add Knowledge Source**
3. Choose **Atlas**
4. Configure the options below
5. Click **Add**

### Configuration Options

* Name: This is only used to identify it inside ClearFeed (for example: *“Public Help Center”* or *“Internal Atlas Docs”*).
* Tags: Add one or more tags to label this Knowledge Source. Tags help you:
  * Organize multiple knowledge sources
  * Filter or group sources inside ClearFeed
  * Understand what this source is used for (for example: `atlas`, `internal`, `product-docs`)
* Categories: Choose which Atlas categories should be indexed:

  * **Index all categories:** All published articles across all Atlas categories will be indexed.
  * **Index specific categories:** Only articles from the selected categories will be indexed.

  Use this when:

  * You want different AI Agents to use different parts of your knowledge base
  * You want to exclude internal or irrelevant categories from AI answersIndex pages where URL

  Only published articles in the selected categories are indexed.
* Index pages where URL: This lets you further **filter which Atlas pages are included** using URL-based conditions. You can:

  * Add one or more conditions
  * Include or exclude pages based on their URL pattern

  If no conditions are added, all pages from the selected categories are indexed.
* Auto Reindex Regularly: When enabled, ClearFeed will automatically reindex this Knowledge Source **once every 24 hours**. This ensures that:
  * Newly published articles are picked up
  * Updates to existing articles are reflected in AI answers
  * Deleted or unpublished content is removed from the index

## What Content Is Indexed

AI Agents will use:

* Published Atlas articles
* Article title, content, and excerpt
* Category and tag context (to improve relevance)

AI Agents will **not** use:

* Draft articles
* Unpublished articles
* Content outside the selected categories or URL rules

### Using AI Agents

Once you've configured the knowledge sources, learn how to build and use AI Agents

{% content-ref url="/pages/BG6lBe8zAALu5HQvWnQQ" %}
[Build AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/build-ai-agents)
{% endcontent-ref %}

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

### **Manage Knowledge Sources**

Once the status of the knowledge source has been indexed, learn more on how to manage the knowledge source below.

{% content-ref url="/pages/4mEyGIe8R45x3rjcY7ug" %}
[Manage](/clearfeed-help-center/clearfeed-ai/knowledge-sources/managing-knowledge-sources)
{% endcontent-ref %}


# Manage

Streamline Knowledge Source management on the ClearFeed web app

ClearFeed allows you to track the indexing statuses and manage all added Knowledge Sources. Navigate to the [Knowledge Sources](https://web.clearfeed.app/knowledge-sources) section on the web app, and get started!

## Status Insights

Each Knowledge Source in ClearFeed is assigned a status reflecting its current indexing state:

1. **Initiated**: Awaiting its turn for indexing. Click on `Refresh Status` after a few minutes to see the updated status.
2. **In Progress**: Currently being processed for indexing. Click on `Refresh Status` after a few minutes to see the updated status.
3. **Indexed**: Ready to use for generating answers, with indexing being completed.
4. **Failed**: Indexing was not successful. You should try re-indexing this Knowledge Source. If the problem persists, please contact our support team at <support@clearfeed.ai> or connect with us directly on Slack/Intercom.
5. **Terminated**: User-cancelled the indexing process.

<figure><img src="/files/yy50NsNvpFXEeZi9YjRe" alt="" width="563"><figcaption><p>Knowledge Source Statuses</p></figcaption></figure>

{% hint style="info" %}
**Note**: Information from Knowledge Sources that have been successfully indexed at least once will be utilized for generating responses, irrespective of their current status.

1. We update the status of Knowledge Sources every 5 minutes. Don't be surprised if you notice that an **Initiated** Knowledge Source was **Indexed** without you noticing the **Indexing** proces&#x73;**.**
2. Information from Knowledge Sources that have been successfully indexed at least once will be utilized for generating responses, irrespective of their current status.
   {% endhint %}

## Managing Actions

Buttons on the knowledge source and `3 dots` option present options for the following actions:

* **Edit**: Update the **Name, Tags, Conditions,** and other key parameters of the Knowledge Sources.
* **Reindex**: Use the `Re-index` button to re-index your Knowledge Source. This will ensure that the GPT-Powered Answers reflect the latest information from your Knowledge Source.
* **Delete**: Remove Knowledge Sources at these stages - **indexed**, currently **indexing**, or **terminated**. Deleting an indexed source will prevent its data from being used to generate responses.
* **Terminate**: Stop the indexing process mid-way if needed.

<figure><img src="/files/jnAKKsmVKN1wB962ZdmZ" alt="" width="563"><figcaption><p>Actions available for managing your Knowledge Sources</p></figcaption></figure>


# Testing

Assess the accuracy and relevance of GPT-Powered Answers

{% hint style="info" %}
Confirm that all necessary Knowledge Sources have been added and that their current status has been **Indexed**. You **cannot** test a Knowledge Source having any other status.
{% endhint %}

* Navigate to AI> [KBs](https://web.clearfeed.app/knowledge-sources) from the navigation bar and click on the `Test` tab to enter the testing environment.
* Use the dropdown menu on the right to select the appropriate tags for the Knowledge Sources you want to test.
* Enter your question into the text box and click the "Run" button to begin the test.
* The generated answer and the search results (snippets) will be displayed in a text box below your question.

<figure><img src="/files/xWoFPfdePaBEhArOQwMV" alt=""><figcaption><p>Assess the accuracy and relevance of GPT-Powered Answers</p></figcaption></figure>


# FAQs

1. **Does ClearFeed support indexing the knowledge sources partially?** **Answer:** Yes, knowledge sources can be indexed partially when some URLs/pages from the knowledge source are interested in ClearFeed and can be used for answer generation. You can see the status of the source as **Partially Indexed** on the KBs page as shown below.

<figure><img src="/files/KNWHardWW0gSffbETYad" alt="" width="563"><figcaption></figcaption></figure>

2. **I am getting a failure trying to index my web-site. What are the possible reasons?** **Answer:** These failures can be due to different reasons.
   * Unable to access the web-site or URL. This may happen if the web-site is not open to all IP addresses or wrong URL has been entered. Sometimes websites behind a WAF or a service like CloudFlare are not accessible from all crawlers. For such issues - please find the details of our crawler's IP address and user-agent string in the next FAQ entry and white-list them.
   * The web-site may be password-protected. In this case please reach out to ClearFeed support to integrate with the authentication mechanism.
3. **What is the User Agent and IP address of ClearFeed's web crawler?** **Answer:** The outbound IP address used by the ClearFeed web crawler is `3.209.240.136`. The User Agent is `Clearfeed/1.0`.
4. **Does ClearFeed use data from the knowledge base to train the AI models?** **Answer:** We do not use any customer data, messages, or knowledge sources to train our AI models. Our model is trained on synthetic data, and the feedback provided by users on answers is used only to display metrics. Any future changes to this policy would require explicit opt-ins from customers. Therefore, you can be assured that your data will not be used for model training.


# AI Agents

Intelligent assistants that automatically answer questions and take actions

## Overview

AI Agents in ClearFeed provide instant answers from your knowledge sources and can perform tasks in connected tools like Jira, Zendesk, and HubSpot. They can respond directly to customers or suggest answers privately to your support team - you choose the mode that fits your workflow.

**Key capabilities:**

* Answer questions using your documentation, help center, and knowledge base
* Create and update tickets in Jira, Zendesk, and other tools
* Auto-classify and route support requests
* Provide 24/7 coverage without adding headcount
* Help many teams deflect a significant portion of common questions automatically

Each AI Agent is configured at the **Collection** level, allowing teams to tailor behavior, data access, and tool integrations for different support workflows.

## Key Concepts

* **AI Agent:** The intelligent assistant you configure to answer questions and take actions. Each agent has its own knowledge sources and settings.
* **Knowledge Source:** Your documentation (Confluence, Notion, Google Drive, etc.) that the AI searches for answers.
* **Collection:** A group of Slack channels with shared settings. Each Collection has one AI Agent configuration.
* **Conversation Mode:** How the AI interacts:
  * **Virtual Agent**: AI responds directly to customers (public)
  * **Agent Assistant**: AI suggests answers to your team privately
* **Bot Interactions:** Ability to tag `@clearfeed` in messages to ask questions or trigger actions on-demand.

## **Supported Knowledge Sources**

See the Knowledge Sources documentation for the full list and setup steps.

{% content-ref url="/pages/d028ADy98JpoQondI6tx" %}
[Knowledge Sources](/clearfeed-help-center/clearfeed-ai/knowledge-sources)
{% endcontent-ref %}

## **Supported Integrations**

AI Agents can connect to tools like Jira, Zendesk, Notion, HubSpot, Okta, JumpCloud, Asset Panda, BambooHR, Kandji, and more to take actions directly from Slack and workflows.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-type="content-ref"></th></tr></thead><tbody><tr><td>Jira</td><td><a href="/pages/dxjGXZ6K7IqikwTgkmaN">/pages/dxjGXZ6K7IqikwTgkmaN</a></td></tr><tr><td>Zendesk</td><td><a href="/pages/t4sBfBeFulKxwFDpX02S">/pages/t4sBfBeFulKxwFDpX02S</a></td></tr><tr><td>HubSpot</td><td><a href="/pages/TvZw3mymdUTymoB1I9qI">/pages/TvZw3mymdUTymoB1I9qI</a></td></tr><tr><td>Okta</td><td><a href="/pages/RdKF608CIIXO3bsVNGre">/pages/RdKF608CIIXO3bsVNGre</a></td></tr><tr><td>JumpCloud</td><td><a href="/pages/IByExdmf7ZMFUqXCTEAo">/pages/IByExdmf7ZMFUqXCTEAo</a></td></tr><tr><td>Asset Panda</td><td><a href="/pages/CWkyuZiqqpJLOdg08XiL">/pages/CWkyuZiqqpJLOdg08XiL</a></td></tr><tr><td>BambooHR</td><td><a href="/pages/gxozOjjc16pRrtnyE5U8">/pages/gxozOjjc16pRrtnyE5U8</a></td></tr><tr><td>Kandji</td><td><a href="/pages/ioDoLx1iIa109dfgmvbF">/pages/ioDoLx1iIa109dfgmvbF</a></td></tr></tbody></table>

## **Configure AI Agents** <a href="#configure-ai-agents" id="configure-ai-agents"></a>

{% content-ref url="/pages/KfSu1GlJW2NmCvxVTv5c" %}
[Use AI Agents](/clearfeed-help-center/clearfeed-ai/ai-agents/use-ai-agents)
{% endcontent-ref %}

## Pricing

ClearFeed’s AI Agent capabilities depend on your plan and whether you have the **AI Pack** add-on.

**Professional & Enterprise plans**\
The AI Pack is included at no extra cost. You can create AI Agents that integrate with your tools, take automated actions, and provide answers using Knowledge Sources.

**Starter plan**\
AI Agents, Knowledge Sources, and AI-powered Automations are available with the **AI Pack** add-on. The add-on costs **$20 per month per account** and can be purchased during upgrade or at any later stage.

**Trial**\
Starter customers can request a one-time AI Pack trial (typically 14 days). During the trial, all AI Pack features are enabled. After it ends, access to AI Agents and Knowledge Sources is revoked unless you upgrade or purchase the AI Pack.

Refer to the [Pricing page](/clearfeed-help-center/pricing-and-billing/pricing) for more details.

## FAQs

1. **Where can I use AI Agents?**\
   **Answer:** AI Agents work directly in Slack threads and conversations. You can either tag them manually or set them to respond automatically.
2. **Can I customize my AI Agents?**\
   **Answer:** Yes. Each AI Agent can be configured at the **Collection level**, so different teams can tailor behavior, tool access, and Knowledge Sources to their needs.
3. **What do I need to set up an AI Agent?**\
   **Answer:** To use an AI Agent, you’ll need to:
   * Add Knowledge Sources in ClearFeed
   * Connect the tools you want the AI Agent to take actions in (Jira, Zendesk, HubSpot, etc.)
   * Create and configure your AI Agent in the ClearFeed dashboard.
4. **Which integrations are supported?**\
   **Answer:** AI Agents currently support: Jira, Zendesk, Notion, HubSpot, Okta, JumpCloud, Asset Panda, BambooHR, and Kandji.
5. **Can AI Agents take actions or only answer questions?**\
   **Answer:** Both. They can provide context-aware answers and also take actions (e.g., create a ticket, update a record) in your connected tools.
6. **Are AI Agents included in my plan?**\
   **Answer:**
   * **Professional & Enterprise plans**: Yes, AI Pack (and AI Agents) are included at no extra cost.
   * **Starter plan**: AI Agents are only available with the AI Pack add-on ($20/month per account).
   * **Trial plan**: All AI Pack features, including AI Agents, are available during the 14-day trial.
7. **Can I try AI Agents before paying?**\
   **Answer:** Yes. Starter customers can request a **one-time AI Pack trial** (typically 14 days). After the trial ends, AI Agents and Knowledge Sources are disabled unless you upgrade or purchase the AI Pack.
8. **What happens if my AI Pack trial expires?**\
   **Answer:**
   * AI Agents are downgraded and no longer function with Knowledge Sources.
   * Indexed Knowledge Sources are removed.
   * You can reactivate them anytime by purchasing the AI Pack or upgrading to Professional.
9. **Will removing AI Pack delete my AI Agents?**\
   **Answer:** Yes, the AI agents are only available with an AI Pack so if you remove or don't opt for AI Pack, access to AI Agents will be revoked
10. **How can I purchase AI Pack during my AI Pack trial or after my AI Pack trial expires?**\
    **Answer:** For purchasing the AI pack, go to AI Agents or Knowledge Sources, you will see an Upgrade button, click on it. Most of the details would be auto-populated based on the details submitted earlier. Refer [here](/clearfeed-help-center/account-setup/plans-and-billing#steps-to-upgrade) for more details.


# Build AI Agents

AI Agents in ClearFeed help teams automate answers, assist agents, and continuously improve documentation. ClearFeed supports two types of AI Agents, each designed for a distinct purpose and workflow:

* **Answer Agents** – Respond to user questions and assist agents using Knowledge Sources and tools.
* **Documentation Agents** – Analyze tickets and requests to identify documentation gaps and improvement opportunities.

Each agent type differs in configuration, testing, and how it is used across ClearFeed.

## Create a New AI Agent

1. From the left navigation in the ClearFeed web app, go to **AI >** [**Agent Studio.**](https://web.clearfeed.app/ai-agents)
2. Click **New AI Agent**.
3. Choose the agent type:
   * **Answer Agent** – Respond to user questions and assist agents using Knowledge Sources, Integrations, and/or Web Search. To create an Answer Agent, you must enable at least one of the following:
     * A Knowledge Source
     * An Integration
     * Web Search
   * **Documentation Agent** – Reviews tickets and requests to suggest documentation improvements.

The agent type determines what can be configured, how the agent is tested, and how it is activated.

<figure><img src="/files/ADMwfeSyEAd86xnIGeBq" alt="" width="291"><figcaption></figcaption></figure>

## Configure Your Agent

### Knowledge Sources

**Applies to both Answer Agents and Documentation Agents**

Knowledge Sources define what information the AI Agent can access. They are optional for Answer Agents, but required for Documentation Agents. Answer Agents can operate without Knowledge Sources if Web Search or Integrations are enabled.

You can configure Knowledge Sources in one of the following ways:

* **Add All:** Allow the agent to use all indexed Knowledge Sources.
* **Pick Specific:** Limit the agent to selected Knowledge Sources using tags to control scope.

#### Prioritizing Knowledge Sources for AI Agent Answers

ClearFeed lets you **prioritize knowledge sources** used by your AI Agents when generating answers. This gives you control over which documentation the agent should prefer when multiple knowledge sources are connected.

<figure><img src="/files/iwfc6rCNtzjjZtsVhzb7" alt="" width="563"><figcaption></figcaption></figure>

Each knowledge source connected to an AI Agent can be marked as **Primary** using tags.

**How it works**

* When prioritization is enabled, you define one or more tags that identify **Primary Knowledge Sources**
* The AI Agent searches all primary knowledge sources first
* If a confident answer can be generated from these sources, the agent **does not consult secondary sources**
* Secondary knowledge sources are used **only if the primary sources do not sufficiently cover the question**

**When prioritization is disabled**

* The AI Agent searches **all connected knowledge sources equally**, with no preference—this is the default behavior for existing agents

#### Restrict Knowledge Source Access by Customer Conditions

ClearFeed lets you restrict specific Knowledge Sources linked to an AI Agent so they are available only for customers who match defined customer conditions.

This is useful when the same AI Agent serves multiple customer segments, but some documentation should only be used for a subset of customers.

You can add multiple customer conditions and map each condition to one or more Knowledge Source tags.

**How it works**

* Knowledge Sources that are **not mapped to any customer condition** remain **public** for that AI Agent
* Knowledge Sources mapped to a customer condition are available **only when the invoking customer matches that condition**
* If a Knowledge Source matches multiple conditions, the customer only needs to satisfy **one** of those conditions to access it
* At invocation time, ClearFeed first determines the customer tied to the request and evaluates that customer's properties before deciding which Knowledge Sources the AI Agent can use

<figure><img src="/files/ljfT4xOxz4bt33oHQG3P" alt=""><figcaption><p>Configuring customer conditions for Knowledge Source access</p></figcaption></figure>

**Example**

Assume your AI Agent has access to these Knowledge Sources:

* `General Help Center` tagged `public-docs`
* `Enterprise Setup Guide` tagged `enterprise-docs`
* `Premium Success Playbooks` tagged `premium-docs`

You then configure these customer conditions:

* If `Customer = Acme Corp`, allow tag `enterprise-docs`
* If customer custom field `Plan = Premium`, allow tag `premium-docs`

At runtime:

* A customer with no matching condition can use only `General Help Center`
* A request from the customer `Acme Corp` can use `General Help Center` and `Enterprise Setup Guide`
* A customer on the `Premium` plan can use `General Help Center` and `Premium Success Playbooks`

**How Customer Conditions Work with Primary Knowledge Sources**

Primary Knowledge Source selection and customer-based access control work together in the following way:

1. Based on your **Primary Knowledge Source** tags, each selected Knowledge Source is classified as either **Primary** or **Secondary**
2. At invocation time, ClearFeed uses the customer's properties to determine which Knowledge Sources of the AI Agent the customer can access
3. Within that accessible set, some Knowledge Sources will be **Primary** and others will be **Secondary** based on your configuration of the **Primary Knowledge Source** tags

{% hint style="info" %}
If you want a specific Knowledge Source to not appear in References, this can be configured for your AI Agent. There is currently no UI setting for this, so please reach out to us to get it set up.
{% endhint %}

#### Advanced Knowledge Source Configuration

**Answer Agents Only**

These settings control how Knowledge Sources are used when generating answers. They apply only to Answer Agents used as **Virtual Agents** or **Agent Assistants** at the collection level.

#### Customize AI Responses

* **Display AI-Generated Answers:** Choose whether AI-generated responses are shown.
* **Share Search Results:** Display relevant search results alongside the answer and configure how many results to show.
* **Share References:** Display documentation references used to generate the answer and configure how many references to show (up to 6).
* **Exclude Certain Knowledge Sources from References:** Contact ClearFeed Support and provide a list of Knowledge Source tags to exclude. URLs from these sources will be hidden from the final references list, but the AI Agent can still use them to generate answers.

  **Example use case:** Your AI Agent uses both public help docs and internal runbooks to answer questions. End users should not access internal runbooks, so those sources are excluded from the references list while still being used for answer generation.

### Configure Web Search

Allow your agent to use real-time web search to find current information from the web. Web Search can be used on its own or in combination with Knowledge Sources and Integrations. Web Search can be enabled as the only information source for an Answer Agent.

<figure><img src="/files/CHb5BdxnJDo0R2brAOEq" alt="" width="563"><figcaption></figcaption></figure>

### Understand Images in Conversations

**Answer Agents Only**

Answer Agents can read images posted in Slack conversations and use them as part of the conversation context.

This helps the agent understand:

* Error messages and banners shown in screenshots
* Visible IDs, URLs, and other troubleshooting details
* The screen or workflow the user is referring to

This is especially useful when users report issues by sharing screenshots instead of describing the problem fully in text.

### Integrations

**Answer Agents Only**

Answer Agents can connect to external systems to perform actions.

#### Supported Integrations

* Jira
* Zendesk
* HubSpot
* GitHub

#### Integration Permissions

Under **Advanced Settings**, control what the agent is allowed to do for each integration:

* Grant specific permissions manually
* Allow only current permissions
* Enable all current and future permissions

By default, all current and future permissions are enabled. This can be customized at any time.

<figure><img src="/files/OJVhqGPj1QQrWtNPtPW2" alt="" width="563"><figcaption></figcaption></figure>

### Provide Instructions for the AI Agent

Both agent types support instructions, but they serve different purposes.

### Documentation Agent Instructions

Documentation Agents use instructions to control **how documentation gaps are identified and reported**. They do not answer end-user questions or perform actions.

#### Instruction Structure

* **Helpdesk Context**\
  Defines the scope and nature of the helpdesk conversations.
* **Response Style**\
  Controls how suggestions are presented (concise, actionable, bullet-based).
* **Documentation Update Rules**\
  Defines what the agent is allowed to suggest (for example, only stable and released features).

These rules ensure the agent produces safe, implementation-ready recommendations.

<figure><img src="/files/oJMB0kkLlmTSUKRQWz1z" alt="" width="563"><figcaption></figcaption></figure>

### Answer Agent Instructions

Answer Agent instructions define **how the agent reasons, uses tools, and generates responses**.

#### Instruction Structure

* **Agent Role:** The Agent Role defines the agent’s core responsibility and operating boundaries. It sets the foundation for how the agent interprets queries, selects tools, and responds. It should clearly state:
  * What the agent is responsible for
  * How it should behave at a high level
  * Whether it must rely on tools or can answer directly
* **Restricted Queries:** Specify queries the agent must never answer to avoid sensitive or non-permissible responses. When detected, the agent skips responding.\
  **Examples:**
  * System credentials
  * Admin access
  * Salary or compensation data
* **Planning and Execution Instructions:** Define how the agent plans and executes tasks, including:
  * When tools must be used
  * How multiple tools should be sequenced
  * When execution should stop due to insufficient data
* **Response Generation Instructions:** Control tone, language, formatting, and fallback behavior.
* **Tone and Length:** Clear, concise, and aligned with your brand
* **Language:** By default, respond in the same language as the query
* **Knowledge Lookup & Fallback:** If relevant information is found, generate a response. If not, return a fallback message.

<figure><img src="/files/8HWKIzJOrXAT86grnHvp" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
You can include placeholders in the Instructions to add context:

* **Tool placeholders** (Jira, GitHub, Zendesk)
* **Conversation analysis** using `{{chat_analysis.process_chat}}`
  {% endhint %}

#### Improve Prompt (AI-Assisted)

The **Improve Prompt** option refines simple or incomplete instructions into a structured, production-ready prompt.

* Available for new and existing agents
* Disabled once improved
* Re-enabled only if instructions change

<figure><img src="/files/nnFtPKBMboOMbJJTnwA4" alt="" width="563"><figcaption></figcaption></figure>

### Select AI Model

ClearFeed lets you choose the AI model provider and a specific model for each Answer Agent. The selected provider and model are used when the agent generates responses from Knowledge Sources. Note this section only applies for customers who are not using [Bring Your Own Model](https://docs.clearfeed.ai/clearfeed-help-center/clearfeed-ai/ai-agents/bring-your-own-model) mode.

#### Supported Providers and Models (and some notes for each)

The number of AI models in the market can be confusing. Cost, Latency and Accuracy are tradeoffs. Expensive models can be more accurate, but also very slow. ClearFeed provides a selected subset of models from different providers that give users good choice over latency and quality at a reasonable cost. ClearFeed also has DPAs and no logging settings with each of these providers - that assure that your data stays secure and is not used for training AI models.

Below are the list of models currently available in ClearFeed:

* [OpenAI](https://openai.com): Models from OpenAI, with OpenAI as the inference platform. Available models:
  * `GPT-4.1`: old workhorse, with medium speed and quality.
  * `GPT-5.4 mini`: newer OpenAI upgrade equivalent to GPT-4.1 - also with medium speed & quality but lower cost.
  * `GPT-5.3-chat-latest`: newer OpenAI router model - lower speed, but higher quality than above two for chatbot applications.
* [Groq](https://groq.com): Open Weights Models, with Groq as the inference platform.
  * `GPT-OSS-120B`: Open-Weight model from OpenAI. Very fast, but lower accuracy and quality. Well suited for use cases where lower latency is important and questions and knowledge are simple in nature.
* [Gemini](https://deepmind.google/technologies/gemini/): Gemini models from Google, also using Google Cloud as the inference platform.
  * `Gemini-3-flash-preview`: similar to `GPT-5.4-mini` - with medium speed and quality.
  * `Gemini-3.1-pro`: similar to `GPT-5.3-chat-latest` with lower speed and higher quality.

<figure><img src="/files/7TkrdDghWDQn68zfc1Sw" alt="" width="563"><figcaption><p>Selecting the AI model provider and model for an Answer Agent</p></figcaption></figure>

By default, new AI Agents in ClearFeed come pre-configured with `GPT-OSS-120B` model from Groq to give a fast out-of-the-box experience. Users are advised to try one of the other models if quality of answers is unsatisfactory with Groq. To compare the performance of individual models, you can look them up on the [Artificial Analysis](https://artificialanalysis.ai/) site — for example, the [GPT-5.4 mini model card](https://artificialanalysis.ai/models/gpt-5-4-mini-medium).

{% hint style="info" %}
**Note:**

* **Reasoning Effort:** All models listed above are thinking models, except for `GPT-4.1`. For these models, ClearFeed defaults to the **medium** reasoning effort. The reasoning effort is not currently configurable by the user.
* **Model Coverage:** If you need a model not listed in the dropdown, contact ClearFeed Support. We are continuously evaluating and adding new providers and models.
  {% endhint %}

#### How AI Agents use models internally

AI Agents in ClearFeed use multiple AI models across different providers for different tasks. For example, when we consider individual components of the AI Agent's overall execution:

1. Detecting whether a query should not be answered
2. Finding whether a query has a pre-defined response in the prompt
3. Picking what API calls to make (in case integrations are configured)
4. Generating an answer from Knowledge Sources
5. Reformulating answers based on Agent instructions

all of these can be executed using different AI models (since their complexity differs). However - Step-3 is what takes the most time and where the model choice has a big impact on latency and accuracy. This is controlled by the model chosen by the user in the "[Select AI Model](#select-ai-model)" as described above. Model selection for other phases of the execution - like the ones shown above - are made internally by ClearFeed keeping the complexity and latency requirements in consideration.

Note that AI models used internally by ClearFeed are drawn from the same providers (Groq, OpenAI and Gemini), but may use an expanded set of models from these providers.

### Customize Look and Feel

**Answer Agents Only**

Customize how the agent appears in Slack:

* Display Name
* Profile Photo (image URL)
* Description for internal clarity

<figure><img src="/files/SZzG6LucXzCTw6ZjzWxM" alt="" width="563"><figcaption></figcaption></figure>

## Testing Your Agent

Testing helps validate behavior before enabling agents in production.

### Testing an Answer Agent

Answer Agents support **both chat-based and ticket/request-based testing**.

#### Chat-Based Testing

* Simulate conversations
* Review responses
* Inspect the **Execution Plan**, including tools, steps, and references

<figure><img src="/files/uw43j8HvAk2MKRA3lVYb" alt="" width="551"><figcaption></figcaption></figure>

#### Ticket / Request-Based Testing

* Test against existing tickets or requests
* Validate behavior when ticket context and fields are present
* Mirror real Virtual Agent and Agent Assistant usage

<figure><img src="/files/PRHJPp0f9KQHOhMP5xX0" alt="" width="554"><figcaption></figcaption></figure>

### Testing a Documentation Agent

Documentation Agents can be tested **only against tickets or requests**.

* Select an existing ticket or request
* Review documentation improvement suggestions

<figure><img src="/files/vYjetTpR3xvjcNjpen3v" alt="" width="559"><figcaption></figcaption></figure>

## FAQs

1. **What’s the difference between selecting a provider/model and BYOM?**\
   **Answer:**
   * **Selecting a model provider or model**
     * You choose a ClearFeed-managed provider default or an available model for an Answer Agent
     * Requests use **ClearFeed-managed credentials** for that provider/model
   * **Bring Your Own Model (BYOM)**
     * You add your **own API key**
     * Requests are routed to **your organization’s account**
2. **Which setting takes precedence: BYOM or provider/model selection?**\
   **Answer:** If BYOM is configured, it **always overrides** the provider chosen in the agent — all requests use the BYOM provider and credentials. Within that provider, the model dropdown still applies: if you have selected a specific model, ClearFeed uses it for Gold tier (Knowledge Source response generation); otherwise ClearFeed uses the provider's default Gold tier model.
3. **Can different Answer Agents use different providers or models?**\
   **Answer:** Yes. Provider and model selection is **per Answer Agent.** Multiple Answer Agents in the same workspace can use different providers or models, depending on the options available in that workspace.
4. **Will switching providers or models change my agent’s behavior?**\
   **Answer:** Yes. Different providers and models may vary in response quality, latency, style, and verbosity. We recommend testing a few sample questions before using a new provider or model in production.


# Use AI Agents

This guide explores how you can utilize GPT Powered Answers to its maximum capability

AI Agents help support teams respond faster and more consistently in Slack. They can answer questions using your knowledge, take actions in connected tools, and help keep documentation up to date - all while giving your team control over how AI interacts with customers.

Each AI Agent can be configured per Collection, so different teams can tailor AI behavior, data access, and integrations to match their workflows.

## What can AI Agents do?

AI Agents are used in three main ways:

### **Answer questions using Knowledge Sources**

AI Agents generate accurate, context-aware answers by searching your connected Knowledge Sources (docs, help centers, internal tools, etc.).

Answer Agents can also read images shared in Slack conversations, allowing them to use screenshots and other visual context when answering questions.

How answers appear depends on the Conversation Mode:

* Virtual Agent → AI replies directly to requesters in Slack
* Agent Assistant → AI drafts replies privately for agents to review and send

This helps:

* Reduce repetitive questions
* Improve response speed
* Maintain consistent answer quality

### **Take actions in connected integrations**

AI Agents can perform actions directly from Slack by connecting to integrations like Jira, Zendesk, HubSpot, Okta, JumpCloud, and more.

Examples include:

* Creating or updating Jira issues
* Searching or updating Zendesk tickets
* Creating or modifying HubSpot deals and contacts
* Managing users, access, and devices in IT systems
* Updating employee or asset records

This allows teams to resolve requests without switching tools or leaving Slack.

### **Identify documentation gaps**

AI Agents can also run as Documentation Agents, analyzing support conversations to:

* Detect missing documentation
* Flag outdated or incorrect content
* Identify opportunities to improve help resources

These agents work in the background and do not participate in live Slack conversations.

## Conversation Modes (How AI responds in Slack)

Each Collection uses exactly one Conversation Mode, which determines:

* Where AI responses appear
* Who can see them
* Whether AI replies directly to customers or assists agents privately

### Quick comparison

| Feature                | Virtual Agent      | Agent Assistant      |
| ---------------------- | ------------------ | -------------------- |
| Channel Type           | Request Channels   | Triage Channels      |
| Who sees the response? | Customer directly  | Internal agents only |
| Response Flow          | Fully automated    | Agent-reviewed       |
| Use case               | Self-serve support | Assisted support     |
| Control over messaging | Low (auto)         | High (manual)        |

### Virtual Agent - Public AI responses

In Virtual Agent mode, AI responds directly to customers in request channels.

**Best suited for:**

* Automating answers to common or straightforward questions
* Reducing inbound support volume
* Providing fast, real-time responses

**How it behaves:**

Virtual Agent intelligently detects questions or issues and monitors request channels, responding based on how you configure it:

**Trigger Mode** — Choose when the Virtual Agent responds to questions:

* Automatically — AI responds as soon as a question is detected
* On emoji reaction — AI responds only after a specific emoji is applied to the request message

{% hint style="info" %}
**Important:** To trigger the Virtual Agent with an emoji, always apply it directly on the request message — not on replies in the thread.
{% endhint %}

**Timing (when automatic ticketing is enabled)** - Choose when the Virtual Agent generates responses:

* Before ticket creation — AI responds before the ticket is submitted
* After ticket creation — AI responds after submission and can use ticket fields to generate more contextual answers

**Bot Interactions** - Optionally allow agents and requesters to tag the ClearFeed bot in request or triage channels to:

* Ask questions
* Trigger AI responses
* Perform supported actions

#### Virtual Agent with Ticketing

{% hint style="info" %}
**Note:** Interaction with the Virtual Agent is different when ticketing is set to automatic and manual respectively. This is applicable for both ClearFeed and External Ticketing.
{% endhint %}

#### Using Virtual Agent with Automatic Ticketing

When **Automatic** mode is enabled, you can choose *when* the Virtual Agent should generate its response:

**Before Ticket Creation**

The Virtual Agent attempts to answer **before** a ticket is created.

* If an answer is generated: The user is prompted to choose:
  * **Yes, mark as solved** — closes the request without creating a ticket
  * **No, create a ticket** — triggers ticket creation
* If no answer is generated, or if the user does not provide feedback within **1 hour**, the system automatically creates a ticket.

This mode helps deflect simple queries by resolving them before ticket creation.

**After Ticket Creation**

In this mode, the system creates a ticket **first**, and then the Virtual Agent attempts to answer. (Currently supported only when ticketing is set to **ClearFeed** or **Zendesk**.)

* The agent uses the details provided in the ticket form to generate a more accurate response.
* If an answer is generated: The user can respond with:
  * **Yes, mark as solved** — closes the ticket
  * **No** — keeps the ticket open (conversation continues with the human agent)

This mode is helpful when richer ticket details improve answer quality.

#### Using Virtual Agent with Manual Ticketing

* The Virtual Agent responds immediately to messages in the request channel.
* A ticket is created when a user reacts with the configured emoji regardless of their feedback response.

#### Using Virtual Agent in Interactive Agent Mode

Interactive Agent Mode is a setting for ClearFeed's Virtual Agent that enables conversational AI to engage users dynamically. It maintains a natural back-and-forth dialogue, asking clarifying questions to better understand the request.

* It can call configured tools/integrations (e.g., Jira, Zendesk) that are linked to the AI Agent to fetch data or perform actions while still in the conversation.
* If a human agent/responder steps into the chat, the interactive agent mode stops, allowing seamless handoff to live support if needed.

**Availability and Limitations:**

Interactive Agent Mode is available for **Slack (Customer) Collections** and **Web-Chat** only — it is **not available for Email**.

Additionally, Interactive Agent Mode has these requirements:

* Works only with **Automatic** trigger mode ("Automatically respond with a generated answer") — emoji trigger mode is not supported
* Pre-ticketing mode: Works with any ticketing integration
* Post-ticketing mode: Works only with ClearFeed native ticketing

Enable Interactive Agent Mode when you want AI to handle nuanced customer conversations naturally before escalating to human agents.

**Steps to Enable Interactive Agent Mode**

To enable two-way AI conversations (Interactive Agent) in Slack:

<figure><img src="/files/FtSXtaQ1lf3bEXYVOiA0" alt="" width="563"><figcaption><p>Enable Interactive Agent Mode from Collection Settings > AI Agent tab</p></figcaption></figure>

1. Navigate to the Collection where you want the AI agent to reply
2. Open **Collection Settings** > **AI Agent** tab
3. Enable **Virtual Agent Mode**
4. Turn on the toggle for **"Enable Interactive Agent"**
5. Set the Trigger Mode to **"Automatically respond with a generated answer"**

Once enabled, the AI agent will automatically respond to queries in Slack, and a human agent can take over the conversation at any point.

{% hint style="info" %}
**Session Escalation Behavior:**

If the Interactive Agent Mode is disabled while sessions are active, all existing conversations will automatically escalate to human agents. If ticketing is configured, a ticket will be filed (with form picker if applicable). Similarly, if there is no response from the non-responder for **1 hour**, the session will automatically escalate.
{% endhint %}

{% hint style="success" %}
**Tip:** You don't need to mention the ClearFeed bot explicitly. When Trigger Mode is set to **"Automatically respond with a generated answer,"** the AI agent will reply automatically.
{% endhint %}

### Agent Assistant - Private AI suggestions

In Agent Assistant mode, AI does not reply to customers directly. Instead, it drafts responses for agents to review.

**Best suited for:**

* Teams that want full control over customer communication
* Workflows requiring human review before sending replies
* Maintaining brand tone and personalization

**How it behaves:**

When you use Agent Assistant:

* Bot Interactions are always enabled and cannot be disabled
* No Trigger Mode or Timing settings are required
* AI only generates internal suggestions in triage channels
* Agents review, edit, and manually send responses to requesters

Agent Assistant operates within Triage Channels, providing AI-generated suggestions that agents can refine and post. Rather than responding automatically, it empowers your team with AI-crafted drafts that reduce time spent writing replies.

## How AI Agents work

### High-level process

When AI is triggered - automatically, through bot tagging, or via automations — it:

1. Understands the request and its context
2. Finds relevant knowledge or tool data
3. Takes supported actions if needed
4. Generates a response or suggestion

The exact behavior depends on the selected Conversation Mode.

### Detailed processing flow

When an AI Agent is invoked, it follows this technical process:

1. Evaluates the query against restricted queries to determine if it should respond
2. Creates a plan using planning and execution instructions to identify necessary steps and tools (based on configured Integrations)
3. Executes the plan by taking the necessary actions
4. Generates a response based on response instructions

### Answering questions from Knowledge Sources

When looking up information, the AI Agent:

1. Searches indexed sources for relevant snippets
2. Uses LLM to generate answers from those snippets
3. Posts the generated answer based on the Conversation Mode:
   * **Virtual Agent**: Posts directly in the request thread
   * **Agent Assistant**: Posts as an internal comment on the request's triage thread
4. Waits for agent approval (in Agent Assistant mode, agents can share the answer as-is or edit before sending)

If the AI Agent cannot find a relevant answer, it posts a message indicating "No relevant answers were found."

## Ways to invoke AI Agents

AI Agents can be triggered in multiple ways depending on your workflow:

* **Automatically on ticket/request creation** - AI responds without manual intervention
* **Manually on a ticket** - Agents trigger AI on-demand for specific requests when you apply an emoji
* **Bot interaction** - Tag the ClearFeed bot to ask questions or request actions
* **Automations** - Configure workflows to invoke AI under specific conditions
* **Ask AI** - Use the Ask AI feature to query the agent directly

## Setting up AI Agents

{% hint style="warning" %}
**Prerequisites before enabling an AI Agent in a Collection:**

Before you can set up an AI Agent for a Collection, ensure that you have:

1. Created/built an AI Agent
2. Connected Knowledge Sources to the AI Agent (if you want question-answering capabilities)
3. Connected required integrations to the AI Agent (Jira, Zendesk, HubSpot, etc.) for any actions you want it to perform
   {% endhint %}

To enable AI Agents for a Collection:

1. Go to Collection → Settings
2. Open AI Agent settings
3. Enable one Conversation Mode:
   * Virtual Agent, or
   * Agent Assistant
4. Select the AI Agent you want to use
5. Configure mode-specific settings:
   * For Virtual Agent: Set Trigger Mode, Timing (if ticketing enabled), and Bot Interactions preference
   * For Agent Assistant: Bot Interactions are enabled by default
6. (Optional) Customize the Virtual Agent identity:
   * Name - required
   * Avatar - optional (inherits from White Label settings if not provided)

## Tracking AI Agent sessions

### AI Agent Session Logs

You can track all AI Agent sessions from the [Session Logs](/clearfeed-help-center/clearfeed-ai/ai-agents/session-logs) page. Session Logs provide a consolidated view of all sessions for an AI Agent, with sessions grouped by how the agent was invoked, such as Virtual Agent, Agent Assistant, Bot Mention, Private Bot Mention, Automations, Message Bar, and ClearBot Assist. Use this page to review past executions, understand how the agent responded, and troubleshoot agent behavior in detail.

### Virtual Agent Filters

For Virtual Agent-linked requests, you can also track them separately from the Story Inbox using the **Virtual Agent** filter. This helps teams quickly identify requests that were answered by the Virtual Agent and review how those conversations were handled.

<figure><img src="/files/n0HppUaQx2J3r0nHqqmq" alt="Virtual Agent filters in Story Inbox" width="563"><figcaption><p>Use the Virtual Agent filter in Story Inbox to track Virtual Agent linked requests separately.</p></figcaption></figure>

The Virtual Agent filter currently includes three groups of filters:

* **Response** - Filter requests by whether the Virtual Agent **Answered** or left them **Unanswered**
* **Outcome** - Filter requests by whether the conversation was **Deflected** or **Escalated to Human**
* **Feedback** - Filter requests based on user feedback marked as **Positive** or **Negative**

## FAQs

1. **Where can AI Agents be used?**\
   **Answer:** AI Agents work directly inside Slack conversations.
2. **Can AI Agents both answer questions and take actions?**\
   **Answer:** Yes - they can generate answers from Knowledge Sources and perform actions in connected tools.
3. **Can different teams configure AI differently?**\
   **Answer:** Yes, AI behavior is configured per Collection, so different teams can use different settings.
4. **Do AI Agents require Knowledge Sources?**\
   **Answer:** Knowledge Sources improve answer quality and enable richer responses. They're essential for question-answering capabilities.
5. **Which integrations are supported?**\
   **Answer:** Jira, Zendesk, Notion, HubSpot, Okta, JumpCloud, Asset Panda, BambooHR, Kandji, and more.
6. **Where should I apply emojis to trigger Virtual Agent on the request message or in a reply?Answer:** Always apply the emoji directly on the request message. Adding emojis in thread replies will not trigger the Virtual Agent.
7. **How can I modify the time window for automatic ticket creation?**\
   **Answer:** If the Virtual Agent generates an answer successfully but receives no feedback within 1 hour, ticket creation is triggered automatically. To modify this 1-hour window, contact support at <support@clearfeed.ai>.
8. **What happens if a request status changes before the answer is generated?**\
   **Answer:** If the request is solved, converted into a ticket, or marked as "Not a request" before the answer is generated, the Virtual Agent will not post the answer at all.
9. **What happens to feedback buttons if a request status changes after an answer is generated?**\
   **Answer:** If the request is solved, converted into a ticket, or marked as "Not a request" after the answer is generated, the feedback buttons will be removed from the generated answer.




---

[Next Page](/clearfeed-help-center/llms-full.txt/1)

