Skip to content
Wetel
Go back

How long does a conversation with an AI employee stay open?

A conversation in Wetel (a session) opens when your app starts it, and stays open until something ends it: your app calls the end-session operation, or the workflow reaches an end_session step. A conversation nobody ends is not closed after minutes or hours; after 30 days with no activity it is marked expired, and if the person comes back, the next message starts a fresh conversation.

Think of a ticket at a service counter: opened when someone walks up, closed when the matter is done, and filed away if it sits untouched for a month.

How does a conversation start?

Your backend starts it. The usual call is sdkStart, made with your API key, which returns a session id and a short-lived session token for your front end. From a signed-in dashboard, startSession does the same. From then on, every message runs the agent’s workflow, and the reply arrives over a live subscription, not in the response to the send call.

How does it end?

In one of two ways:

Is the conversation scored when it ends?

Only if you ask. An evaluation scores the finished conversation in the background, so it never delays a reply. On an end_session step, runEvaluation: true queues one; false, or leaving the field out, ends the session with no evaluation. A session your app ends with sdkEndSession still returns its evaluation, which may be empty at first because it is generated afterwards, and only for conversations with at least two turns.

What does the person see once it has ended?

Whatever your app shows them: you own the screen. Your app receives a final SessionEndedEvent, then the live connection closes. A “will end” event during a confirmation is not the end; the session is still open. Keep using that conversation’s session token afterwards and you get a “session is not active” error, so start a new session.

What happens to a conversation left idle?

It stays open. If you want quiet conversations closed after a few minutes, end them from your app on your own timer.

After 30 days with no activity, the session moves from active to expired. No evaluation is run and no event is sent. When the person returns through sdkStart, an on-demand task or a channel connection, a fresh session is started, so the returning conversation still works.

One shorter clock exists. A question asked with an await_reply step stays answerable for 24 hours by default (up to 7 days). After that, the next message starts the workflow from the beginning, and ending the session cancels any open question.

Can I read the conversation after it ends?

Yes. A person on your team, signed in to your workspace, can read the full message history with session(id) and its messages, including for an ended session. We make no promise here about how long history is kept; the docs do not state a period.

Does the next conversation remember the last one?

No. Inside one session, the transcript carries forward and the workflow can read it as history. A new session starts with clean history. Memory that follows a person from one conversation to the next is not built. If a piece of work needs continuity, keep it on one session: an on-demand task with the same conversation id reuses the session while it is still active.

To wire the whole lifecycle into your app, follow the Core API Flow.


Share this post:

Next Post
Why am I getting rate-limit errors?
Previous Post
A university library assistant: bookings, renewals and answers, with the library in charge