# create_escrow_with_clients

> Create an escrow AND create/link buyers and sellers in ONE atomic transaction.

<!-- Source: https://docs.actuallycare.com/tools/composite/create_escrow_with_clients -->

Create an escrow AND create/link buyers and sellers in ONE atomic transaction. Use this when opening a new transaction where clients don't exist yet — it's equivalent to calling [`lookup_address`](/tools/utility/lookup_address) → [`clients_create`](/tools/clients/clients_create) (×N) → [`escrows_create`](/tools/escrows/escrows_create), but in a single operation that rolls back completely if any step fails.

> [!CAUTION]
> representation_type determines which parties are YOUR CLIENTS — only add the party you represent. If representation_type='buyer', only add buyers (sellers are just contacts). If 'seller', only add sellers. If 'dual', add both. Returns the created escrow with all linked client IDs. After creation, use [`get_contingency_deadlines`](/tools/deadline/get_contingency_deadlines) to calculate key dates.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `property_address` | string | Yes | Street address (required). Use [`lookup_address`](/tools/utility/lookup_address) first for verified data. |
| `display_address` | string | No | Display address if different (e.g., with unit number) |
| `city` | string | No | City name (from [`lookup_address`](/tools/utility/lookup_address)) |
| `state` | string | No | State abbreviation (e.g., "CA") · Format: Two-letter state code |
| `zip_code` | string | No | ZIP code · Format: ZIP code |
| `county` | string | No | County name — important for transfer tax calculations |
| `latitude` | number | No | Latitude coordinate (from [`lookup_address`](/tools/utility/lookup_address)) |
| `longitude` | number | No | Longitude coordinate (from [`lookup_address`](/tools/utility/lookup_address)) |
| `purchase_price` | number | Yes | Purchase price in dollars (required) · Min: 0 |
| `buyer_commission` | number | No | Buyer agent commission in dollars · Min: 0 |
| `buyer_commission_percentage` | number | No | Buyer agent commission as percentage (e.g., 2.5) · Max: 100 · Min: 0 |
| `seller_commission` | number | No | Seller agent commission in dollars · Min: 0 |
| `seller_commission_percentage` | number | No | Seller agent commission as percentage · Max: 100 · Min: 0 |
| `representation_type` | enum | Yes | Who YOU represent. CRITICAL: buyer=only add buyers as clients, seller=only add sellers, dual=add both (required) · One of: `buyer`, `seller`, `dual` |
| `acceptance_date` | string | No | Contract acceptance date. Used to calculate contingency deadlines. (Format: YYYY-MM-DD) · Format: Date (YYYY-MM-DD) |
| `closing_date` | string | No | Expected closing date. Typically 30-45 days from acceptance. (Format: YYYY-MM-DD) · Format: Date (YYYY-MM-DD) |
| `buyers` | array of objects | No | Array of buyer info. ONLY add if representation_type is "buyer" or "dual". These become YOUR CLIENT records. |
| `buyers[].first_name` | string | Yes | Buyer first name (required) |
| `buyers[].last_name` | string | Yes | Buyer last name (required) |
| `buyers[].email` | string | No | Buyer email · Format: Email address |
| `buyers[].phone` | string | No | Buyer phone |
| `sellers` | array of objects | No | Array of seller info. ONLY add if representation_type is "seller" or "dual". These become YOUR CLIENT records. |
| `sellers[].first_name` | string | Yes | Seller first name (required) |
| `sellers[].last_name` | string | Yes | Seller last name (required) |
| `sellers[].email` | string | No | Seller email · Format: Email address |
| `sellers[].phone` | string | No | Seller phone |

## Example prompts

- "Open escrow on 412 Birchwood Ln at 615k, I represent buyers Maria and Luis Garcia."
- "Set up a new transaction for 88 Calloway Dr at 745k with my sellers, the Hendersons."

## Safety

**Creates data.** Creates a new record in your CRM and may trigger notifications or webhooks. Running it twice creates a duplicate, so Claude runs it once per request.
