Skip to main content
The list_contacts tool returns a paginated list of contacts for a single organization. Contacts are the customers an organization invoices. Every request must include intent and organizationId, and the token must carry the contacts.read scope.
Receivables tools require the organization to have invoicing set up in Relay. If it does not, the tool returns an error instead of data.

Scope

Required OAuth scope: contacts.read

Input

string
required
The organization to query. Must be one of the organizations the token can access.
Free-text search across contact fields. Must be 1 to 200 characters.
string
Filter by contact status. Allowed values: active, archived. Defaults to active.
string
Opaque pagination cursor from a previous response. Keep the same pageSize and filters when following cursors. Never parse, edit, or reuse a cursor across different filter sets.
integer
Number of results per page. Must be between 1 and 100. Defaults to 50.
string
required
What the user asked for and why this call serves it, in 1 to 500 characters. Required on every tool call. See Common tool arguments.

Output

Contact[]
required
Array of contacts matching the filters.
object
required
Cursor-based pagination metadata.

Example

Notes

  • Only active contacts are returned unless you pass status: "archived".
  • source shows whether the contact was created in Relay or synced from an accounting integration.
  • Follow nextCursor until hasNextPage is false. Keep the same pageSize and filters on every page.

get_contact

Fetch a single contact by ID.

Result conventions

Learn how pagination, Money objects, and dual-channel output work across all tools.