Ticketing · Beta
Thena
API integration
Ship Ticketing features without building the integration. Full Thena API access via Proxy and 130+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Thena
Common scenarios for SaaS companies building Thena integrations for their customers.
Sync engineering tickets with customer Slack threads
Issue trackers and project management tools can offer users a Thena integration that keeps bug tickets in sync with the customer conversations that spawned them. When engineers resolve issues, the Slack thread and Thena ticket update automatically, closing the loop with the customer.
Enrich customer health scores with support signals
Customer success and CRM platforms can pull ticket volume, priority distribution, and CSAT data from Thena accounts to power churn risk models. This gives CSMs a complete view of account health without switching tools.
Push external context into support conversations
Product analytics, billing, and onboarding tools can log activities and notes on Thena accounts so support agents see relevant customer context before replying in Slack. This reduces back-and-forth and speeds up resolution.
Route calls, emails, and forms into Thena tickets
Telephony, email, and form-builder SaaS products can create Thena tickets from external channels and assign them to the right agent or team. This lets end-users consolidate all support intake into their existing Thena workflows.
Feed closed tickets into AI knowledge bases
AI assistants and knowledge management platforms can ingest historical tickets and comments from Thena to train RAG models or auto-suggest replies. Federated search across accounts, tickets, and contacts gives AI agents the context they need.
What You Can Build
Ship these features with Truto + Thena
Concrete product features your team can ship faster by leveraging Truto’s Thena integration instead of building from scratch.
Two-way ticket sync
Create, update, and resolve Thena tickets from your app while mirroring status, assignee, tags, and priority changes back into your own ticketing model.
Account activity timeline
Write activities, notes, and tasks to Thena accounts so support agents see product events, milestones, and CSM actions inline with customer conversations.
Automated in-thread replies
Post comments on Thena tickets programmatically to deliver AI-generated suggestions, resolution updates, or workflow notifications directly into the customer's Slack or Teams thread.
CSAT and sentiment sync
Pull CSAT rules and submissions from Thena to sync customer satisfaction scores into your CRM, BI, or customer health scoring engine.
Team and routing management
Provision Thena teams, manage members, and update routing rules from your admin panel so end-users configure their support operations without leaving your product.
Federated Thena search
Expose a unified search over Thena tickets, accounts, contacts, and comments inside your app to power AI copilots or global search experiences.
SuperAI
Thena AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_thena_accounts
List all Thena accounts with optional pagination. Returns account objects including id, name, statusId, status, classificationId, classification, primaryDomain, accountOwner, accountOwnerId, accountOwnerEmail, customFieldValues, createdAt, and updatedAt.
create_a_thena_account
Create a new account in Thena. Returns the created account including id, name, source, primaryDomain, status, classification, health, industry, customFieldValues, metadata, createdAt, and updatedAt. Required: name, primaryDomain.
get_single_thena_account_by_id
Get a single Thena account by id. Returns the full account object including id, name, source, primaryDomain, status, classification, health, industry, accountOwner, and createdAt. Required: id.
update_a_thena_account_by_id
Update a Thena account by id. Returns the updated account object including id, name, source, primaryDomain, status, classification, health, and updatedAt. Required: id.
delete_a_thena_account_by_id
Delete a Thena account by id. Returns an empty 204 response on success. Required: id.
thena_accounts_filter_by_ids
Retrieve multiple Thena accounts by their ids. Returns account objects including id, name, source, primaryDomain, status, classification, health, and createdAt for each matching account. Required: ids.
thena_accounts_get_attributes
Get all account attribute values in Thena filtered by attribute type. Returns: id, attribute, value, isDefault, createdAt, updatedAt, name, source, logo, statusId, status, statusConfiguration, classificationId, classification, classificationConfiguration, healthId, health, healthConfiguration, industryId, industry, industryConfiguration, primaryDomain, secondaryDomain, accountOwner,…
list_all_thena_account_contacts
List Thena customer contacts for an account. Returns contacts including userId, user, userEmail, contactTypeId, contactType, createdAt, and updatedAt. Required: accountId.
create_a_thena_account_contact
Create a new customer contact in Thena. Returns: id, createdAt, updatedAt. Required: firstName, email.
update_a_thena_account_contact_by_id
Update an existing Thena customer contact by id. Returns: id, createdAt, updatedAt. Required: id.
delete_a_thena_account_contact_by_id
Delete a Thena customer contact by id. Returns an empty 204 response on success. Required: id.
thena_account_contacts_bulk_create
Create multiple customer contacts in bulk in Thena. Returns: total, created, skipped. Required: contacts.
thena_account_contacts_ingest
Ingest user contacts into Thena from an external source. Returns an array of ingested contact objects including uid, firstName, lastName, email, phoneNumber, avatarUrl, contactType, createdAt, and updatedAt. Required: users.
thena_account_contacts_filter_by_ids
Filter Thena customer contacts by a list of IDs. Returns matching contacts including id, firstName, lastName, email, phoneNumber, avatarUrl, accounts, contactTypeId, contactType, customFieldValues, metadata, createdAt, and updatedAt. Required: ids.
create_a_thena_account_activity
Create a new account activity in Thena. Returns the created activity object including id, accountId, account, activityTimestamp, duration, location, title, description, type, typeId, typeConfiguration, status, statusId, statusConfiguration, participants, creator, creatorId, creatorEmail, attachments, createdAt, updatedAt, and metadata. Required: accountId, activityTimestamp, title.
list_all_thena_account_activities
List account activities in Thena, optionally filtered by account, type, or status. Returns activities with id, accountId, title, activityTimestamp, type, status, participants, and metadata.
update_a_thena_account_activity_by_id
Update an existing account activity in Thena by id. Returns the updated activity object including id, accountId, title, activityTimestamp, type, status, participants, and metadata. Required: id.
delete_a_thena_account_activity_by_id
Delete a Thena account activity by id. Returns an empty 204 response on success.
thena_account_activities_remove_attachment
Remove an attachment from a Thena account activity. Returns an empty 204 response on success. Required: activity_id, attachment_id.
create_a_thena_account_note
Create a new account note in Thena. Returns the created note including id, accountId, account, content, type, typeId, typeConfiguration, visibility, attachments, author, authorId, authorEmail, createdAt, updatedAt, and metadata. Required: accountId, content.
list_all_thena_account_notes
List account notes in Thena, optionally filtered by account ID or type. Returns each note with id, accountId, account, content, type, visibility, attachments, author, createdAt, and updatedAt.
update_a_thena_account_note_by_id
Update an account note in Thena by id. Returns the updated note including id, accountId, account, content, type, typeId, visibility, attachments, author, authorEmail, createdAt, and updatedAt. Required: id.
delete_a_thena_account_note_by_id
Delete an account note in Thena by id. Returns an empty 204 response on success. Required: id.
thena_account_notes_remove_attachment
Remove a specific attachment from an account note in Thena. Returns an empty 204 response on success. Required: note_id, attachment_id.
create_a_thena_account_task
Create a new account task in Thena. Returns the created task including id, accountId, title, status, priority, assigneeId, attachments, createdAt, and updatedAt. Required: accountId, title, assigneeId.
list_all_thena_account_tasks
List account tasks in Thena, filterable by account, activity, assignee, type, status, and priority. Returns: id, accountId, account, activityId, title, description, assigneeId, type, typeId, typeConfiguration, status, statusId, statusConfiguration, priority, priorityId, priorityConfiguration, attachments, isActive, creator, creatorId, creatorEmail, createdAt, updatedAt, metadata.
update_a_thena_account_task_by_id
Update an existing account task in Thena by id. Returns: id, type, createdAt, updatedAt. Required: id.
delete_a_thena_account_task_by_id
Delete an account task in Thena by id. Returns an empty 204 response on success. Required: id.
thena_account_tasks_remove_attachment
Remove an attachment from an account task in Thena. Returns an empty 204 response on success. Required: task_id, attachment_id.
create_a_thena_comment
Create a new comment on an entity in Thena. Returns the created comment object including id, content, commentType, commentVisibility, author, createdAt, and attachments. Required: entityType, entityId.
delete_a_thena_comment_by_id
Delete a Thena comment by id. Returns an empty 204 response on success. Required: id.
get_single_thena_comment_by_id
Get a single Thena comment by id. Returns the full comment object including id, content, commentType, commentVisibility, author, authorId, createdAt, and attachments. Required: id.
thena_comments_list_threads
List threaded replies for a comment in Thena. Returns an array of comment objects with id, content, commentVisibility, author, authorId, createdAt, and attachments. Required: comment_id.
thena_comments_list_by_user_type
Get comments for an entity in Thena filtered by user type. Returns comment objects with id, content, commentVisibility, author, authorUserType, createdAt, and attachments. Required: entityType, entityId, userType.
list_all_thena_comments
List comments on an entity in Thena. Returns each comment's id, content, isEdited, commentType, author, createdAt, updatedAt, and attachments. Required: entityType, entityId.
update_a_thena_comment_by_id
Update a comment in Thena by id. Returns the updated comment including id, content, contentMarkdown, isEdited, commentType, author, createdAt, and updatedAt. Required: id, content (1–5000 characters).
create_a_thena_custom_field
Create a new custom field in Thena. Returns the created custom field including its name, uid, slug, organizationId, options, metadata, isActive, createdAt, and updatedAt. Required: name, source, fieldType.
delete_a_thena_custom_field_by_id
Delete one or more custom fields in Thena by field ID and version. Returns an empty 204 response on success. Required: fields.
thena_custom_fields_get_types
Get all available custom field types in Thena, grouped by category. Returns: text, numeric, choice, date, user, specialized, file, calculated, lookup, geographic, rating, toggle.
list_all_thena_custom_fields
List all custom fields in Thena. Returns: name, uid, slug, organizationId, options, metadata, createdAt, updatedAt, isActive, teamId, autoAddToAllForms, hintText, placeholderText, mandatoryOnCreation, mandatoryOnClose, visibleToCustomer, editableByCustomer, defaultValue.
thena_custom_fields_get_restricted_fields
Get all Thena-restricted fields that cannot be customized, with optional filtering by team and field types. Returns: id, name, fieldType, description.
thena_custom_fields_get_by_ids
Fetch Thena custom fields by their IDs in bulk. Returns: name, uid, slug, organizationId, options, metadata, createdAt, updatedAt, isActive, teamId, autoAddToAllForms, hintText, placeholderText, mandatoryOnCreation, mandatoryOnClose, visibleToCustomer, editableByCustomer, defaultValue. Required: ids.
thena_custom_fields_search
Search Thena custom fields by name with optional team filtering. Returns: name, uid, slug, organizationId, options, metadata, createdAt, updatedAt, isActive, teamId, autoAddToAllForms, hintText, placeholderText, mandatoryOnCreation, mandatoryOnClose, visibleToCustomer, editableByCustomer, defaultValue. Required: term.
thena_custom_fields_bulk_update
Update a Thena custom field's configuration. Returns: createdAt, updatedAt. Required: uid.
thena_csat_create_rule
Create a CSAT rule for a team in Thena with filters, trigger configuration, and feedback form settings. Returns: ok, data (the team's CSAT settings including id, team, organization, isEnabled, cooldownPeriodDays, rules, createdAt, updatedAt). Required: team_uid.
thena_csat_delete_rule
Delete a CSAT rule by ID in Thena. Returns an empty 204 response on success. Required: id.
thena_csat_get_rule
Get a single CSAT rule by ID in Thena. Returns: id, name, description, isActive, priority, allFilters, anyFilters, triggerConfig, feedbackConfig, createdAt, updatedAt. Required: id.
thena_csat_get_settings
Get CSAT settings for a team in Thena, including cooldown periods, closed status IDs, and all configured rules. Returns: data, status, message, timestamp, statusCode, error. Required: team_uid.
thena_csat_reorder_rules
Reorder the priority of CSAT rules for a team in Thena by submitting an ordered array of rule IDs. Returns: ok, data. Required: team_uid.
thena_csat_submit
Submit CSAT feedback for a Thena survey. Returns: success, message. Required: token.
thena_csat_bulk_update
Update the CSAT settings for a Thena team. Returns: ok and data containing id, team, organization, isEnabled, cooldownPeriodDays, userCooldownPeriodDays, emailConfigId, closedStatusIds, rules, createdAt, updatedAt. Required: team_uid, cooldownPeriodDays, emailConfigId, userCooldownPeriodDays, closedStatusIds.
thena_csat_update_rule
Update a CSAT rule by id. Required: id.
thena_emoji_actions_list_actions
List all available emoji actions in Thena. Returns a list of action name strings such as ticket-to-closed, ticket-to-in-progress, and ticket-to-on-hold.
thena_emoji_actions_delete_action
Delete an emoji action by team and action id in Thena. Returns an empty 204 response on success. Required: team_id, emoji_action_id.
thena_emoji_actions_list_team_actions
List all emoji actions configured for a specific team in Thena. Returns a list of action name strings such as ticket-to-closed, ticket-to-in-progress, and ticket-to-on-hold. Required: team_id.
thena_emoji_actions_map_action
Map an emoji action for a team in Thena. Returns: ok, data. Required: team_id.
thena_emoji_actions_update_action_by_id
Update a specific emoji action mapping in Thena by team and emoji action IDs. Returns: ok, data. Required: team_id, emoji_action_id, emoji, action.
thena_emoji_actions_bulk_update
Update an existing emoji action mapping for a team in Thena by specifying a new action and its associated emojis. Returns: ok, data. Required: team_id, action, emojis.
list_all_thena_forms
List all Thena forms, optionally filtered by team or escalation type. Returns: id, name, description, fields, conditions, version, isActive, createdAt, updatedAt, channels, teamId, order.
create_a_thena_form
Create a new Thena form with fields, conditions, and channel assignments. Returns the created form including id, name, description, isActive, version, default, order, fields, conditions, channels, teamId, createdAt, updatedAt. Required: name.
delete_a_thena_form_by_id
Delete one or more Thena forms in batch by formId and version. Default forms cannot be deleted. Returns an empty 204 response on success. Required: forms.
thena_forms_get_by_ids
Retrieve specific Thena forms by their IDs. Returns: id, name, description, fields, conditions, version, isActive, createdAt, updatedAt, channels, teamId, order. Required: ids.
thena_forms_order
Reorder Thena forms by specifying new display positions for each form. Returns the updated forms including id, name, description, isActive, version, default, order, fields, conditions, channels, teamId, createdAt, updatedAt. Required: forms.
thena_forms_search
Search Thena forms by name with optional team filtering. Returns a list of forms with id, name, description, fields, conditions, version, isActive, default, channels, and order. Required: term.
thena_forms_bulk_update
Update a Thena form by formId and version with partial updates to fields, conditions, channels, and other form attributes. Returns the updated form including id, name, description, fields, conditions, version, isActive, default, createdAt, updatedAt, channels, teamId, and order. Required: formId, version, updates.
thena_storage_upload
Upload a single file to Thena storage. Returns: id. The optional expiry query parameter sets the file's expiration duration (1d, 1w, 1m, 1y) when shouldExpire is enabled.
list_all_thena_tags
List all tags in Thena, optionally filtered by type. Returns: id, name, color, createdAt, updatedAt, description.
update_a_thena_tag_by_id
Update a Thena tag by id. Returns the updated tag object including id, name, color, createdAt, updatedAt, and description. Required: id, name, color. Name must be 1–50 characters and color must be a valid hex color.
delete_a_thena_tag_by_id
Delete a Thena tag by id. Returns an empty 204 response on success. Required: id.
create_a_thena_tag
Create a new tag in Thena. Returns the created tag object including id, name, color, createdAt, updatedAt, and description. Required: name, color. Name must be 1–50 characters and color must be a valid hex color.
thena_tags_create_team_tag
Create a new tag for a particular team in Thena. Returns: count, items, id, name, color, createdAt, updatedAt. Required: team_uuid, name, color. Name must be 1–50 characters and color must be a valid hex color.
get_single_thena_tag_by_id
Get a specific Thena tag by id. Required: id.
thena_tags_list_team_tags
List all tags for a particular team. Required: team_uuid.
thena_tags_remove_team_tag
Remove a tag from a particular team. Required: team_uuid, tag_uuid.
thena_tags_update_team_tag
Update a tag for a particular team. Required: team_uuid, tag_uuid.
create_a_thena_team
Create a new team in Thena. Returns the created team object including id, name, teamId, identifier, teamOwner, isActive, isPrivate, and createdAt. Required: name.
update_a_thena_team_by_id
Update an existing team in Thena by id. Returns the updated team object including id, name, teamId, identifier, isActive, isPrivate, and updatedAt. Required: id.
delete_a_thena_team_by_id
Delete a team in Thena by id. Returns an empty 204 response on success. Required: id.
get_single_thena_team_by_id
Get a single team in Thena by id. Returns the team object including id, name, teamId, identifier, teamOwner, isActive, isPrivate, createdAt, and updatedAt. Required: id.
thena_teams_update_routing_rule
Update a Thena team routing rule identified by team_id and rule_id. Returns the updated routing rule with id, name, teamId, evaluationOrder, resultTeamId, fallbackTeamId, andRules, orRules, description, createdBy, createdById, createdAt, and updatedAt. Required: team_id, rule_id.
thena_teams_create_routing_rule
Update a team routing rule in Thena. Returns the routing rule object including id, name, teamId, evaluationOrder, resultTeamId, fallbackTeamId, andRules, orRules, createdBy, createdAt, createdById, updatedAt, and description. Required: team_id.
list_all_thena_teams
List all teams that the current user is part of.
thena_teams_list_public
List all public teams.
thena_teams_add_member
Add a member to a team. Required: team_id.
thena_teams_list_members
List all members of a team. Required: team_id.
thena_teams_remove_member
Remove a member from a team. Required: team_id, member_id.
thena_teams_list_sub_teams
List sub-teams for a team. Required: team_id.
thena_teams_get_configurations
Get configurations for a team. Required: team_id.
thena_teams_update_configurations
Update configurations for a team. Required: team_id.
thena_teams_get_routing
Get routing rules for a team. Required: team_id.
thena_teams_delete_routing_rule
Delete a team routing rule. Required: team_id, rule_id.
thena_reactions_list_emojis
List all available reaction emojis in Thena. Returns: id, name, unicode, url, aliases, keywords, createdAt, updatedAt, statusCode, message, error.
thena_reactions_remove
Remove a reaction from a comment in Thena. Returns an empty 204 response on success. Required: comment_id, reaction_name, impersonatedUserEmail.
thena_reactions_add
Add a reaction to a comment in Thena. Returns a boolean confirming the reaction was successfully added. Required: comment_id, name.
thena_search_entity_search
Search a specific Thena collection (tickets, comments, accounts, customer_contacts, help_center, users, organization, teams) by query string across specified fields. Returns: id, uid, ticketIdentifier, ticketId, title, description, source, accountId, account, status, statusId, statusName, statusUid, priority, priorityId, priorityName, priorityUid, storyPoints, type, typeId, typeName, typeUid,…
thena_search_federated_search
Run multiple federated searches across Thena collections in a single POST request. Each search in the array specifies a query string and fields to query by. Returns: id, uid, ticketIdentifier, ticketId, title, description, source, accountId, account, status, statusId, statusName, statusUid, priority, priorityId, priorityName, priorityUid, storyPoints, type, typeId, typeName, typeUid, typeIcon,…
list_all_thena_users
List Thena users with their scheduling configuration. Returns: timezone, userId, dailyConfig, commonDailyConfig, createdAt, updatedAt.
thena_users_get_current
Get the current authenticated user's details in Thena. Returns: id, name, email, userType, status, isActive, lastLoginAt, avatarUrl, timezone, createdAt, updatedAt.
thena_users_get_details
Fetch the current user's detailed profile from Thena. Returns: id, name, email, userType, status, isActive, lastLoginAt, avatarUrl, timezone, createdAt, updatedAt.
update_a_thena_user_by_id
Update the current user details.
thena_users_update_availability
Update the current user availability.
thena_users_update_working_hours
Update the current user working hours / business hours.
thena_users_list_time_off
List time-off entries for the current user.
thena_users_create_time_off
Create a time-off entry for the current user.
thena_users_update_time_off
Update a time-off entry by id. Required: id.
thena_users_delete_time_off
Delete a time-off entry by id. Required: id.
list_all_thena_tickets
List Thena tickets with optional team and date range filters. Returns: id, ticketIdentifier, title, ticketId, description, source, accountId, status, statusId, priority, priorityId, storyPoints, account, teamId, teamName, teamIdentifier, subTeamId, subTeamName, subTeamIdentifier, isPrivate, typeId, type, assignedAgent, assignedAgentId, assignedAgentEmail, assignedAgentAvatar, requestorEmail,…
create_a_thena_ticket
Create a new ticket in Thena. Returns the created ticket object including id, ticketIdentifier, title, ticketId, status, priority, teamId, requestorEmail, assignedAgentEmail, sentiment, isEscalated, and a nested comment object with its own id, content, author, and timestamps. Required: title, requestorEmail, teamId.
update_a_thena_ticket_by_id
Update a Thena ticket by id. Returns the updated ticket object including id, title, description, status, priority, teamId, assignedAgentEmail, createdAt, updatedAt. Required: id.
delete_a_thena_ticket_by_id
Delete a Thena ticket by id. Returns an empty 204 response on success. Required: id.
thena_tickets_list_statuses
List all ticket statuses in Thena, optionally filtered by team. Returns: id, name, displayName, description, isDefault, teamId, organizationId, createdAt, updatedAt, parentStatusId.
thena_tickets_list_priorities
List all ticket priorities in Thena for a given team. Returns: id, name, displayName, description, teamId, organizationId, isDefault. Required: teamId.
get_single_thena_ticket_by_id
Get a single Thena ticket by id. Returns the full ticket object including id, ticketIdentifier, title, description, status, priority, assignedAgent, teamName, createdAt, updatedAt, and team/sub-team metadata. Required: id.
thena_tickets_create_status
Create a new ticket status in Thena. Returns: id, name, displayName, description, isDefault, teamId, organizationId, createdAt, updatedAt, parentStatusId. Required: name, teamId, parentStatusId.
thena_tickets_update_status
Update a ticket status in Thena by id. Returns: id, name, displayName, description, isDefault, teamId, organizationId, createdAt, updatedAt, parentStatusId. Required: id.
thena_tickets_delete_status
Delete a ticket status in Thena by id. Returns an empty 204 response on success. Required: id, fallback.
thena_tickets_bulk_create
Create multiple tickets in bulk in Thena. Returns: id, title. Required: tickets.
thena_tickets_bulk_update
Update multiple tickets in bulk in Thena by ticket IDs. Returns: updated, skipped. Required: ticketIds.
thena_tickets_bulk_delete
Delete multiple tickets in bulk in Thena by providing an array of ticket IDs. Returns an empty 204 response on success. Required: ticketIds.
thena_tickets_archive
Archive a ticket by id. Required: id.
thena_tickets_unarchive
Unarchive a ticket by id. Required: id.
thena_tickets_assign
Assign a ticket to an agent. Required: id.
thena_tickets_reassign_team
Reassign a ticket to a team. Required: id.
thena_tickets_comment
Comment on a ticket. Required: id.
thena_tickets_list_comments
Get comments for a ticket. Required: id.
thena_tickets_get_related
Get related tickets for a ticket. Required: id.
thena_tickets_get_status
Get a ticket status by its id. Required: id.
thena_tickets_bulk_archive
Archive tickets in bulk.
thena_tickets_list_tags
Get all tags for a ticket. Required: id.
thena_tickets_add_tags
Add tags to a ticket. Required: id.
thena_tickets_remove_tag
Remove a tag from a ticket. Required: id, tag_id.
Why Truto
Why use Truto’s MCP server for Thena
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Thena in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Thena account
Use Truto’s frontend SDK to connect your customer’s Thena account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Thena
Truto’s Proxy API is a 1-to-1 mapping of the Thena API. You call us, we call Thena, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Thena’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Thena on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication does the Thena integration use?
Truto handles authentication with Thena on your behalf, so your end-users complete a one-time connection flow and you make API calls through Truto without managing tokens, refresh logic, or credential storage.
Can I create and update tickets in bulk?
Yes. Truto exposes Thena's bulk operations for tickets, including bulk create, bulk update, bulk delete, and bulk archive, which is useful for backfills and large syncs from your system into Thena.
Does the integration support Thena's custom fields?
Yes. You can list, search, create, and bulk update Thena custom fields, retrieve field types and restricted fields, and read or write custom field values on tickets and accounts.
Can I automate Thena's emoji-based workflows?
Yes. The integration supports listing emoji actions, mapping actions, updating them individually or in bulk, and removing them, so you can align Slack-native triggers with your product's workflows.
How do I keep Thena tickets in sync with my system in near real time?
You can poll list endpoints such as list_all_thena_tickets and list_all_thena_comments with filters, and use federated search to reconcile state. If webhook or event-based sync is required for your use case, Truto can enable it on request.
What Thena data can I access beyond tickets?
The integration covers accounts, account contacts, activities, notes, tasks, comments, tags, teams and routing, users and availability, working hours, time off, forms, CSAT rules and submissions, custom fields, reactions, and file storage uploads.
From the Blog
Thena integration guides
Deep dives, architecture guides, and practical tutorials for building Thena integrations.
Thena
Get Thena integrated into your app
Our team understands what it takes to make a Thena integration successful. A short, crisp 30 minute call with folks who understand the problem.