> ## Documentation Index
> Fetch the complete documentation index at: https://docs.utmkit.co/llms.txt
> Use this file to discover all available pages before exploring further.

# The assistant

> What the chat can do, how it applies your workspace's rules, and how it checks its own answers.

The chat at [app.utmkit.co/chat](https://app.utmkit.co/chat) is UTMKit's first interface. You write in your own words and language, and the assistant answers in kind, inside the workspace you have open, under the same rules and permissions as the pages.

## What it does today

* **Creates short links** with the UTM values you name — under a campaign or a saved preset if you say so, with tags and a note, an expiry date, iOS and Android destinations, or as a WhatsApp click-to-chat link.
* **Creates and lists campaigns.** An existing name returns the existing campaign, not a duplicate.
* **Sets your rules**: casing and separator, mandatory parameters, approved values, dependency rules, and whether a breach blocks or warns. It only ever adds; retiring a value or removing a rule happens on the **Rules** page.
* **Reports your numbers**: clicks, unique visitors and conversions, grouped by day, source, medium, campaign and more.
* **Finds links you already made**, by a fragment of the code, the destination, a UTM value, a tag, a campaign or a state.

Links and search results arrive as cards with the short address, **Copy** and **QR**. For anything else the console does, it names the page and stops there.

## It refuses what the rules refuse, and says why

A link made in the chat goes through exactly the checks a link made through the API does. A value in the wrong format, one that is not approved, a missing mandatory parameter, a pairing a dependency rule forbids: each comes back as a refusal naming the rule and the values that would pass, so the correction takes one message. When a workspace warns instead of blocking, the link is created and the warning relayed. Your role is applied the same way: it is only offered what your role allows, and a refused action is explained, not hidden.

It asks rather than guesses. A `utm_source` invented to fill a slot pollutes reports for months, so it fills in only the parameters you named. Numbers come from a report it actually fetched, never from memory.

## It verifies the links it names

Every short address the assistant mentions must be one a tool of this conversation produced, one you pasted yourself, or one that exists in your workspace. Anything else is replaced by a mark before the answer is shown, and you are told. A link you can click in the chat is a link that exists.

## When a turn stops early

A turn that runs too long, or reaches its bounds, is stopped rather than left running. The assistant says what was done and what was not; nothing already created is rolled back, so ask for the missing part rather than repeating the request. While a turn runs the send button is locked, and closing the tab stops the work where it is.

After a long silence the assistant goes to sleep (the mascot lies down); your next message wakes it. Conversations are kept in the sidebar, and reopening one restores what you saw and what it remembers. If the organization's subscription has ended, the assistant is paused until [billing](/en/billing) is sorted out.
