Slack channels
The Slack integration allows you to manage which channels Thena can access and monitor. Channels are organized into two categories:These are public channels in your Slack workspace that Thena can see but hasn’t been added to yet. You can:
- View all accessible public channels
- Add Thena to channels directly
- Configure channel settings before adding
- Filter channels by name or purpose
Channel listing is paginated with 20 channels per page. Use the pagination controls to navigate through all available channels.
For private channels, the Thena Slack app must be manually added via Slack. Due to Slack API limitations, Thena cannot automatically access or join private channels.
Channel types
Customer channel
Customer channel
Channels where you interact directly with customers. These channels typically:
- Connect with external organizations
- Handle customer support inquiries
- Manage customer communications
- Track customer-specific issues
Internal helpdesk
Internal helpdesk
Internal support channels for your organization. These channels:
- Handle employee support requests
- Process access requests
- Support internal operations
- Eg: Manage internal IT issues
Triage channel
Triage channel
Channels dedicated to issue prioritization and routing. These channels:
- Sort and categorize incoming issues
- Assign tickets to appropriate teams
- Monitor SLA compliance
- Coordinate emergency responses
Alerts and automations
Alerts and automations
System and automation channels that:
- Receive system alerts and notifications
- Monitor automated processes
- Track integration events
- Log automated actions
Ticket creation settings
Configure how tickets are created from Slack messages and conversations.Conversation grouping window
Group messages within a specified time window (in minutes) to create a single ticket. This helps consolidate related messages into a single ticket rather than creating multiple tickets for an ongoing conversation. Default: 2 minutesNew messages in channel
New messages in channel
When a new message is posted in a channel:First three messages are grouped into one ticket since they’re within 2 minutes.
The last message creates a new ticket as it’s outside the 2-minute window.
- If no ticket exists in the last 2 minutes: Creates a new ticket
- If a ticket exists within 2 minutes: Adds message to existing ticket
- If multiple tickets exist: Adds to the most recent ticket
Thread messages
Thread messages
Messages in a thread are handled differently:Result:Result:All thread messages are grouped together even though they exceed 2 minutes.
- All messages in a thread are always grouped together, regardless of time window
- If a ticket exists for the parent message: All thread replies are added to that ticket
- If a new thread is created within the grouping window of another conversation: A new ticket is created
- All messages are grouped into one ticket since they’re within the 2-minute window
- Thread messages are included in the same ticket as they’re part of the conversation
- This shows how related messages and their threads are kept together when within the time window
- When customer replies at 11:00:30 AM, a ticket is created
- Since all messages are within the 2-minute window, they are grouped into the same ticket
- This includes both the thread messages and the new channel message at 11:01:15 AM
Multiple conversations
Multiple conversations
When different customers message in the same channel:Creates two tickets:
- Each customer’s messages are grouped separately
- Time window applies independently to each customer
- Thread ownership is preserved
- Customer A’s messages (10:00, 10:20)
- Customer B’s message (10:15)
Cross-thread scenarios
Cross-thread scenarios
When messages span multiple threads:Creates two tickets:
- Each thread is treated independently
- Messages outside threads follow the time window rule
- New threads can create new tickets
- Thread 1 messages
- New message and Thread 2 (since > 2 mins from Thread 1)
The conversation grouping window helps maintain context and reduce ticket fragmentation while ensuring separate issues are tracked independently. You can adjust the window duration based on your team’s needs.
Automatic ticket creation
When enabled, Thena automatically creates tickets for new conversations in configured channels. This ensures no customer inquiry goes untracked.Slash commands
Enable the/ticket
command in your Slack workspace. This allows team members to manually create tickets using a structured command interface.
@Thena tag
Allow creating tickets by tagging @Thena in messages. When enabled, team members can create tickets by mentioning @Thena in a message or thread.Forms
Optionally require users to fill out predefined forms when creating tickets. This ensures consistent information gathering for different types of requests.- Multiple forms can be selected and their order can be specified
- When multiple forms are selected, users will see a dropdown menu to choose the appropriate form
- Forms will be presented in the specified order in the dropdown menu
- This allows for different types of requests to be handled with their specific information requirements
Slack groups configuration
Map Slack user groups to Thena sub-teams to enable automatic ticket routing when a Slack group is tagged in a message. When a user mentions a Slack group (e.g., @engineering) in the initial message that creates a ticket, the ticket will be automatically assigned to the corresponding Thena sub-team.Note:
- Slack group routing only works when the group is mentioned in the initial message that creates the ticket. Mentioning a Slack group in subsequent thread messages will not change the ticket assignment.
- If a Slack group is mentioned in the initial message, the ticket will be assigned to the mapped sub-team regardless of other routing rules, taking priority over platform routing logic.
- Get all available Slack user groups in your workspace
- Map Slack groups to Thena sub-teams
- Get existing mappings between Slack groups and sub-teams
Notifications and triage
Configure how ticket notifications are distributed across your Slack channels through default triage channels and conditional routing rules.Default triage channels
Default triage channels receive notifications for all new tickets unless overridden by triage rules. You can configure multiple default channels where:- New ticket alerts are sent automatically
- Team members can triage tickets by assigning them to appropriate handlers
- Ticket details like urgency, priority, and request information are readily available
Triage rules
Triage rules allow you to route specific tickets to different channels based on ticket properties. Each rule consists of:- Rule name: A descriptive name for the rule
- Status: Enabled or disabled
- Conditions: Criteria that trigger the rule
- Target channels: Channels that receive notifications when conditions are met
Condition structure
Each condition has four components:-
Category: Select either:
- Ticket: For ticket-related properties
- Account: For account-related properties
-
Field: Available fields depend on the selected category
- Ticket fields: priority, urgency, type, etc.
- Account fields: health, status, tier, etc.
- Custom fields: Any custom fields defined for tickets or accounts are also available
-
Operator: Select from the following comparison operators:
- Equals: Exact match
- In list: Value exists in a list
- Greater than or equal: Value is greater than or equal to
- Less than or equal: Value is less than or equal to
- Matches regex: Value matches a regular expression pattern
- Starts with: Value begins with a specific string
- Ends with: Value ends with a specific string
- Contains: Value contains a specific string
- Value: The exact value to match against. Format should match the operator type (e.g., comma-separated values for ‘In list’, regex pattern for ‘Matches regex’)
Multiple conditions
You can combine multiple conditions using:- AND conditions: All conditions must be true
- OR conditions: Any condition can be true
If a triage rule matches, notifications are sent ONLY to the target channels specified in that rule, not to the default channels. To include default channels, add them explicitly as target channels in your rule.
Rule evaluation
When multiple rules are configured:- All rules are evaluated
- If multiple rules match the conditions, the notification will be sent to the target channels of all matching rules
- This allows you to set up multiple routing rules that can work together to ensure the right teams are notified
Examples
Refer to the API endpoints section for details on creating and managing triage rules through our API.High priority ticket triage
High priority ticket triage
Rule name: High Priority RoutingConditions:
- Category: Ticket
- Field: Priority
- Operator: Equals
- Value: HIGH
Critical account health triage
Critical account health triage
Rule name: Critical Account HealthConditions:
- Category: Account
- Field: Health
- Operator: Equals
- Value: RED
Complex routing example
Complex routing example
Rule name: Enterprise Urgent IssuesAND Conditions:
- Condition 1:
- Category: Account
- Field: Tier
- Operator: Equals
- Value: ENTERPRISE
- Condition 2:
- Category: Ticket
- Field: Priority
- Operator: Equals
- Value: HIGH
- Condition 1:
- Category: Ticket
- Field: Type
- Operator: Equals
- Value: OUTAGE
AI features
Configure AI-powered features to enhance ticket creation and management. Each feature uses customizable prompts that you can tailor to your business needs.AI models
Select from our supported AI models to power your automation:- Grok-2: XS AI flagship conversational model
- Claude 3.7 Sonnet: Anthropic’s advanced reasoning model with state-of-the-art capabilities
Some models support deep thinking mode for more thorough analysis. This option will be available in the model settings if supported.
AI features
Ticket detection
Automatically identifies when a conversation requires a support ticket. Default prompt:Title generation
Creates concise, informative ticket titles following a standardized format. Default prompt:Description generation
Creates structured, comprehensive ticket descriptions. Default prompt:Sentiment analysis
Evaluates the tone and emotional context of conversations. Default prompt:Urgency detection
Assesses the priority level of support requests. Default prompt:Custom fields auto-fill
Extracts relevant information to populate custom ticket fields. Default prompt:Customizing prompts
All default prompts can be customized to better match your organization’s needs:- View the current prompt for any AI feature
- Edit the prompt to include specific requirements or formatting
- Save changes to update the AI behavior
Prompt changes will affect all future ticket processing. Test changes thoroughly before applying them to production environments.
API endpoints
These APIs are part of the Slack app in the Apps Framework and require:
- Authentication using the API Key specific to your Slack app installation (not the platform’s auth token)
- Base URL from the API references section, which varies by environment (development, staging, production)
Team settings
Get team settings
Get the current ticket creation settings for a team. Path:/v1/slack/settings/teams/{teamId}
Method:
GET
Headers:
Update team settings
Path:/v1/slack/settings/teams/{teamId}
Method:
PUT
Update the configuration settings for a specific Slack team.
Triage rules
List triage rules
Path:/v1/slack/triage/{teamId}
Method:
GET
Retrieve all triage rules configured for your workspace.
Headers:
Create triage rule
Path:/v1/slack/triage/{teamId}
Method:
POST
Create a new triage rule with specified conditions and target channels.
Headers:
Update triage rule
Path:/v1/slack/triage/{ruleId}
Method:
PATCH
Update an existing triage rule. The request body follows the same format as the create endpoint.
Headers:
Delete triage rule
Path:/v1/slack/triage/{ruleId}
Method:
DELETE
Delete an existing triage rule.
Headers:
Slack groups
List Slack groups
Path:/v1/slack/settings/teams/{teamId}/groups
Method:
GET
Retrieve all available Slack user groups in your workspace.
Headers:
List mapped groups
Path:/v1/slack/settings/teams/{teamId}/groups/mapped
Method:
GET
Retrieve all Slack groups that are currently mapped to Thena sub-teams.
Headers:
Map Slack group to sub-team
Path:/v1/slack/settings/teams/{teamId}/groups
Method:
PATCH
Create a mapping between a Slack user group and a Thena sub-team.
Headers:
Channel management
List channels
Get a list of available or configured channels in your Slack workspace. Path:/v1/slack/channel
Method:
GET
Query parameters:
Map channels
Configure channel type and team mapping for one or more Slack channels. Path:/v1/slack/teams/map-channels
Method:
POST
Request body:
The channel type specified in the request should match one of the channel types described in the Channel types section above.
AI features
List all prompts
Path:/v1/prompts
Method:
GET
Retrieve all AI prompts configured for your organization.
Headers:
Get prompt by ID
Path:/v1/prompts/{promptId}
Method:
GET
Retrieve a specific prompt configuration.
Headers:
Create prompt
Path:/v1/prompts
Method:
POST
Create a new set of AI prompts.
Headers:
Update prompt
Path:/v1/prompts/{promptId}
Method:
PUT
Update an existing prompt configuration.
Headers:
Delete prompt
Path:/v1/prompts/{promptId}
Method:
DELETE
Soft delete a prompt configuration.
Headers: