well_get_schema
Discover available data types and fields.
| Parameter | Type | Required | Description |
|---|
root | string | No | invoices, companies, people, documents, connectors |
depth | number | No | 0=scalars, 1=relations (default), 2=nested |
well_query_records
Query records from Well’s database.
| Parameter | Type | Required | Description |
|---|
root | string | Yes | Entity type |
fields | array | No* | Field paths as arrays, e.g. ["invoices", "grand_total"] |
allFields | boolean | No* | Fetch all scalar fields |
limit | number | No | Max records (default 50, max 500) |
*Either fields or allFields: true required
well_create_company
Create a new company.
| Parameter | Type | Required | Description |
|---|
name | string | Yes | Company name |
domain | string | No | Website domain |
tax_id | string | No | Tax ID |
well_create_person
Create a new contact.
| Parameter | Type | Required | Description |
|---|
first_name | string | Yes | First name |
last_name | string | No | Last name |
email | string | No | Email address |
phone | string | No | Phone (E.164) |
Examples
Example 1: Query financial data
User prompt:
Show me all unpaid invoices over 1000 EUR from the last 3 months
What happens:
- Server calls
well_get_schema("invoices") to discover available fields
- Server calls
well_query_records with invoice root, filtering by status and amount
- Returns matching invoices with invoice number, amount, due date, and issuer name
- AI presents results in a formatted table
User prompt:
What happens:
- Server calls
well_create_company to create Acme Corp if it doesn’t exist
- Server calls
well_create_person with first_name, last_name, email, and job_title
- Returns confirmation with the new person ID and company association
- Contact is immediately available in your Well workspace
Example 3: Build a financial dashboard
User prompt:
Create a complete financial dashboard in React with shadcn/ui dark mode showing:
- KPI cards: Total received, Total spent, Net balance, Invoice count
- Area chart of cash flow over 12 months
- Tabs for Income, Expenses, Analytics
- Pie charts for client/supplier breakdown
- Use my actual invoice data from Well
What happens:
- Server calls
well_query_records to fetch all invoices with issuer, receiver, amounts, and dates
- Server calls
well_query_records to fetch companies data
- AI analyzes the data structure and generates a complete React dashboard artifact
- Dashboard displays real financial data with interactive charts (Recharts)
- Includes filtering, sorting, and responsive dark mode design
well_get_schema
Discover available data types and fields.
| Parameter | Type | Required | Description |
|---|
root | string | No | invoices, companies, people, documents, connectors |
depth | number | No | 0=scalars, 1=relations (default), 2=nested |
well_query_records
Query records from Well’s database.
| Parameter | Type | Required | Description |
|---|
root | string | Yes | Entity type |
fields | array | No* | Field paths as arrays, e.g. ["invoices", "grand_total"] |
allFields | boolean | No* | Fetch all scalar fields |
limit | number | No | Max records (default 50, max 500) |
*Either fields or allFields: true required
well_create_company
Create a new company.
| Parameter | Type | Required | Description |
|---|
name | string | Yes | Company name |
domain | string | No | Website domain |
tax_id | string | No | Tax ID |
well_create_person
Create a new contact.
| Parameter | Type | Required | Description |
|---|
first_name | string | Yes | First name |
last_name | string | No | Last name |
email | string | No | Email address |
phone | string | No | Phone (E.164) |
Examples
Example 1: Query financial data
User prompt:
Show me all unpaid invoices over 1000 EUR from the last 3 months
What happens:
- Server calls
well_get_schema("invoices") to discover available fields
- Server calls
well_query_records with invoice root, filtering by status and amount
- Returns matching invoices with invoice number, amount, due date, and issuer name
- AI presents results in a formatted table
User prompt:
What happens:
- Server calls
well_create_company to create Acme Corp if it doesn’t exist
- Server calls
well_create_person with first_name, last_name, email, and job_title
- Returns confirmation with the new person ID and company association
- Contact is immediately available in your Well workspace
Example 3: Build a financial dashboard
User prompt:
Create a complete financial dashboard in React with shadcn/ui dark mode showing:
- KPI cards: Total received, Total spent, Net balance, Invoice count
- Area chart of cash flow over 12 months
- Tabs for Income, Expenses, Analytics
- Pie charts for client/supplier breakdown
- Use my actual invoice data from Well
What happens:
- Server calls
well_query_records to fetch all invoices with issuer, receiver, amounts, and dates
- Server calls
well_query_records to fetch companies data
- AI analyzes the data structure and generates a complete React dashboard artifact
- Dashboard displays real financial data with interactive charts (Recharts)
- Includes filtering, sorting, and responsive dark mode design
Coming Soon
The following data types are in development and will be available soon.
Payments
Query payment transactions from your connected accounts.
| Parameter | Type | Required | Description |
|---|
root | string | Yes | payments |
fields | array | No* | Field paths to retrieve |
allFields | boolean | No* | Fetch all scalar fields |
limit | number | No | Max records (default 50, max 500) |
Example use cases:
- “Show me all payments from last month”
- “What payments did we receive from Acme Corp?”
- “List failed payment attempts”
Payment Means
Query and manage payment methods (cards, bank accounts, wallets).
| Parameter | Type | Required | Description |
|---|
root | string | Yes | payment_means |
fields | array | No* | Field paths to retrieve |
allFields | boolean | No* | Fetch all scalar fields |
limit | number | No | Max records (default 50, max 500) |
Example use cases:
- “What payment methods do we have on file?”
- “Show me all active credit cards”
- “List bank accounts connected to our workspace”
Accounts
Query connected financial accounts (banks, payment providers, fintech integrations).
| Parameter | Type | Required | Description |
|---|
root | string | Yes | accounts |
fields | array | No* | Field paths to retrieve |
allFields | boolean | No* | Fetch all scalar fields |
limit | number | No | Max records (default 50, max 500) |
Example use cases:
- “What bank accounts are connected?”
- “Show me all Stripe accounts”
- “List accounts with pending sync”