Skip to main content

AI Chat Assistant

The AI Chat Assistant — named Jasper — is an optional, opt-in chat helper for your technicians, powered by the AI provider of your choice. Jasper is the persona your technicians see in the chat bubble; the settings page and navigation stay labeled AI Chat Assistant so they remain easy to find. This page covers enabling and configuring the assistant and explains how it behaves once enabled.

Off by default

The AI Chat Assistant is off until you turn it on, and it is only available on plans that include it. While it is off, it is unavailable to everyone in your organization and no content is ever sent to any provider. Nothing leaves Ascent unless you both enable the assistant and configure a usable provider.

Rolling out in stages

The assistant answers questions through an in-app chat bubble that technicians can open from anywhere (see Using the assistant), can look up your live data to answer — like your clients, tickets, and projects (see Answering from your data) — and can propose a few actions — such as opening a ticket — that you confirm before they run (see Actions the assistant can take). Saved, searchable chat history is being delivered in a subsequent update.

Availability

The AI Chat Assistant must be included in your plan. If your organization is not licensed for it, the AI Chat Assistant settings page does not appear. Contact your account owner about upgrading if you do not see it.

Who can configure it

Configuring the assistant requires the Organization permission (Owners and Admins by default). The settings page lives under Settings → AI → AI Chat Assistant (/settings/ai/chat).

Enable the assistant

  1. Go to Settings → AI → AI Chat Assistant.
  2. Turn on Enable AI chat assistant.
  3. Choose a Configuration source (below), then Save settings.

Configuration source

The assistant needs an AI provider, model, and key. You can supply these in one of two ways:

  • Independent — configure the provider, model, optional base URL, and API key right on this page (see Choose a provider).
  • Reuse AI Ticketing config — the assistant uses the same provider, model, and key you already configured for AI Ticketing. Pick this to manage one key in one place. If AI Ticketing has no usable key, the page tells you to configure it first.

Choose a provider

When the configuration source is Independent, you choose which AI provider powers the assistant:

  • Anthropic (Claude) — uses your Anthropic API key.
  • OpenAI — uses your OpenAI API key; an optional base URL can override the default endpoint.
  • OpenRouter — uses your OpenRouter API key; an optional base URL can override the default endpoint.
  • Local / Custom (OpenAI-compatible) — point Ascent at a self-hosted, OpenAI-compatible endpoint you run yourself (for example Ollama or LM Studio). A base URL is required; an API key is optional for most local models.

API key

Supply your own API key, or leave it blank to use a platform-provided key if your deployment has one configured. Your key is encrypted at rest and never shown again — the page only displays the last four characters. Use Clear to remove a stored key. The status badge tells you whether a usable key is configured (and, in reuse mode, whether AI Ticketing has one).

System prompt (optional)

You can add a system prompt — extra instructions prepended to the assistant — to steer its tone or remind it to link to documentation. Leave it blank to use the default. Your prompt is added on top of Ascent's built-in instructions and the per-user permission summary described below — it does not replace them.

Using the assistant

Once an admin enables the assistant, every technician whose role grants them access sees Jasper as a chat bubble in the bottom-right corner of the app:

  • Open it by clicking the bubble, or with the keyboard shortcut ⌘J (Mac) / Ctrl+J (Windows/Linux). Press Esc or click the bubble again to close it. The panel greets technicians as Jasper.
  • Ask a question in the box and press Enter to send (use Shift+Enter for a new line). The reply streams in as it is generated.
  • Follow the links. When the assistant points you to documentation, those links open in a new browser tab so you don't lose the conversation.
  • Confirm an action. When you ask the assistant to do something it is able to do — like open a ticket — it shows you a card describing exactly what it will do, with Confirm and Cancel buttons. Nothing happens until you click Confirm (see Actions the assistant can take).
  • Export the conversation. Use the download icon in the panel header to save the current conversation. Choose Download as Markdown (a human-readable .md transcript), Download as JSON (a structured .json file), or Copy as Markdown (to paste elsewhere). Either download arrives as jasper-chat-YYYY-MM-DD. The transcript includes each message's role, text, and timestamp, and shows any proposed or confirmed actions as readable lines. The button is greyed out until there's something to export.

The conversation stays with you for your current browser session — it is kept as you move between pages and when you close and reopen the panel, so you can pick up where you left off. Reloading the page (or signing out) starts a fresh conversation, so export the conversation (above) first if you want to keep a copy. Question-and-answer chats are not saved on the server. The one exception is when a conversation involves an action (you ask the assistant to open a ticket, add a reply, or log time): that conversation is saved — encrypted — so admins have an audit trail of what the assistant was asked to do. See AI Chat Logs below.

Who sees the bubble is controlled by the AI chat permission, which the Owner, Admin, and Member roles hold by default. If a technician should not have the assistant, remove that permission from their role; if the assistant is disabled org-wide, or your plan does not include it, the bubble does not appear for anyone.

Answering from your data

