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

# FreshBooks

> What agents can do in FreshBooks with standard access, and how to connect, limit, and disconnect FreshBooks.

Connect FreshBooks so your agents can work in your FreshBooks account.

## Access levels

FreshBooks has one level. The connect window shows it as **Default** and describes it as "Standard access." Agents can use all 10 FreshBooks actions.

You cannot choose a narrower level for FreshBooks. You can block single agents with **No access** under **Per-agent access**.

The FreshBooks sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which FreshBooks actions agents can use.

## What agents can do

The summary below groups the FreshBooks actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my FreshBooks account?" The agent can search the FreshBooks actions for you.</Tip>

Each action shows its name, a one-line description where the FreshBooks action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

* View, create, update, and delete webhooks
* View clients
* View entries
* View projects
* View users

<AccordionGroup>
  <Accordion title="All 10 FreshBooks actions">
    | Works on          | Action                 | What it does                                                               | Slug                                |
    | ----------------- | ---------------------- | -------------------------------------------------------------------------- | ----------------------------------- |
    | **Clients**       | List clients           | Retrieves all clients for a FreshBooks account.                            | `FRESHBOOKS_LIST_CLIENTS`           |
    | **Entries**       | List journal entries2  | Retrieves all journal entries for a FreshBooks business account.           | `FRESHBOOKS_LIST_JOURNAL_ENTRIES2`  |
    | **Projects**      | List projects          | Retrieves all projects associated with a FreshBooks business account.      | `FRESHBOOKS_LIST_PROJECTS`          |
    | **Users**         | Get business users     | Retrieves staff identities and members for a specific FreshBooks business. | `FRESHBOOKS_GET_BUSINESS_USERS`     |
    |                   | Register as a new user | Register a new user account in FreshBooks.                                 | `FRESHBOOKS_REGISTER_AS_A_NEW_USER` |
    | **Webhooks**      | Create webhook         | Register a new webhook callback for a FreshBooks account.                  | `FRESHBOOKS_CREATE_WEBHOOK`         |
    |                   | Delete webhook         | Delete a webhook callback from a FreshBooks account.                       | `FRESHBOOKS_DELETE_WEBHOOK`         |
    |                   | List webhooks          | List all webhook callbacks registered for a FreshBooks account.            | `FRESHBOOKS_LIST_WEBHOOKS`          |
    |                   | Update webhook         | Update or verify a FreshBooks webhook callback.                            | `FRESHBOOKS_UPDATE_WEBHOOK`         |
    | **Other actions** | List businesses        | List all businesses associated with the authenticated user.                | `FRESHBOOKS_LIST_BUSINESSES`        |
  </Accordion>
</AccordionGroup>

## Connect FreshBooks

Before you start:

* You need a FreshBooks account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find FreshBooks">
    Find **FreshBooks** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Keep the default level">
    Under **Default scope**, keep **Default**. It is the only option.
  </Step>

  <Step title="Click Connect FreshBooks">
    Click **Connect FreshBooks**. The FreshBooks sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to FreshBooks">
    Sign in to FreshBooks and approve the request.
  </Step>
</Steps>

Check that it works: FreshBooks shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Set access for one agent

Every agent can use the account unless you block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the FreshBooks account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose **No access** to block the agent. Choose **Default (Default)** to allow it again.
5. Click **Save access**.

Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one FreshBooks account

Click **+ Account** on the FreshBooks card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the FreshBooks side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on FreshBooks**.
3. Sign in to FreshBooks and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the FreshBooks account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected FreshBooks account becomes primary.</Warning>

## Costs

FreshBooks actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent says it has no access to FreshBooks, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the FreshBooks connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in FreshBooks?">
    You cannot choose a narrower level for FreshBooks. You can block single agents with **No access** under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one FreshBooks account?">
    Click **+ Account** on the FreshBooks card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect FreshBooks?">
    Open the account menu (⋯) on the FreshBooks account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
