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

# Connect Billy

> Give Consile read-only access to Billy with an access token you create yourself in Billy. No redirect, one token per company.

*[Læs siden på dansk](https://docs.consile.ai/connect/forbind-billy.md)*

You connect Billy with an access token, not with a login redirect. You create the
token yourself inside Billy, paste it in the portal, and Consile stores it
encrypted. Your AI never sees the token itself.

> [!NOTE]
>
> You need an active Billy subscription in the [portal](https://app.consile.ai)
> first, or the system must be included in your plan
> ([the free edition](https://docs.consile.ai/en/portal/free-edition.md) or
> [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md)). You must be able to log in to a Billy user with access to the company your
> AI should read from. Anyone on the team can connect an agreement that is not
> connected yet. Only an administrator can reconnect it or disconnect it. The
> connection applies to the whole company. Your AI
> ([Claude](https://docs.consile.ai/en/connect/connect-claude.md) or [ChatGPT](https://docs.consile.ai/en/connect/connect-chatgpt.md))
> can be added before or after.

## How to connect

**1. Log in to Billy and open Access tokens**

Log in to your Billy account at [mit.billy.dk](https://mit.billy.dk) with a
user that has access to the company your AI should read from. Go to
**Settings → Access tokens** (in Danish: *Indstillinger → Adgangstokens*).

**2. Create an access token**

Click **Create access token** (*Opret adgangstoken*), give it a name such as
"Consile MCP", and save. Click the magnifying glass icon on the row to show the
token value itself, and copy it.

> [!NOTE]
>
> A token belongs to exactly one company. If you have several companies in
> Billy, see [Multiple Billy companies](#multiple-billy-companies).

**3. Paste the token in the portal**

After the purchase you land on the **Subscription activated** page. Click
**Connect Billy** to go to the Billy page, and click **Connect now** at the
top of the page, or **Connect** next to the agreement on the **Connections**
card. The portal calls each connection to a system an agreement. If you come
back later, open Billy in the portal and click the same button. If you have
not accepted Consile's terms yet, the portal shows them first. The **Connect
Billy** dialog shows four short steps and one field for the token. You are not
sent on to an external page.

| Field | What it is |
| - | - |
| **Billy adgangstoken** | Your Billy access token (shown masked, treated as secret). The form shows this label in Danish. |

Paste the token value, and click **Connect**. The value is encrypted and
stored under your account only.

> [!TIP]
>
> The dialog shows **Billy is ready** and the address you add in your AI,
> `https://mcp.consile.ai/billy/mcp`. If you have not already added it, copy
> it and add it as a custom connector (see
> [Connect Claude](https://docs.consile.ai/en/connect/connect-claude.md)). Under **Overview** in the
> portal, Billy now shows as **Connected**.

> [!TIP]
>
> The connection is shared by the whole company, so colleagues do not have to
> connect Billy again. An administrator gives them access under **Team**, and each
> colleague adds the address in their own AI and logs in with their own Consile
> login. See [Team](https://docs.consile.ai/en/portal/team.md).

## Multiple Billy companies

One token gives access to one company. Each extra company gets its own agreement,
its own token and its own address in your AI.

**1. Add an agreement**

Open Billy in the [portal](https://app.consile.ai). On the **Connections**
card, an administrator clicks **Add agreement (149.50 kr/mo.)**. The amount is
excl. VAT. The new agreement is typically ready after a few seconds.

**2. Connect the new agreement**

Create an access token in the other Billy company in the same way as above.
Click **Connect** next to the new agreement, and paste the token.

**3. Add the address in your AI**

Each agreement has its own address, for example
`https://mcp.consile.ai/billy-2/mcp`. Copy it with the copy icon next to the
agreement on the **Connections** card, and add it as a separate custom
connector in your AI.

Under [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md#one-more-agreement-in-a-system)
there is no button to add an agreement. One more company costs full price under
the membership, and Consile sets it up for you if you write to
[support@consile.dk](mailto:support@consile.dk).

A connected agreement normally shows with the company's name from Billy. An
agreement without a name shows as **Agreement 1**, **Agreement 2** and so on. You
can also ask your AI *"Which company are you connected to?"* on the individual
address.

An administrator removes an agreement with the menu next to it (the three dots):
choose **Remove the agreement**, and confirm with **Remove agreement**. After you
have removed an agreement, the last agreement may have got a new address (for
example `billy-2` instead of `billy-3`). So check the addresses on the
**Connections** card, and update them in your AI's connector setup. You remove the
last agreement by cancelling the subscription under **Subscription**.

## What exactly am I approving?

> **Read access only**
>
> The connector only uses the token for read-only lookups on your behalf. It has
> no tool that writes, so it never posts or changes anything.

> **One company per token**
>
> The token gives access to exactly the company it was created in. There is no
> company id to choose on a lookup.

> **Encrypted per customer**
>
> The token is stored encrypted with a key that applies only to your own account.
> It is never logged and is only sent to Billy.

> **Your AI never sees it**
>
> Your AI is never given the token itself. It only receives answers to your
> questions.

> [!TIP]
>
> **Check the connection.** When you have connected, ask your AI *"Which company
> are you connected to?"*. If it answers with the company's name, the token works.
> If it instead gets a message that Billy must be reconnected ("reconnect
> required"), double-check the value and [change the token](#change-the-token).

## Revoke access

You can remove the access again at any time:

* **In the portal:** an administrator clicks the menu (the three dots) next to the
  agreement on the **Connections** card and confirms with **Disconnect**. The
  stored token is then deleted at Consile immediately. The subscription continues.
  If you have several agreements, an administrator can also remove an agreement
  entirely with **Remove the agreement**. Its token is then deleted too.
* **In Billy:** Consile does not revoke the token in Billy. So delete it yourself
  under **Settings → Access tokens** if it should no longer be usable. Billy tokens
  do not expire on their own.

## Change the token

Only an administrator can change the token on an agreement that is already
connected. If the agreement says **Access revoked**, click **Reconnect**, and paste
the new token. Otherwise there is no **Connect** button next to a connected
agreement. Disconnect as described above, then click **Connect** next to the
agreement, and paste the new token.

You can also ask your AI on the agreement's address (for example `billy-2`) for a
new connection link. The link opens the token form for exactly that agreement and
works for 10 minutes.

## If a lookup fails

If a Billy lookup fails, your AI gets either a message that Billy must be
reconnected ("reconnect required"), or the general message "Tool invocation
failed." Billy's own error code is not passed on. Check in this order:

* **Is the token valid?** Ask your AI: *"Which company are you connected to?"* If
  it gets the message to reconnect, Billy has refused the token, typically because
  it was pasted incorrectly or deleted in Billy. Check in Billy under
  **Settings → Access tokens** whether it still exists, and
  [change the token](#change-the-token) to a new one.
* **Does the token have access?** If your AI answers that question, but individual
  lookups still fail with "Tool invocation failed.", the token may lack access to
  that data. Connecting with the same token again does not help.
* **Too many calls:** if your AI has made many lookups in a short time, try again
  in a little while.
* If your AI answers "billy is not connected yet", Billy is not connected yet.
  Open the link in the message, or connect in the portal.
* If it keeps happening, contact [support@consile.dk](mailto:support@consile.dk)
  with the time and the question you asked.

More about data processing in [Security & data](https://docs.consile.ai/en/essentials/security-and-data.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.