Zapier Steps Reference

This page lists every step in the Keito app on Zapier (version 1.3.0): what it needs, what it does, and what it returns. For setup and concepts, start with the Zapier integration overview. For worked examples, see Zapier Workflow Examples.

Required inputs are marked required. Dates use YYYY-MM-DD; times use HH:mm in the workspace’s local time. IDs are Keito record IDs; the pickers in the Zap editor fill them for you, and Find steps return them for mapping.

Triggers

All triggers poll. Each poll reads changes from the last 30 days, returns the newest records first, and hands Zapier at most 100 records per poll. Zapier runs a Zap once per record ID.

Trigger Fires when Optional filters Returns
New Client A client is created None Client
New Contact A client contact is created Client Contact
New Project A project is created None Project
New Time Entry A time entry is created Project, User (a Keito user ID, or me for the connected user) Time entry
New Expense An expense is recorded Project Expense
New Invoice An invoice is created (as a draft) Client Invoice with line items
Updated Invoice An invoice is created, edited, or changes state Client Invoice with line items, plus original_id

Updated Invoice gives each update its own Zapier ID so a Zap can run for every change. Map the invoice’s Original ID into other apps as the stable key, and add a Filter on State (draft, open, paid, closed, voided) when you only want one transition.

The New Time Entry User filter only sees other people’s time when the connected user is an administrator or manager. A record edited inside the 30-day window but created before it does not fire a New trigger.

Actions

Create Client

Creates a client. Duplicates are not prevented, so pair it with Find Client or use Find or Create Client.

Field Notes
Name Required.
Address, Currency Currency is a three-letter code from the picker; defaults to the workspace currency.
Payment Terms, Payment Days Terms are upon_receipt, net_15, net_30, net_45, net_60, or custom; Payment Days applies to custom.
Tax %, Tax 2 %, Discount % Client defaults copied onto new invoices.
Is Active Defaults to true.

Create Contact

Adds a contact to a client. Returns the contact with its client.

Field Notes
Client Required. Picker or a client ID.
First Name Required.
Last Name, Title, Email, Office Phone, Mobile Phone, Fax Optional.
Invoice Recipient Status none, recipient, cc, or bcc; an email is needed for anything other than none.

Create Project

Creates a project for a client. Commercial fields (rates, fees, budgets) need permission to view billable rates; leave them blank otherwise.

Field Notes
Client, Name Required.
Code, Notes, Starts On, Ends On Optional.
Is Billable, Bill By Bill By is PROJECT, TASKS, PEOPLE, or NONE. A non-billable project must use NONE.
Is Fixed Fee, Fee, Hourly Rate A fixed-fee project needs a Fee; Fee is only allowed on fixed-fee projects.
Budget By, Budget, Budget Is Monthly, Cost Budget, Cost Budget Includes Expenses Budget By is NONE, PROJECT_HOURS, PROJECT_COST, TASK, TASK_FEES, or PERSON. NONE forbids a budget.
Notify When Over Budget, Budget Alert %, Show Budget to All Optional alerts and visibility.
Tasks Workspace tasks to assign at creation. Keito also assigns the workspace’s default tasks.

Create Project Task

Creates a new task on a project and makes it active there. Task names are unique per project (case-insensitive); creating an archived task’s name restores that task.

Field Notes
Project, Task Name Required. Names up to 255 characters.
Billable Defaults to the project’s billable setting.
Hourly Rate Rate for new time on this project.
Budget Hours or fees, following the project’s Budget By setting. 0 is allowed.

Returns the task with project_id, assignment_id, and the billing fields when the connected user may see them. Billable, Hourly Rate, and Budget need permission to view billable rates; if any is filled in without it, Keito answers 403.

Add Task to Project

Assigns an existing workspace task to a project. Use it when the task already exists in your task list; use Create Project Task for a brand-new task.

Field Notes
Project, Task Required. The Task picker lists workspace tasks.
Billable, Hourly Rate, Budget Optional, same rules as Create Project Task.

Returns the task assignment. Keito answers 409 when the task is already active on the project; use Set Task Budget instead.

Set Task Budget

Sets the budget for a task that is already active on a project, and optionally its hourly rate and billable flag. Nothing else on the assignment changes, and it never archives or removes the task.

Field Notes
Project Required. Choosing it refreshes the Task picker.
Task Required. Only tasks active on the selected project.
Budget Required. Hours or fees per the project’s Budget By setting; 0 is allowed.
Hourly Rate Applies to new time only; existing entries are not repriced.
Billable Leave blank to keep the current setting.

Returns the task assignment with its ID, project, task, budget, rate, and billable flag. If the task is not active on the project the step fails with “No active assignment was found”.

Create Time Entry

Logs a time entry against a project task. Enter Hours, or leave Hours blank and give Start Time and End Time.

Field Notes
Project, Task, Date Required. The Task picker only lists tasks active on the chosen project.
Hours Decimal, greater than 0 and at most 24. 1.5 is one hour and thirty minutes.
Start Time, End Time HH:mm; both are needed when Hours is blank.
Notes, Internal Notes Internal notes are stored only when the workspace enables them.
Billable Applied only when the workspace allows billability overrides for the connected user; otherwise the task default applies.
User A Keito user ID to log time for someone else (administrators and managers). Blank logs time for the connected user.
Metadata A JSON object up to 4 KB for your own references.

Entries created this way are marked with source api.

Create Expense

Records an expense against a project. The workspace must have Expenses enabled. Enter either Total Cost (fixed-price categories) or Units (unit-priced categories such as mileage), never both.

