# Which integrations do people want

URL: /start/guides/which-integrations-do-people-want · Id: `guide:which-integrations-do-people-want`

> Say "which integrations do people want" and get every requested tool counted, with who asked, so you build the one most people wait for.

Count the tools your signups asked you to connect to, and build the one most people wait for. Everyone who asked hears when it ships.

Needs: [Find out if anyone wants this](/start/guides/find-out-if-anyone-wants-this)

**Before it runs**

- You leave the chat: Never: it all happens in the chat.
- First question at Live: “Open a waitlist for the top one?”

## What you get
- 1 count of signups per requested tool, most asked first (Collection)
- 1 list of who asked, per tool, to tell when it ships (Lead)
- 1 waitlist per tool, once you open one (Waitlist)

## Your agent does
**For agents**

- Guide: `guide:which-integrations-do-people-want`, status `beta`. Page: [/start/guides/which-integrations-do-people-want.md](/start/guides/which-integrations-do-people-want.md).
- Approval: none. Run it when the founder asks.
- Leaves the chat: never.
- Needs first: [Find out if anyone wants this](/start/guides/find-out-if-anyone-wants-this).
- Run: call the steps in order, each through the API, SDK, CLI or MCP tab below; a later step passes the `$id` an earlier one returns. Each value marked example is the sample business’s: pass the founder’s own.

| Step | Verb | Inputs (type, required, this guide’s value) | Returns |
| --- | --- | --- | --- |
| 1 | [`Collection.query`](/business/nouns/collection/query) (`verb:Collection.query`) | `query` text, required: example `"Waitlist signups grouped by the integration they asked for, most requested first."` | `rows` json, `collection` Collection |

Returns: the last call answers with `rows`, `collection` and its `action`, whose `status` is `done`, `pending` (waiting on an Approval or a Worker), `failed`, `canceled` or `refused`:

```json
{
  "api": "https://api.sb/leaseline.app",
  "rows": {},
  "collection": {
    "$id": "https://api.sb/leaseline.app/collections/collection_1",
    "$type": "Collection"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/action_1",
    "operation": "Collection.query",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/action_1"
  }
}
```

Next: offer “Open a waitlist for Outlook”, or “Tell everyone who asked for Slack that it shipped”.

Calls: `Collection.query`

Ask:

```text
Which integrations do people want?
Should Teams come before Slack?
How many people asked for Outlook?
```

API:

```bash
# Collection.query
curl -X POST https://api.sb/leaseline.app/collections/query \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Waitlist signups grouped by the integration they asked for, most requested first."}'
```

SDK:

```ts
import { $ } from 'startup-builder'

await $.Collection.query({ query: 'Waitlist signups grouped by the integration they asked for, most requested first.' })
```

CLI:

```bash
npx startup-builder do Collection.query --json '{"query":"Waitlist signups grouped by the integration they asked for, most requested first."}'
```

MCP:

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Collection.query({ query: 'Waitlist signups grouped by the integration they asked for, most requested first.' })"
  }
}
```

The same sentence does more as the business grows:

| State | Calls | Asks first |
| --- | --- | --- |
| [Idea](/business/lifecycle/states/idea) | [`Collection.query`](/business/nouns/collection/query) |  |
| [Live](/business/lifecycle/states/live) | [`Collection.query`](/business/nouns/collection/query), [`Waitlist.create`](/business/nouns/waitlist/create) | Open a waitlist for the top one? |

## Change it
- Open a waitlist for Outlook.
- Tell everyone who asked for Slack that it shipped.
- Break it down by company size.

## Under the hood
- Systems: [Waitlists](/systems/waitlists), [Product planning](/code/systems/product-planning)
- Nouns: [Integration](/business/nouns/integration), [Waitlist](/business/nouns/waitlist), [Lead](/business/nouns/lead), [Collection](/business/nouns/collection)
- Events: [`Collection.queried`](/business/events/Collection.queried), [`Waitlist.joined`](/business/events/Waitlist.joined)

The signup interview asks which tools people use today. [`Collection.query`](/business/nouns/collection/query) groups those answers by tool across every [Lead](/business/nouns/lead), and a [Waitlist](/business/nouns/waitlist) per tool keeps the people who asked.