# Load an audience

This page loads people the user already has, and the lists those people belong on. New signups still come from the SDK: [Set up CRM](https://www.saasco.com/docs/crm/setup.md).

## 1. Use the Saasco MCP

If Saasco is not connected, read https://www.saasco.com/docs/mcp.mdx and follow the steps for this client. Sign in, allowing "Create and change data in your projects". Search with `saasco_search_tools`, then run the tool with `saasco_execute_tool`.

Pass project id `YOUR-PROJECT-ID`. On a connection scoped with `?projectId=`, omit `projectId`.

## 2. Upsert the people they point at

Read the product's user model: id, email, name, plan, created date, and any other field the app already stores. Ask which users to load. Do not invent people.

For each one, call `crm_upsertContact`. Set `distinctId` to the app's user id. Put email and the other fields on `properties`. Send dates as ISO strings, such as `2026-11-01T12:00:00Z`. Call `crm_updateContact` to fill a property on someone who is already there. Writing a property creates the attribute. There is no separate create-attribute call.

## 3. Lists

Call `crm_listContactLists` first. Call `crm_createContactList` for audiences the product actually has (customers, trial, and so on), with filters those events and properties support. Do not create an empty list with a generic name. Then stop.
