Connect Teachworks and Xero to unlock the power of automation
- No credit card required
- Free forever for core features
- 14-day trial for premium features and apps
Top companies trust Zapier to automate work that solves their unique business problems—no coding required.
Set up your first integration
Quickly connect Teachworks to Xero with a Zapier template.
Our most popular template
How Zapier works
Zapier makes it easy to integrate Teachworks with Xero - no code necessary. See how you can get setup in minutes.
Select a trigger from Teachworks
Setup an action from Xero
That’s it! You just connected Teachworks to Xero
Zapier is the automation platform of choice for 87% of Forbes Cloud 100 companies in 2023
93%
Customers who say using Zapier has made them better at their job
25m
Customers have created over 25 million Zaps on the platform
6 mins
The average user takes less than 6 minutes to set up a Zap
Connect Teachworks and Xero to integrate crucial parts of your business
With Zapier, you can integrate everything from basic data entry to end-to-end processes. Here are some of the business-critical workflows that people automate with Zapier.
Automate your lead management and improve conversions
Create more impactful campaigns with automation
Provide world-class support with a little help from automation
Automate your way to actionable, up-to-date data
Resolve incidents faster with automation
Supported triggers and actions
Zapier helps you create workflows that connect your apps to automate repetitive tasks. A trigger is an event that starts a workflow, and an action is an event a Zap performs.
- New Cost Premium
Triggers when a new cost premium is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Availability
Triggers when a new availability is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Employee
Triggers when a new employee is created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Lesson
Triggers when a new lesson is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Location
Triggers when a new location is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Package Balance Alert
Triggers when a low package balance alert is sent.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Refund
Triggers when a new refund is created
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Student
Triggers when a new student is created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Wage Payment
Triggers when a new wage payment has been created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - Customer IDRequired
- First NameRequired
- Last NameRequired
- Email
- Additional Email
- Home Phone
- Mobile Phone
- Status
- School
- Grade
- Additional Notes
- Calendar Color
- Birth Date
- Start Date
- Billing MethodRequired
- Student Cost
- Cost Premium ID
- Discount Rate
- Lesson Reminder Emails
- Lesson Notes Emails
- SMS Lesson Reminders
- Default Location ID
- Default Service IDs
- Default Teacher IDs
- Unviewed
- Send Welcome Email
- Enable User Account
- Student Groups
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Salutation
- First NameRequired
- Last NameRequired
- Email
- Additional Email
- Home Phone
- Mobile Phone
- Work Phone
- Address
- Address - Line 2
- City
- State
- Zip
- Country
- Additional Notes
- Status
- Lesson Reminder Emails
- Lesson Notes Emails
- SMS Lesson Reminders
- Unviewed
- Stripe ID
- Send Welcome Email
- Enable User Account
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Lesson nameRequired
- Description
- Teacher IDRequired
- Student ID(s)Required
- Service IDRequired
- Location IDRequired
- Number of Student Spaces
- Start date of the lessonRequired
- Start time of the lessonRequired
- End date of the lessonRequired
- End time of the lessonRequired
- Override Default Cost Calculation
- Override Method
- Custom Override Price
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Customer IDRequired
- Custom Field IDRequired
- Custom Field Value
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- First NameRequired
- Last NameRequired
- Email
- Customer IDRequired
- Student ID
- Sort Direction
ActionThis is an event a Zap performs.SearchFind existing data in your app- Customer IDRequired
- First NameRequired
- Last NameRequired
- Email
- Sort Direction
ActionThis is an event a Zap performs.SearchFind existing data in your app- First NameRequired
- Last NameRequired
- Email
- Sort Direction
ActionThis is an event a Zap performs.SearchFind existing data in your app- DateRequired
- Customer IDRequired
- AmountRequired
- Sort Direction
ActionThis is an event a Zap performs.SearchFind existing data in your app- First NameRequired
- Last NameRequired
- Email
- Sort Direction
- Salutation
- Additional Email
- Home Phone
- Mobile Phone
- Work Phone
- Address
- Address - Line 2
- City
- State
- Zip
- Country
- Additional Notes
- Status
- Lesson Reminder Emails
- Lesson Notes Emails
- SMS Lesson Reminders
- Unviewed
- Stripe ID
- Send Welcome Email
- Enable User Account
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is found- DateRequired
- Customer IDRequired
- AmountRequired
- Sort Direction
- Description
- Payment Method
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is found- OrganizationRequired
- Status
- Type
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Payment_type
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Payment_type
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Invoice IDRequired
- NoteRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Credit Note IDRequired
- Invoice IDRequired
- AmountRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- From AccountRequired
- To AccountRequired
- AmountRequired
- Date
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- ContactRequired
- DateRequired
- Expiry
- Quote Number
- Reference
- Theme
- Title
- Summary
- Currency
- Amounts Are
- Terms
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Invoice IDRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Contact_nameRequired
- Primary Person - Email
- Status
- DateRequired
- Due_date
- Currency
- Url
- Attachment
- Branding_theme
- Number
- Line_items_type
- Item Code
- Line_descriptionRequired
- Line_quantityRequired
- Line_unit_amountRequired
- Line_account_code
- Line_tax_type
- Line_tracking
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Invoice_type
- Document ID or NumberRequired
- Paid ToRequired
- DateRequired
- Currency_rate
- AmountRequired
- Reference
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- ContactRequired
- DateRequired
- Delivery_date
- Order Number
- Reference
- Branding_theme
- Currency
- Tax_type
- Delivery_address
- Attention
- Telephone
- Delivery_instructions
- Attachments
- Status
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Purchase OrderRequired
- Contact
- Update Method for Line Items
- DateRequired
- Delivery_date
- Line Amount Types
- Purchase Order Number
- Reference
- Branding Theme
- Currency
- Status
- Sent to Contact
- Delivery Address
- Attention To
- Telephone
- Delivery Instructions
- Expected_arrival_date
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Resource typeRequired
- FileRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Search_byRequired
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Search_byRequired
- Include Online Invoice URL
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Search_byRequired
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Search_byRequired
- Is SoldRequired
- Is PurchasedRequired
- NameRequired
- Item CodeRequired
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is found
- Lesson Completed
Triggers when a teacher is marked as completed by setting the attendance status in Teachworks.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Customer
Triggers when a new customer (family or independent student) is created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Invoice
Triggers when a new invoice is approved (ie. created or updated with status set to "Approved")
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Lesson Participant
Triggers when a new lesson participant is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Other Event
Triggers when a new event is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Payment
Triggers when a new payment is created
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly. - New Service
Triggers when a new service is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Unavailability
Triggers when a new unavailability is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - New Wage Tier
Triggers when a new wage tier is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan - First NameRequired
- Last NameRequired
- Employee TypeRequired
- Include as Teacher
- Status
- Email
- Mobile Phone
- Home Phone
- Address
- Address - Line 2
- City
- State
- Zip
- Country
- Additional Notes
- Birth Date
- Hire Date
- Position
- Bio
- Wage Type
- Employee Wage
- Wage Tier ID
- Work Wage Type
- Work Wage
- Default Calendar View
- Calendar Color By
- Calendar Color
- Subject IDs
- Lesson Reminder Emails
- SMS Lesson Reminders
- Unviewed
- Send Welcome Email
- Enable User Account
- Permission - Other Teacher's Lessons
- Permission - Student Contact Info
- Permission - Calendar Events
- Permission - Lesson Cost
- Permission - Lesson Duration
- Permission - Send Lesson Notes
- Permission - Upload Files
- Permission - Staff
- Permission - Teachers
- Permission - Students & Families
- Permission - Accounting
- Permission - Payroll & Hours
- Permission - Services
- Permission - Locations & Vehicles
- Permission - Lesson Wage (Other's)
- Permission - Analytics Reports
- Permission - Tasks
- Permission - Account Settings
- Permission - Subscription
- Permission - Integrations Settings
- Permission - Send Emails
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Salutation
- First NameRequired
- Last NameRequired
- Email
- Additional Email
- Home Phone
- Mobile Phone
- Work Phone
- Address
- Address - Line 2
- City
- State
- Zip
- Country
- Status
- Unviewed
- Stripe ID
- Additional Notes
- Send Welcome Email
- Enable User Account
- School
- Grade
- Calendar Color
- Birth Date
- Start Date
- Billing MethodRequired
- Student Cost
- Cost Premium ID
- Discount Rate
- Lesson Reminder Emails
- SMS Lesson Reminders
- Lesson Notes Emails
- Default Location ID
- Default Service IDs
- Default Teacher IDs
- Student Groups
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Customer IDRequired
- DateRequired
- AmountRequired
- Description
- Payment Method
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Customer IDRequired
- Custom Field IDRequired
- Custom Field Value
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- First NameRequired
- Last NameRequired
- Email
- Customer IDRequired
- Sort Direction
ActionThis is an event a Zap performs.SearchFind existing data in your app- First NameRequired
- Last NameRequired
- Email
- Sort Direction
ActionThis is an event a Zap performs.SearchFind existing data in your app- First NameRequired
- Last NameRequired
- Email
- Student ID
- Sort Direction
ActionThis is an event a Zap performs.SearchFind existing data in your app- First NameRequired
- Last NameRequired
- Email
- Customer IDRequired
- Student ID
- Sort Direction
- Additional Email
- Home Phone
- Mobile Phone
- Status
- School
- Grade
- Additional Notes
- Calendar Color
- Birth Date
- Start Date
- Billing MethodRequired
- Student Cost
- Cost Premium ID
- Discount Rate
- Lesson Reminder Emails
- Lesson Notes Emails
- SMS Lesson Reminders
- Default Location ID
- Default Service IDs
- Default Teacher IDs
- Unviewed
- Send Welcome Email
- Enable User Account
- Student Groups
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is found- First NameRequired
- Last NameRequired
- Email
- Sort Direction
- Salutation
- Additional Email
- Home Phone
- Mobile Phone
- Work Phone
- Address
- Address - Line 2
- City
- State
- Zip
- Country
- Status
- Unviewed
- Stripe ID
- Additional Notes
- Send Welcome Email
- Enable User Account
- School
- Grade
- Calendar Color
- Birth Date
- Start Date
- Billing MethodRequired
- Student Cost
- Cost Premium ID
- Discount Rate
- Lesson Reminder Emails
- SMS Lesson Reminders
- Lesson Notes Emails
- Default Location ID
- Default Service IDs
- Default Teacher IDs
- Student Groups
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is found- OrganizationRequired
- Days_overdueRequired
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Status
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.- OrganizationRequired
- Status
- Change
- Contact
- Trigger_preference
- Copy
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.- OrganizationRequired
- InvoiceRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Item CodeRequired
- NameRequired
- Description
- Is SoldRequired
- Sales Unit Price
- Sales Account
- Sales Tax Type
- Is PurchasedRequired
- Purchase Description
- Purchase Unit Price
- Purchase Account
- Purchase Tax Type
- Is TrackedRequired
- Inventory Asset Account
- Cost of Goods Sold Account
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Transaction_typeRequired
- ContactRequired
- Bank AccountRequired
- DateRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Lesson nameRequired
- Account_number
- Contact Requirements
- First NameRequired
- Last NameRequired
- Primary Person - Email
- Secondary Person - First Name
- Secondary Person - Last Name
- Secondary Person - Email
- Include secondary person in emails sent to contact?
- Phone - Country Code
- Phone - Area Code
- Phone Number
- Fax - Country Code
- Fax - Area Code
- Fax - Number
- Mobile - Country Code
- Mobile - Area Code
- Mobile - Number
- Direct Dial - Country Code
- Direct Dial - Area Code
- Direct Dial - Number
- Address__type_of
- Address - Attention
- Address - Line 1
- Address - Line 2
- Address - City/Town
- Address - State/Region
- Address - Postal/Zip Code
- Address - Country
- Tax_number
- Bank Account Number
- Groups
- Contact_number
- Company_number
- Payment Terms - Invoice Due (days)
- Payment Terms - Type for Sales Invoices
- Payment Terms - Bill Due (days)
- Payment Terms - Type for Purchase Invoices
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Type
- ContactRequired
- DateRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Is SoldRequired
- Is PurchasedRequired
- NameRequired
- Item CodeRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Contact_nameRequired
- Primary Person - Email
- Contact_account_number
- Primary Person - First Name
- Primary Person - Last Name
- Phone - Country Code
- Phone - Area Code
- Phone Number
- Fax - Country Code
- Fax - Area Code
- Fax - Number
- Mobile - Country Code
- Mobile - Area Code
- Mobile - Number
- Direct Dial - Country Code
- Direct Dial - Area Code
- Direct Dial - Number
- Contact Address Type
- Address - Attention
- Address - Line 1
- Address - Line 2
- Address - City/Town
- Address - State/Region
- Address - Postal/Zip Code
- Address - Country
- Contact_tax_number
- Bank Account Number
- Contact_number
- Status
- DateRequired
- Due_date
- Currency
- Url
- Attachment
- Branding_theme
- Number
- Reference
- Sent_to_contact
- Line_items_type
- Item Code
- Line_descriptionRequired
- Line_quantityRequired
- Line_unit_amountRequired
- Discount %
- Discount Amount
- Line_account_code
- Line_tax_type
- Line_tracking
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- ContactRequired
- Project NameRequired
- Deadline for the project
- Project Estimate
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- ContactRequired
- Repeated Invoice Schedule
- Invoice Creation: Frequency TypeRequired
- Invoice Creation: Frequency (Period)Required
- Due Date Type: Payment TermsRequired
- Set Due Dates (Days)Required
- Start Date:Required
- End Date
- Status
- Currency
- Branding_theme
- Reference
- Mark as approved for sending?
- Email a copy to Sender?
- Include PDF
- Line_items_type
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Info
- OrganizationRequired
- Invoice IDRequired
- ContactRequired
- Status
- DateRequired
- Due_date
- Expected_payment_date
- Reference
- Branding_theme
- Url
- Currency
- Sent_to_contact
- Attachments
- Document ID or NumberRequired
- Amounts Are
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- HTTP MethodRequired
- Url
- Query String Parameters
- Headers
- Additional Request Headers
- Body
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Invoice IDRequired
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Search_byRequired
- Lesson nameRequired
- Account_number
- Contact Requirements
- First NameRequired
- Last NameRequired
- Primary Person - Email
- Secondary Person - First Name
- Secondary Person - Last Name
- Secondary Person - Email
- Include secondary person in emails sent to contact?
- Phone - Country Code
- Phone - Area Code
- Phone Number
- Fax - Country Code
- Fax - Area Code
- Fax - Number
- Mobile - Country Code
- Mobile - Area Code
- Mobile - Number
- Direct Dial - Country Code
- Direct Dial - Area Code
- Direct Dial - Number
- Address__type_of
- Address - Attention
- Address - Line 1
- Address - Line 2
- Address - City/Town
- Address - State/Region
- Address - Postal/Zip Code
- Address - Country
- Tax_number
- Bank Account Number
- Groups
- Contact_number
- Company_number
- Payment Terms - Invoice Due (days)
- Payment Terms - Type for Sales Invoices
- Payment Terms - Bill Due (days)
- Payment Terms - Type for Purchase Invoices
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is found