Field Notes
Project, Expense Category, Date Required.
Total Cost Greater than 0.
Units Greater than 0; decimals up to six places are accepted when mapped from another step.
Notes, Billable Billable is ignored on non-billable projects.
Entry Type expense (default) or refund. A refund records money returned and needs a Refund Reason.
Refund Reason, Original Expense Reason is returned_materials, vendor_refund, correction, imported_adjustment, or other; Original Expense links the refund to the expense it adjusts. Both apply only to refunds.
Attach Receipt to Invoice Include the receipt when the expense is invoiced.
Metadata JSON object up to 4 KB.

Returns the expense with an absolute receipt URL when a receipt exists.

Create Invoice

Creates a draft invoice. The draft has a placeholder DRAFT- number until it is sent.

Field Notes
Client Required.
Subject, Purchase Order, Notes Optional.
Issue Date, Due Date Issue Date defaults to today; Due Date defaults from the payment term.
Payment Term upon_receipt, net_15, net_30, net_45, net_60, or custom.
Currency Picker; defaults to the workspace currency.
Tax %, Tax 2 %, Discount % Invoice-level percentages.
Billing Period Start, Billing Period End Cannot overlap another invoice for the same client.
Service Period Start, Service Period End Shown on the invoice; give both or neither, end on or after start.
Line Items Repeating group: Kind (SERVICE or PRODUCT), Effect (charge or credit), Description (required), Quantity (required), Unit Price (required), Apply Tax, Apply Tax 2, Project. Credit lines reduce the total; enter positive numbers for both kinds.

Returns the invoice with its line items, amounts, tax amounts, dates, and state.

Create Estimate

Creates a draft estimate for a client with optional line items (Kind, Description, Quantity, Unit Price, Apply Tax, Apply Tax 2, Project). Fields: Client (required), Number, Subject, Issue Date, Valid Until, Currency, Purchase Order, Tax %, Tax 2 %, Discount %, Intro Message, Notes. Returns the estimate with its state and line items.

Send Invoice Email

Emails an invoice to its recipients. Send issues a draft, assigns its final number, and marks it open. Reminder is for open invoices and Thank You for paid invoices.

Field Notes
Message Type Required. send (default), reminder, or thank_you.
Invoice Required. The picker labels drafts by subject and issue date; map an ID from Create Invoice or Find Invoice in multi-step Zaps.
Recipient Email Required. One or more addresses.
CC Email Optional; not available for Thank You. Duplicates of a recipient are dropped. Up to 50 addresses in total.
Email Subject, Email Body Defaults come from the workspace’s invoice email settings.
Attach Invoice PDF, Include Invoice Attachments, Attach Expense Receipts All default to on. Receipts and attachments apply to Send and Reminder.
Send Me a Copy Not available for Thank You.

Returns the message record: recipients, CC, subject, body, attachment flags, and the message type. If Keito reports that the invoice was issued but delivery failed, the invoice is already open; fix the delivery problem before replaying.

Searches

Searches return the matching records, newest or best match first, and an empty result when nothing matches. Each reads up to five pages of records, so give it a distinct value in a large workspace.

Search Inputs Matching Typical use
Find Client Name (required) Active clients whose name contains the text; exact matches first Client ID for Create Invoice, Create Contact, or Create Project
Find Contact Client (required), Email (required) Exact email within the client Contact details for invoice recipients
Find Project Client (required), Name (required) Active projects for the client whose name contains the text Project ID for time, expenses, and tasks
Find Task Name (required), Project (optional) Active tasks whose name contains the text, within the project when given Task ID for Create Time Entry or Set Task Budget
Find Invoice Invoice Number (required) Exact number, case-insensitive Invoice ID for Send Invoice Email or an accounting step

Draft invoices carry a placeholder DRAFT- number until they are sent, so Find Invoice works for issued invoices.

Find or Create is available for clients, projects, contacts, and invoices. Zapier runs the search and, when nothing is found, the matching create step with the fields you map.

Returned Fields

Every step returns Keito’s API fields for the record, so later steps can map them. The most used ones:

Record Fields
Client id, name, address, currency, is_active, payment_terms, payment_days, tax, tax2, discount, timestamps
Contact id, client id and name, first_name, last_name, title, email, invoice_recipient_status, phones, timestamps
Project id, client id and name, name, code, is_active, is_billable, is_fixed_fee, bill_by, budget_by, budget fields, starts_on, ends_on, notes, timestamps; hourly_rate, fee, and budget only when the connected user may view them
Task assignment id, project id, name, and code, task id and name, is_active, billable, hourly_rate, budget, timestamps
Time entry id, user, project, and task ids and names, spent_date, hours, notes, internal_notes, is_running, started_time, ended_time, is_locked, is_billed, billable, budgeted, billable_rate, source, metadata, timestamps
Expense id, user, project, client, and category details, spent_date, total_cost, currency, units, entry_type, refund fields, notes, billable, receipt fields, is_locked, is_billed, approval_status, timestamps
Invoice id, client and creator, number, purchase_order, subject, state, amount, due_amount, currency, issue_date, due_date, payment_term, tax and discount amounts, notes, billing and service periods, sent_at, paid_at, closed_at, timestamps, and line_items[] with kind, effect, description, quantity, unit_price, amount, taxed, taxed2, project_id
Estimate Like an invoice, plus valid_until, intro_message, viewed_at, accepted_at, declined_at, expired_at, converted_invoice_id

Rate and budget fields are omitted, not blank, when the connected user cannot see them in Keito.