AI Skills
Give an assistant real capabilities - and decide what it may do on its own, what it must ask about, and what needs an operator's approval
A knowledge base lets an assistant answer. Skills let it act - look up an order, book a slot, update a contact field, start a refund.
A skill is a packaged capability: the instructions the assistant needs, plus the tools it may call. You grant skills per assistant, and you decide how much each tool is trusted to do unsupervised.
Skills are a newer capability than the rest of the AI section. They are driven from GraphQL today - the MCP tools cover messaging and search only, and broader coverage there is planned rather than shipped.
What a Skill Contains
| Part | What it does |
|---|---|
| Instructions | A prompt fragment merged into the assistant's own, telling it when and how to use the skill. |
| Tools | The concrete operations it may call. |
| An applies-when clause | Describes the situations the skill is for, so the assistant can judge relevance. |
Skills are grouped by domain - calendar, CRM, messaging, payments, profile, and general utilities.
Always On or Triggered
Every skill runs in one of two modes, and the difference is cost against precision.
| Mode | How it works | Use it when |
|---|---|---|
| Always on | The skill's instructions and tools are merged into every reply the assistant composes. It decides for itself whether to use them. No extra model call, so effectively free. | The usual choice. |
| Triggered | Before composing a reply, Wexio makes a cheap pre-flight call to decide whether this skill genuinely applies. Only admitted skills enter the main run. Costs a fraction of a cent per message. | Several skills overlap and you need the choice between them to be deliberate rather than left to the main prompt. |
Start everything always on. Move a skill to triggered only when you can see it firing in situations it should not - that is the problem triggered mode solves, and the only reason to pay for the extra call.
Permission Levels
This is the part worth getting right. Every tool a skill grants carries a permission level, which decides whether the assistant may just do it.
| Level | Behaviour |
|---|---|
| None | The tool is hidden from the assistant entirely. It cannot call it. |
| Auto | It may call the tool without asking anyone. |
| Ask the customer | The assistant has to compose a confirmation question, wait for the customer's reply, and only proceed on a clear yes. |
| Operator approval | The run pauses. Wexio posts an internal note on the conversation, notifies the operators on shift, and resumes only once someone approves. |
Sensible Defaults
Each tool ships with a default level, chosen by what it does:
| Kind of operation | Default |
|---|---|
| Reading something | Auto |
| Changing state | Ask the customer |
| Destructive and financial - refunds and the like | Operator approval |
You can override the level per tool on the assistant. An override always wins over the default.
Raising a tool to Auto is the one change to make deliberately. It removes the only checkpoint between the model's judgement and a real action on a customer's account. Lowering a tool to None is always safe.
Handing Off to a Human
An assistant that cannot finish a job should pass it on rather than improvise.
Escalation arrives as a default skill - notify an operator on request - which you can disable if you do not want it. Actually assigning a conversation to someone needs a skill that grants the assignment tools.
Handoff tools never ask the customer for confirmation, even though changing state normally would. The customer cannot meaningfully approve "ping an operator about this", so these run automatically whenever the assistant has them.
How a Run Ends
Every run reaches one of five outcomes, and four of them are not a reply:
| Outcome | What happened |
|---|---|
| Replied | The assistant answered the customer. |
| Escalated | It handed off to an operator - assigned or mentioned. No AI reply went out; the operator owns the conversation now. |
| Budget exhausted | It hit the cap on tool calls or model turns without reaching an answer. It escalates with a summary of what it tried. |
| Failed | Something broke unrecoverably - the provider was unreachable, for instance. It escalates silently, without telling the customer. |
| Cancelled | An operator pressed stop. Nothing went out. |
Notice that running out of budget and failing both escalate rather than leaving the customer unanswered. A stuck assistant becomes an operator's problem, not silence.
Seeing What the AI Did
Messages produced by a skills run are marked in the conversation, so an operator can tell at a glance which replies the assistant handled and open the run behind one.
Every run is recorded - which skills were admitted, which tools were called, and how it ended.
Setting Skills Up
Skills are granted and configured per assistant, alongside its model, knowledge base and media settings. An assistant with no skills still answers from its knowledge base; it simply cannot act.
Grant the narrowest set that does the job, exactly as with API key scopes. A skill the assistant never needs is a tool it can misuse.
Related
- Assistants - the assistant a skill is granted to
- Knowledge base - answering rather than acting
- AI actions - operator-driven AI in the inbox