Beyond general guidance, the assistant can look up live data to answer your questions — so you can ask things like "how are my clients' health looking?", "how many open tickets does Acme have?", or "what projects are in progress?" and get an answer grounded in your actual records. Today it can read:

  • Clients — find or list clients, and check a single client's health score and recent trend.
  • Tickets — list tickets, filtered by client, open/closed, priority, or assigned to you.
  • Projects — list projects, filtered by client or status.

How it works, and why it's safe:

  • It looks up data automatically. A read happens inline while it answers — there's nothing to confirm, and it never changes anything.
  • It only sees what you can see. Every lookup runs as you: it's restricted to the data your role and client access already allow. If you can only see certain clients, the assistant can only read those clients' data too — it can never show you records you couldn't open yourself in the app.
  • It only offers reads you're allowed. The assistant is only given the lookups your permissions allow (for example, it can read tickets only if your role grants ticket access).

More read capabilities may be added over time, each following the same see-only-what-you-can-see rule.

Actions the assistant can take

The assistant can propose a small, deliberately limited set of actions, and run one only after you confirm it. Today those actions are:

  • Open a new ticket for a client.
  • Add a reply or internal note to an existing ticket.
  • Log time against an existing ticket.
  • Create a project for a client.
  • Add a task to an existing project.
  • Create a contact for a client.
  • Create an asset (device or equipment) for a client.

All of these are create actions — the assistant can help you make new records, but it will not update or delete existing ones (those stay things you do yourself in the app). How it works, and why it's safe:

  • Just name the client or ticket — Jasper finds it. You never have to look up or paste an internal ID. When you refer to a record by name, subject, or number ("open a ticket for Acme Corp about the VPN outage"), the assistant looks it up for you, and if more than one record matches it lists the candidates and asks you to choose by name. The confirmation card shows the resolved record name so you can confirm against something you recognize, never a raw ID. Lookups stay within the clients and records your access already allows — a record you can't see won't resolve.
  • It proposes; you confirm. The assistant never acts on its own. When it wants to do one of the above, it shows a card explaining exactly what it will do; nothing runs until you click Confirm. Clicking Cancel discards it.
  • It runs as you, with your permissions. A confirmed action is performed as you — exactly as if you had done it yourself in the app. If your role doesn't let you do something (for example, you can't create tickets, or you don't have access to that client), the action is refused, even if the assistant suggested it. Ascent re-checks your permissions and client access when you confirm — it does not rely on the assistant getting it right.
  • It only offers what you can do. The assistant is only shown the actions your role allows, so it won't propose something you have no access to in the first place.
  • Everything it does is audited. Each confirmed action is recorded in the audit log against the record it affected (the ticket, project, task, contact, or asset), just like any other change — so there's always a clear record of what was done on your behalf.

More actions may be added over time; each one always follows the same confirm-first, run-as-you, fully-audited pattern.

AI Chat Logs

Admins get a dedicated AI Chat Logs view (in the Admin area of the left sidebar) that records the conversations where the assistant proposed or ran an action — giving you an auditable trail of what the assistant was asked to do and what happened.

  • Only action-bearing chats are kept. Pure question-and-answer conversations are never stored. A conversation is saved only once it involves an offered or executed action.
  • Encrypted at rest. The stored messages are encrypted with your organization's key, the same way other sensitive data in Ascent is protected.
  • What you see. Each entry shows the technician (acting user), the actions proposed or executed and their outcome (offered / executed / failed), and the conversation itself. Open an entry to read the full exchange and the details of each action.
  • Who can see it. The view is controlled by a dedicated AI Chat Logs permission, which the Owner and Admin roles hold by default. Technicians (Members) do not see it, and it is excluded from the built-in Read Only role — it's an audit surface, like the audit log. You can grant it to a custom role if needed.
  • Scoped to your organization. You only ever see your own organization's chat logs.

This is separate from the audit log: the audit log records that a confirmed action happened against a record, while AI Chat Logs preserves the conversation that led to it.

How the assistant behaves

Once enabled, the assistant answers questions about using Ascent and can propose the actions above. A few things are true by design:

  • Answers, plus confirm-first actions. The assistant explains how to do things and points you to the right place in the app. It can also propose a few actions (like opening a ticket), but it never changes any data without your explicit confirmation, and a confirmed action runs only with your own permissions.
  • Permission-aware. Each person's reply is tailored to what they are allowed to do. The assistant is told the user's role and effective permissions, so it only walks them through tasks they have access to; for anything outside their permissions it says so and suggests they ask an administrator. This steers the assistant — it is not a replacement for Ascent's normal access controls, which still apply to (and are re-checked for) every action a user actually confirms.
  • Links to the docs. For step-by-step guidance it points users to the documentation at docs.goascent.app.
  • Replies stream in. Answers appear progressively as they are generated, rather than all at once.
  • Privacy. Only the user's question (and the running conversation) is sent to your configured provider. Question-and-answer chat text is not stored by Ascent; only the fact that the assistant was used is recorded in the audit log (with the model and provider, never the message content). The exception is a conversation that involves an action: it is saved — encrypted at rest — to AI Chat Logs so admins have an audit trail, and any action you confirm is also separately recorded against the record it changed. If the assistant is disabled or has no usable provider, requests are rejected and nothing is sent.