# Connect Claude or ChatGPT

> Connect Claude, Claude Code or ChatGPT to your IoTReady workspace and ask it about your stock, orders and receipts in plain language.

- **Page** - https://iotready.com/docs/platform/ai-connectors
- **Book** - [Platform](https://iotready.com/docs/platform.md)

Your IoTReady workspace speaks the Model Context Protocol, so an AI assistant
you already use can read your data and, if you let it, work in it. Ask Claude
how much of a SKU is left in each location, which purchase orders are late, or
to receive yesterday's delivery. It answers from your live data, as you.

IoTReady Engine has its own AI too: the Engineer, built into the workspace. Use
the Engineer when you're already in Engine and want a rule, a report or a
connection set up. Connect Claude or ChatGPT when you'd rather work from the
assistant you already use, or want your stock and orders alongside the rest of
what it knows.

The assistant does the thinking. Your workspace only answers its requests, so a
connection uses none of your workspace's AI budget. The Engineer and the
workspace's AI agents run inside the workspace, which is why that budget
exists. An agent an assistant creates uses it when the agent runs.

## Before you start

Two switches in **Settings > Connectors** control connections for the whole
workspace:

- **Allow Connectors** lets users connect an assistant. It is on unless an
  administrator turns it off, the same way the workspace's own AI can be turned
  off in Settings > AI. Turning it off stops every connected assistant at once.
- **Allow Changes** lets a connected assistant also create and change records
  and run your apps' actions. It is off until an administrator turns it on. Off,
  every connection only reads.

You need a staff login on the workspace. Customer (consumer) accounts can't
connect an assistant.

Your workspace's connector address is:

```
https://<your-workspace>.iotready.app/api/mcp
```

Swap `<your-workspace>` for the name in your workspace's own address.

## Connect Claude

1. In Claude, open **Settings > Connectors** and add a custom connector.
2. Give it a name, say IoTReady, and paste your workspace's connector address.
3. Click **Connect**. Claude sends you to your workspace's login and then to the
   approval page (below).

On a Team or Enterprise plan an owner may have to add the connector for the
organisation first.

## Connect Claude Code

```bash
claude mcp add --transport http iotready https://<your-workspace>.iotready.app/api/mcp
```

Then run `/mcp` inside Claude Code and pick `iotready` to sign in. Your browser
opens the workspace's login and approval page.

## Connect ChatGPT

ChatGPT takes your workspace as a custom connector in developer mode, on plans
that allow it (Business, Enterprise and Edu workspaces, where an admin may have
to enable it).

1. Turn on developer mode in ChatGPT's settings, under Apps & Connectors.
2. Create a connector with your workspace's connector address and OAuth as the
   authentication.
3. ChatGPT sends you to your workspace's login and then to the approval page.

## Approving the connection

After you sign in, your workspace shows which app is asking, the workspace, the
user it will act as, and where you go back to afterwards. **Allow** connects it.
**Cancel** sends you back with nothing connected.

If your workspace allows changes, the page also has a box: **Also let it create
and change records and run actions, as you.** Leave it unticked for a
connection that only reads. You can't change this later; disconnect and connect
again instead.

> **Only approve what you started**
>
> If an approval page appears that you didn't ask for, click Cancel. An app that
> registered itself is marked on the page, and its name is its own claim.

## What the assistant can do

It acts as you. It sees the tables and rows you can see, and changes only what
you could change on the dashboard, through the same checks. It can never delete
anything.

**Every connection** gets these read tools:

| Tool             | What it does                                                                                                    |
| ---------------- | --------------------------------------------------------------------------------------------------------------- |
| `list_tables`    | Lists the tables you can read, with their columns, choices and links.                                           |
| `run_query`      | Runs one read-only SQL query over those tables. At most 200 rows come back, so it counts and sums in the query. |
| `get_record`     | Fetches one row by its id.                                                                                      |
| `list_tasks`     | Lists the tasks on your list, with priority, due date, status and the record each is about.                     |
| `list_alerts`    | Lists the alerts that are for you, with severity and the action needed.                                         |
| `list_inbox`     | Lists everything in your inbox: notices, tasks, alerts, proposals waiting for a decision.                       |
| `get_inbox_item` | Reads one inbox item with its timeline and what you can do with it now.                                         |
| `list_agents`    | Lists the workspace's AI agents you can see, with the last report of each.                                      |

**A connection that may make changes** also gets:

| Tool                 | What it does                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `list_actions`       | Lists your apps' actions you can run, such as approving an order or receiving stock, with the input each one takes. |
| `run_action`         | Runs one action, on the rows it applies to. Some actions send mail or produce a PDF.                                |
| `create_record`      | Creates one row, with the same required fields and validation as the app's form.                                    |
| `update_record`      | Changes columns of one row.                                                                                         |
| `create_task`        | Puts a task on a person's list, or on a role's.                                                                     |
| `update_task`        | Changes a task or closes it.                                                                                        |
| `acknowledge_alert`  | Says you have seen an alert and are on it.                                                                          |
| `resolve_alert`      | Closes an alert whose cause is dealt with.                                                                          |
| `respond_inbox_item` | Answers an inbox item: approves or rejects a proposal, acknowledges a review flag.                                  |
| `send_inbox_item`    | Sends a notice or a task to someone.                                                                                |
| `create_agent`       | Creates an AI agent in the workspace, limited to roles you hold.                                                    |
| `update_agent`       | Changes an agent you own.                                                                                           |

Assistants are told to say what they are about to change and wait for your
go-ahead first. Claude and ChatGPT normally ask you to confirm a tool that
changes data before it runs. Changes land in the audit trail under your name,
like any change you make yourself.

An administrator can keep an action away from every AI assistant by setting the
action's `ai` option to `never`.

## Things to ask

- How many crates of each SKU are in the cold room right now?
- Which purchase orders from last week are still not fully received?
- Compare this month's dispatches by customer with last month's.
- Show me order SO-1042 and everything linked to it.
- Receive PO-311 into the main warehouse. _(needs changes allowed)_
- Mark the three returns from Acme as inspected. _(needs changes allowed)_

## Managing your connections

Open **Connected Apps** from the account menu in your workspace, or go to
`/dashboard/connections`. It lists every assistant you connected, whether it
can make changes, when you connected it and when it last renewed its access.
**Disconnect** stops it at once.

A connection also ends when it goes unused for 30 days, or when you change or
reset your password. It stops working while an administrator has your account
disabled, or has connectors turned off for the workspace.

## Security

- The assistant never sees your password. You sign in on your own workspace,
  with its usual login, two-factor included if you use it.
- Each workspace runs its own sign-in for connectors, at its own address.
  Tokens from one workspace are worthless at another, and a connector's token
  works only at the connector address, not on the rest of the API.
- Access tokens last an hour. The assistant renews them, and a disconnected or
  expired connection can't.
- The approval page can't be embedded in another site, and approving needs a
  click on your workspace's own page.

## Troubleshooting

**"Connectors are turned off for this workspace."** An administrator has to
turn on Allow Connectors in Settings > Connectors.

**"Your account can't connect apps."** Connectors are for staff accounts. Ask an
administrator.

**"This connection was revoked: connect again."** Someone disconnected it from
Connected Apps, or you connected more than 20 assistants and this was the one
used least recently. Connect again from your assistant.

**"This account can no longer use the connection."** Your password changed or
your account was disabled. Connect again.

**The assistant can read but not change anything.** Either the workspace doesn't
allow changes, or the box wasn't ticked when you connected. Check Settings >
Connectors, then disconnect and connect again with the box ticked.

**The assistant says a table or action doesn't exist.** It only sees what your
roles let you see. Ask an administrator for access.

## Help and privacy

Write to <support@iotready.com>. The
[privacy policy](https://iotready.com/privacy.md#ai-connectors-claude-chatgpt-and-other-mcp-clients)
says what happens to your data when you connect an assistant.
