# Jobber: what the assistant can do

> Everything the assistant can do in Jobber by text: 12 actions, with example texts, the Jobber API call behind each one, and which ones ask first or can be undone.

Source: https://asktack.com/docs/actions/jobber/

In Jobber, the assistant can find a client, add a client, book a job, check the schedule, add a note, finish a visit or job, draft a quote, send a quote (link), draft an invoice, send an invoice (link), email a quote and email an invoice. You ask by text, in your own words.

**Status:** Paused. How to connect, permissions and limits: [Jobber](https://asktack.com/docs/integrations/jobber/).

| What it does | Asks first? | Undo |
|---|---|---|
| Find a client | No | – |
| Add a client | If unsure | 10 minutes |
| Book a job | If unsure | 10 minutes |
| Check the schedule | No | – |
| Add a note | If unsure | 10 minutes |
| Finish a visit or job | If unsure | 10 minutes |
| Draft a quote | If unsure | 10 minutes |
| Send a quote (link) | No | – |
| Draft an invoice | If unsure | 10 minutes |
| Send an invoice (link) | No | – |
| Email a quote | Always | No |
| Email an invoice | Always | No |

Asking first and undo follow the same rules for every tool: see [Confirmations and undo](https://asktack.com/docs/confirmations-and-undo/).

## Find a client

Looks up a client by name, company, phone or email and replies with their contact details and address.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Jobber API call:** `GraphQL query clients(searchTerm)`
- **Action name:** `jobber.find_client`

**Example texts:**

- "what's the Hendersons' number?"
- "look up Acme Property Management in Jobber"
- "who is 512-555-0142"

## Add a client

Adds a new client (a person or a company) with their phone, email and address.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Jobber API call:** `GraphQL mutation clientCreate`
- **Action name:** `jobber.create_client`

**Example texts:**

- "add a new client John Henderson 512-555-0123"
- "new customer: Maria Lopez, maria.lopez@gmail.com, 418 Elm St Austin TX 78704"
- "create client Acme Property Management"

## Book a job

Creates a job for a client, schedules the visit if you give a time, and assigns it to a team member.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Jobber API call:** `GraphQL mutation jobCreate`
- **Action name:** `jobber.create_job`

**Example texts:**

- "book Henderson Tues 2pm"
- "add a job for the Hendersons tomorrow 2pm, AC not cooling"
- "new job for Acme Property Mgmt: replace water heater, Friday 9-11am, give it to Mike"

## Check the schedule

Lists the visits scheduled for a day or a date range, for everyone or one team member.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Jobber API call:** `GraphQL query visits(filter: startAt)`
- **Action name:** `jobber.list_visits`

**Example texts:**

- "what's on today?"
- "what do I have tomorrow"
- "what's Mike doing Friday?"

## Add a note

Saves an internal note on a client or on one of their jobs.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Jobber API call:** `GraphQL mutation jobCreateNote / clientCreateNote`
- **Action name:** `jobber.add_note`

**Example texts:**

- "note for Henderson: gate code is 4512"
- "add a note to the Henderson job: needs a 40 gal water heater, will order Monday"
- "put a note on Acme: billing goes to their Dallas office"

## Finish a visit or job

Marks today's visit complete, or closes the job when no visits are left.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Jobber API call:** `GraphQL mutation visitComplete / jobClose`
- **Action name:** `jobber.complete_visit_or_job`

**Example texts:**

- "finished the Henderson job"
- "done at the Millers"
- "mark today's visit at Acme complete"

## Draft a quote

Creates a draft quote with line items for a client. It isn't sent to the client.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Jobber API call:** `GraphQL mutation quoteCreate`
- **Action name:** `jobber.create_quote`

**Example texts:**

- "quote Henderson $1450 for a 50 gal water heater install"
- "make an estimate for Acme: 3 smoke detectors at $45 each plus $120 labor"
- "draft a quote for Sarah Lopez, new thermostat $289 installed"

## Send a quote (link)

Finds the quote and replies with a link to send it from Jobber yourself. Used when no Gmail or Outlook is connected, since Jobber doesn't let apps email quotes.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Jobber API call:** `GraphQL query client { quotes }`
- **Action name:** `jobber.send_quote`

**Example texts:**

- "send the Henderson quote"
- "yes send it to them"
- "email quote 214 to Acme"

## Draft an invoice

Creates a draft invoice from a job's line items (or the items you give). It isn't sent. With QuickBooks connected, invoices go to QuickBooks instead.

- **Asks before doing it?** Usually not. It asks first if it isn't sure what you meant, a name only roughly matches, or the request covers more than 5 records.
- **Can be undone?** Yes. Text "undo" within 10 minutes.
- **Jobber API call:** `GraphQL mutation invoiceCreate`
- **Action name:** `jobber.create_invoice_from_job`

**Example texts:**

- "invoice the Henderson job"
- "make an invoice for job 1042"
- "bill Acme for the water heater install"

## Send an invoice (link)

Finds the invoice and replies with a link to send it from Jobber yourself. Used when no Gmail or Outlook is connected, since Jobber doesn't let apps email invoices.

- **Asks before doing it?** No. It only looks things up.
- **Can be undone?** Nothing to undo: it doesn't change anything.
- **Jobber API call:** `GraphQL query client { invoices }`
- **Action name:** `jobber.send_invoice`

**Example texts:**

- "send the Henderson invoice"
- "email invoice 1042 to Acme"
- "send the Millers their bill"

## Email a quote

Emails the quote to the client from your connected Gmail or Outlook, with Jobber's link where they can approve it.

- **Asks before doing it?** Yes, always. You see exactly what will happen and say yes before it does it.
- **Can be undone?** No. Sent items can't be unsent, which is why it always asks first.
- **Jobber API call:** `Gmail messages.send or Microsoft Graph sendMail`
- **Action name:** `jobber.email_quote`

**Example texts:**

- "send the Henderson quote"
- "yes send it to them"
- "email quote 214 to Acme"

## Email an invoice

Emails the invoice to the client from your connected Gmail or Outlook, with Jobber's link where they can pay, then marks it sent in Jobber.

- **Asks before doing it?** Yes, always. You see exactly what will happen and say yes before it does it.
- **Can be undone?** No. Sent items can't be unsent, which is why it always asks first.
- **Jobber API call:** `Gmail messages.send or Microsoft Graph sendMail, then GraphQL mutation invoiceMarkAsSent`
- **Action name:** `jobber.email_invoice`

**Example texts:**

- "send the Henderson invoice"
- "email invoice 1042 to Acme"
- "send the Millers their bill"

---

*This list is generated from the code that runs each action, so it's always current.*
