Provide AI customer chat support
with web deployments


Jennice
Hey, my billing dashboard still shows old invoices after today’s
refresh. Any idea why?

Taylor
Hi Jennice! That usually happens when the cache isn’t cleared.
Are you calling /syncBillingData
on each dashboard load?

Jennice
No, just on login.

Jennice
That be helpful.

Powered by

AI agent
Taylor

Taylor
Got it. Try calling it on view load or set a shorter cache TTL.
Want a quick code sample?

Taylor
Here you go
// Trigger cache sync on dashboard view load
useEffect(() => {
// Trigger cache sync on dashboard view load
useEffect(() => {

Jennice
Hey, my billing dashboard still shows old invoices after today’s
refresh. Any idea why?

Taylor
Hi Jennice! That usually happens when the cache isn’t cleared.
Are you calling /syncBillingData
on each dashboard load?

Jennice
No, just on login.

Jennice
That be helpful.

Powered by

AI agent
Jenny

Taylor
Got it. Try calling it on view load or set a shorter cache TTL.
Want a quick code sample?

Taylor
Here you go
// Trigger cache sync on dashboard view load
useEffect(() => {
// Trigger cache sync on dashboard view load
useEffect(() => {

Jennice
Hey, my billing dashboard still shows old invoices after today’s
refresh. Any idea why?

Taylor
Hi Jennice! That usually happens when the cache isn’t cleared.
Are you calling /syncBillingData
on each dashboard load?

Jennice
No, just on login.

Jennice
That be helpful.

Powered by

AI agent
Taylor

Taylor
Got it. Try calling it on view load or set a shorter cache TTL.
Want a quick code sample?

Taylor
Here you go
// Trigger cache sync on dashboard view load
useEffect(() => {
// Trigger cache sync on dashboard view load
useEffect(() => {

Jennice
Hey, my billing dashboard still shows old invoices after today’s
refresh. Any idea why?

Taylor
Hi Jennice! That usually happens when the cache isn’t cleared.
Are you calling /syncBillingData
on each dashboard load?

Jennice
No, just on login.

Jennice
That be helpful.

Powered by

AI agent
Taylor

Taylor
Got it. Try calling it on view load or set a shorter cache TTL.
Want a quick code sample?

Taylor
Here you go
// Trigger cache sync on dashboard view load
useEffect(() => {
// Trigger cache sync on dashboard view load
useEffect(() => {

Jennice
Hey, my billing dashboard still shows old invoices after today’s
refresh. Any idea why?

Taylor
Hi Jennice! That usually happens when the cache isn’t cleared.
Are you calling /syncBillingData
on each dashboard load?

Jennice
No, just on login.

Jennice
That be helpful.

Powered by

AI agent
Taylor

Taylor
Got it. Try calling it on view load or set a shorter cache TTL.
Want a quick code sample?

Taylor
Here you go
// Trigger cache sync on dashboard view load
useEffect(() => {
// Trigger cache sync on dashboard view load
useEffect(() => {

Jennice
Hey, my billing dashboard still shows old invoices after today’s
refresh. Any idea why?

Taylor
Hi Jennice! That usually happens when the cache isn’t cleared.
Are you calling /syncBillingData
on each dashboard load?

Jennice
No, just on login.

Jennice
That be helpful.

Powered by

AI agent
Taylor

Taylor
Got it. Try calling it on view load or set a shorter cache TTL.
Want a quick code sample?

Taylor
Here you go
// Trigger cache sync on dashboard view load
useEffect(() => {
// Trigger cache sync on dashboard view load
useEffect(() => {
Deploy AI agents anywhere—your web chat, app, or portal. Deliver expert-level answers instantly, in any language, tone, or domain. Scale global support, reduce wait times, and maintain continuity with smooth human handoffs when needed.
Your AI evolves in real time—adapting to context, learning from every interaction, and delivering precision at scale.
Thena AI works at a scale humans can't match.
Support agent

Suggested response
Assign ticket
Create ticket
Resolve
Read knowledge base
Summarize tickets
AI that handles every ticket, from start to resolution.
AI agents handle customer conversations across Slack, Teams, email, and chat. Set triggers, craft prompts, and let AI resolve or reroute tickets at the right moment, based on your logic or customer behavior.
Auto-close tickets
Status change
Auto-fill fields
Update knowledge base
AI coaching
Automate workflows across every touchpoint.
Get started
Support operations

Account management

Create QBR reports
Generate insights
Summarize accounts
Read knowledge base
Proactive outreach
Stay ready for every customer conversation.
Your accounts, always organized. AI captures notes, tasks, and key metrics in real time, prepares QBRs, updates histories, and surfaces signals so you're informed, proactive, and ready for every customer conversation.
Complex operations, elegantly automated. AI agents generate summaries, extract insights, close tickets, populate fields, and route tasks. Workflows that once needed teams now run in seconds with intelligence.
Customer support AI.
Sign up for free.
Start free trial






Learn more about Thena AI agents



Agents
The new human-like AI to deliver
ticket resolution and task execution.



#ext-acme-globex



#ext-acme-globex
Messages

Raverio
Hey team, we’re seeing something weird. We disabled a feature flag (beta_dashboard_ui
) about an hour ago, but some users are still seeing
the new UI. We’ve already confirmed the flag is off in the dashboard and the targeting rules were removed. Any idea what might be going on?

Jamie
Hi Raverio — based on similar reports from other teams, this usually happens when the client SDK is caching flag values longer than expected.
If you're using the React SDK, the default TTL is 60 minutes unless it's overridden in your config. It's also worth confirming if the forceRefresh()
method is being called after updates. Would you like me to link you to the section in the docs that covers this?
APP

Jamie
Great, here's the link to the refresh behavior section in the SDK docs. If forceRefresh()
isn’t triggered, the stale value could persist for users with
long-lived sessions, especially if the SDK is initialized at app start and never rehydrated. It wouldn’t impact everyone uniformly — more likely users
who had the app open during the flag change. Some teams set up a listener to auto-refresh on flag updates; I can show you a sample snippet
if that’s helpful too.
APP

Raverio
Yes, that would be helpful. We’re using the React SDK, and I’m not sure we’re calling forceRefresh()
anywhere. This could definitely be a caching
thing. Also, would this affect only certain users or everyone?

Raverio


Thena AI agents operate inside Slack and MS Teams; reading context, responding like a teammate, and resolving tickets with precision. No escalations required. Your support stays conversational, consistent, and always available, even when your team’s offline.

Hey team, uploads to our projects are failing — it says
"Storage quota exceeded." What's going on?
Thanks for reaching out! Your current
plan includes 500GB of storage. Based
on recent activity, you’re close to your limit.
Can we get a temporary extension while we sort
it out internally?






Meet your new
digital teammates:
enterprise-ready
AI agents.
Start free trial
MCP client
Connect your AI models and agents to Thena.
User memory
Maintain consistent user context across chats.
Entity memory
Retain business entity knowledge intelligently.
Agent flows
Build scalable multi-step agent workflows.
Knowledge retrieval
Access relevant internal knowledge sources.
Entitlements
Dynamically tailor responses by entitlements.
Deployments
Seamlessly deploy AI across environments.
Custom prompts
Configure AI responses using custom prompts.
Your team’s unfair advantage:
AI that works like one of you.
Perform tasks with sophistication
granularity and super intelligence

AI creates tickets, fills fields, reminds, hands off, summarizes, extracts insights, and soon collects feedback directly from conversations across Slack, Teams, email, and more.
Handoff
Create Insight
Fill field
Remind
Summarize
Collect feedback
Create ticket
“Thena has been invaluable in bringing everything together in one place.”

Rachael Thomas
Developer success engineer, Knock
Get started
Reach new heights with Thena AI