# Create a Tradify job and book staff from a phone call

> A customer rings: your agent finds or adds them in Tradify, creates the job, checks the Scheduler for a free slot and books the crew after your OK.

Source: https://cotlet.dev/integrations/tradify-api-mcp-server/create-job-and-book-staff

The phone rings while you are on a roof, and the caller wants someone on Thursday. Back in the van you still have to find them in Tradify, create the job and find a gap in the Scheduler before you forget what they said.

Cotlet does it in your own Tradify account with list\_customers, create\_customer, create\_job, list\_appointments and schedule\_appointment, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=tradify) [All Tradify tools](https://cotlet.dev/integrations/tradify-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Tradify do this on its own?

Tradify has no API for jobs or the Scheduler (checked 12 Oct 2026). Its Enquiries web form captures requests from your website, and Copy To Job turns one into a job, but a phone call is still keyed in by hand. The Google Calendar connection is one way, bringing Google appointments into the Scheduler, so no outside tool can create a job or book a slot.

By hand

## How you do it in Tradify today

1. Go to Jobs in the Tradify left-hand navigation, select New Job, add the Customer and Description and select Save & Continue.
2. Open the Scheduler and choose the horizontal, vertical or month view, then look for a free slot for the right staff member on the day the customer asked for.
3. Click the slot, fill in the appointment, assign the staff member and, under Email Confirmation, tick Customer if they should get a confirmation email.
4. Save the appointment. On a busy morning that is three screens per call, and a slot that looks free can hide a personal Google Calendar event when the G filter is switched off.

With an agent

## How to create a Tradify job and book staff from a phone call

Prompt

```
New job for Sam Lee at 12 Oak St: replace the hot water cylinder. Book Mike for Thursday morning, about four hours, and email Sam the confirmation.
```

1. 01  
### Find the caller before adding them  
The agent searches list\_customers by phone number first, then by name, because returning customers often ring about a different site. Two close matches mean it asks you which one. Only with no match does it call create\_customer, with the email address if the caller gave one, since Tradify cannot send a confirmation without it.
2. 02  
### Create the job with the right site  
create\_job gets the work in the caller's words and the site address when it differs from the customer profile. A landlord or PO reference goes in reference. The job exists before any booking, so a call that ends with "I will ring back about the time" still leaves a record.
3. 03  
### Read the day before booking  
list\_appointments for that day and that staff member shows what Mike already has. When the requested window overlaps, the agent proposes the nearest free window the same day or a colleague who is free, and never books on top of an existing appointment.
4. 04  
### Book with a crew note  
schedule\_appointment gets the agreed window and a short note for the crew: access, parking, parts to bring. email\_customer is set only when you asked for a confirmation and the customer has an email. The booking waits for your OK by default, because it can email the customer.

### What you get back

Example data

```
Customer found: Sam Lee, 021 555 0142 (existing profile, new site)
Job J-0418 created: Replace hot water cylinder, 12 Oak St
Mike Ross, Thu 15 Oct: 07:30 to 09:00 already booked on J-0409
Booked: Mike Ross, Thu 15 Oct 09:30 to 13:30, note: bring 180 L cylinder
Confirmation emailed to sam@example.com
Job J-0418 is now Scheduled
```

### Other ways to ask

- Who is free tomorrow afternoon for a two-hour callout? Book the first free electrician on J-0422.
- Every weekday at 6 am, send me tomorrow's Tradify schedule grouped by staff member.
- New customer Ana Ruiz, 0412 555 019, leaking tap at 4 Bay Rd. Create the job but leave it unscheduled.
- Book Mike and Jo together on J-0418 for all of Friday, no email to the customer.

Before you automate it

## What Tradify allows, and what to know first

- A Tradify job changes to Scheduled automatically once it has an appointment, and on that day it shows under Today's Jobs in the assigned staff member's job list.
- Tradify notifies staff who were not already on the job that it has been assigned to them, by mobile push or email, as set under Job Notifications on their staff profile.
- The Tradify Email Confirmation option is missing when the customer has no saved email address; Settings > Scheduler > Customer Appointment Confirmations can switch confirmations on for every booking.
- Tradify shows only one Google calendar at a time in the Scheduler, the primary one unless you pick another, so events on a shared or work calendar stay invisible when booking.

schedule\_appointment asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [Tradify Help Center: Create a new Job](https://help.tradifyhq.com/hc/en-us/articles/23354529796249-Create-a-new-Job) · [Tradify Help Center: Scheduling Jobs in the Scheduler](https://help.tradifyhq.com/hc/en-us/articles/360014393493-Scheduling-Jobs-in-the-Scheduler) · [Tradify Help Center: Edit a Scheduled Appointment Confirmation Email](https://help.tradifyhq.com/hc/en-us/articles/22864137962649-Edit-a-Scheduled-Appointment-Confirmation-Email) · [Tradify Help Center: Connect Your Google Calendar To Tradify](https://help.tradifyhq.com/hc/en-us/articles/21899615992217-Connect-Your-Google-Calendar-To-Tradify)

REST

## Call schedule\_appointment from a script

curl

```
curl https://cotlet.dev/api/v1/tradify/schedule_appointment \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"job_id":"j_20931","start":"2026-10-15T09:30:00+13:00","end":"2026-10-15T13:30:00+13:00","staff":["Mike Ross"],"notes":"Bring 180 L cylinder","email_customer":true}'
```

Example response

```
{
"appointment_id": "ap_3318",
"job_id": "j_20931",
"staff": [
"Mike Ross"
],
"start": "2026-10-15T08:00:00+13:00",
"end": "2026-10-15T12:00:00+13:00",
"customer_emailed": false
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is tradify\_schedule\_appointment. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/tradify-api-mcp-server#automations)

Tools

## Tradify tools this automation uses

__Cotlet Tradify tools used to create a Tradify job and book staff from a phone call__
| Tool | Parameters |
| --------------------- | --------------------------------------------------- |
| list\_customers | search, limit |
| create\_customer | name, email, phone, address |
| create\_job | customer\_id, description, site\_address, reference |
| list\_appointments | from, to, staff |
| schedule\_appointment | job\_id, start, end, staff, notes, email\_customer |

[All 15 Tradify tools with descriptions](https://cotlet.dev/integrations/tradify-api-mcp-server#tools)

## More Tradify automations

- [Chase overdue Tradify invoices after the reminders stop](https://cotlet.dev/integrations/tradify-api-mcp-server/chase-overdue-invoices)
- [Write a Tradify quote from your site notes](https://cotlet.dev/integrations/tradify-api-mcp-server/quote-from-notes)
- [Send Tradify deposit invoices when quotes are accepted](https://cotlet.dev/integrations/tradify-api-mcp-server/deposit-invoice-for-accepted-quotes)
- [Tradify API and MCP server: every tool](https://cotlet.dev/integrations/tradify-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Tradify.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Tradify.

[Request access](https://cotlet.dev/app/signup?app=tradify)
