# Crisp on boxd

> Crisp is a customer messaging platform for managing conversations, contacts, operators, helpdesk content, campaigns, and workspace settings.

- Page: https://boxd.sh/integrations/crisp/
- CLI: `run crisp` (12 commands)
- SDK: `import { crisp } from "@boxd/run"`; every parameter and response type is at `@boxd/run/crisp`
- Triggers: none
- Connect: `run auth crisp` (API key), or https://app.boxd.sh/integrations/detail/crisp
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth crisp      # once: prints a link to connect your account
run crisp           # list its commands
run crisp list-inboxes
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, crisp } from "@boxd/run";

every("1 hour", async () => {
  const result = await crisp.listInboxes({});
  console.log(result);
});
```

Run it with `run crisp.run.ts`. Crisp has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run crisp <command> --help` lists the optional ones. "common" marks what `run crisp` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `assign-conversation` | `crisp.assignConversation()` | `--operation` `--session-id` | 2 | Assign a conversation to one operator or explicitly remove its current operator assignment |
| `get-conversation` | `crisp.getConversation()` | `--session-id` | 0 | Get one conversation's status, assignment, inbox, visitor metadata, unread counts, and latest-message summary |
| `get-people-profile` | `crisp.getPeopleProfile()` | — | 2 | Get one customer profile by its Crisp people ID or exact email address |
| `list-conversation-messages` | `crisp.listConversationMessages()` | `--session-id` | 3 | Return a batch of messages from a conversation, optionally before, after, or around one millisecond timestamp |
| `list-conversations` | `crisp.listConversations()` | — | 14 | List or search workspace conversations with support-focused filters, one page at a time |
| `list-inboxes` | `crisp.listInboxes()` | — | 1 | List configured Crisp inboxes and their operator/team membership, one page at a time |
| `list-operators` | `crisp.listOperators()` | — | 0 | List workspace operators and pending members with their IDs, roles, and current availability |
| `list-people-profiles` | `crisp.listPeopleProfiles()` | — | 7 | List or search customer profiles by text, creation date, and sort order, one page at a time |
| `move-conversation-to-inbox` | `crisp.moveConversationToInbox()` | `--inbox-id` `--session-id` | 0 | Move a conversation to a specific Crisp inbox, or remove its inbox categorization when inbox_id is null |
| `send-conversation-message` | `crisp.sendConversationMessage()` | `--content` `--session-id` | 3 | Send a visitor-visible text reply to an existing Crisp conversation immediately; this external communication is irreversible |
| `update-conversation-meta` | `crisp.updateConversationMeta()` | `--session-id` | 7 | Update support-relevant visitor details, subject, segments, or custom data on a conversation without replacing unspecified fields |
| `update-conversation-state` | `crisp.updateConversationState()` | `--session-id` `--state` | 0 | Set a conversation to pending, unresolved, or resolved |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
