Kickserv logo

Kickserv automation · runs daily

Invoice completed Kickserv jobs and email the invoices

Jobs get marked complete and the pop-up that offers to generate the invoice gets closed, so the next morning the office finds completed jobs with no invoice and has to bill them one by one.

Cotlet does it in your own Kickserv account with list_jobs, get_job, generate_invoice and send_invoice, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Official options

Can Kickserv do this on its own?

The Kickserv API has no invoice endpoints (checked 12 Oct 2026); a job record carries invoice status fields, but nothing in the API generates or emails an invoice. In the app, Kickserv prompts to generate the invoice when a job is marked complete, and the help center describes sending only through the Send button in the invoice header. Automatic invoice reminders exist, but they start only after an invoice was sent by hand once.

By hand

How you do it in Kickserv today

  1. Open the Jobs page, clear the filters and look at the Completed column for jobs finished yesterday.
  2. Open each job and select Generate Invoice in the job header, or Generate the invoice in the pop-up after Mark Complete.
  3. Check the charges, select Preview to see what the customer gets, then select Send in the invoice header and Send invoice.
  4. Confirm on Jobs > Invoices that each row shows the blue letter icon for sent.
  5. Every job means four screens, and an invoice that was generated but never sent gets no automatic reminder, so it can sit unpaid for weeks.

With an agent

How to invoice completed Kickserv jobs and email the invoices

Prompt

Invoice every Kickserv job completed yesterday and email the invoices. Skip jobs with no charges or with more visits still scheduled, and list them for me.
  1. 01

    Collect yesterday's completed jobs

    Your agent calls list_jobs with status complete for yesterday and pages through until a page comes back short, because Kickserv returns 30 jobs at a time.

  2. 02

    Skip what is already billed

    For each job it reads get_job. A job whose invoice was already sent is left alone. A job with an invoice that was generated but never sent goes straight to sending, so no second invoice is made.

  3. 03

    Hold back jobs that are not ready

    A job with no charges or a zero total is not invoiced. A job with another work event still on its schedule, such as a remodel with a second visit next week, is left for the final invoice and listed for you.

  4. 04

    Generate, compare, then send

    generate_invoice builds the invoice from the job charges, and the agent checks its total against the charges it read. send_invoice then emails the main customer with your invoice template; you approve the batch unless you switched confirmation off.

  5. 05

    Report what is left for a person

    The run ends with what was sent, the amounts, and every job skipped with the reason, so the office only opens the exceptions.

What you get back

Example data

Completed yesterday: 8 jobs
Invoiced and emailed: 5, $3,215.00
Already generated, sent now: 1 (#1037 Lee Residence, $480.00)
Skipped, no charges: 1 (#1052 Drain cleaning, 9 Oak St, tech Dana Ruiz)
Skipped, second visit Oct 16: 1 (#1049 Kitchen remodel, Rivera)
Invoice reminders now apply to all 6 sent invoices

Other ways to ask

  • Every weekday at 6 p.m., invoice jobs completed today but hold any invoice over $2,500 for my review.
  • List last week's completed jobs for Dana Ruiz that still have no invoice, without creating anything.
  • Generate invoices for this month's completed jobs and leave them unsent so I can check them first.

Before you automate it

What Kickserv allows, and what to know first

  • Kickserv sends automatic invoice reminders only when the job is complete, the invoice has a balance, it is not marked Paid and it was sent manually at least once.
  • Kickserv invoice reminders are switched on under Settings > Messaging Templates > Invoice messaging > Invoice Reminders, with a cadence counted from the original sent date.
  • When a Kickserv job is marked complete, a pop-up asks whether to mark all its work events complete; multi-visit jobs are meant to stay open until the final invoice.
  • Kickserv voids an invoice by adjusting it: charges set to $0 with VOIDED in each description, a negative line, or an Other payment, and Kickserv advises against the last one when the job syncs to QuickBooks.
  • On the Kickserv Invoices page a blue letter icon means sent and a purple eye means the customer opened the invoice; grey icons mean not yet.

send_invoice asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: Kickserv help: Invoices · Kickserv help: Jobs · Kickserv API documentation

REST

Call list_jobs from a script

curl

curl https://cotlet.dev/api/v1/kickserv/list_jobs \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"complete","scheduled":"yesterday","page":1}'

Example response

{
  "jobs": [
    {
      "job_number": "1037",
      "service_type": "Water heater replacement",
      "customer": "Lee Residence",
      "status": "complete",
      "scheduled_on": "2026-10-09",
      "employees": [
        "Dana Ruiz"
      ]
    }
  ],
  "page": 1
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is kickserv_list_jobs. Example data.

Schedule it in n8n, Make, Zapier or cron

Tools

Kickserv tools this automation uses

Cotlet Kickserv tools used to invoice completed Kickserv jobs and email the invoices
Tool Parameters
list_jobs status, scheduled, employee, page
get_job job_number
generate_invoice job_number
send_invoice job_number, to, cc, subject, message, attach_pdf
All 15 Kickserv tools with descriptions

Give your agent access to Kickserv.

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