Connect Bullhorn CRM 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.
How Zapier works
Zapier makes it easy to integrate Bullhorn CRM with Xero - no code necessary. See how you can get setup in minutes.






Choose a trigger
A trigger is the event that starts your Zap—like a "New Candidate" from Bullhorn CRM.
Add your action
An action happens after the trigger—such as "Add Items to Existing Sales Invoice" in Xero.
You’re connected!
Zapier seamlessly connects Bullhorn CRM and Xero, automating your workflow.
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.
- EmailRequired
- Custom Date 1
- Custom Date 2
- Custom Date 3
- Custom Float 1
- Custom Float 2
- Custom Float 3
- Custom Int 1
- Custom Int 2
- Custom Int 3
- Custom Text 1
- Custom Text 2
- Custom Text 3
- Custom Text 4
- Custom Text 5
- Custom Text 6
- Custom Text 7
- Custom Text 8
- Custom Text 9
- Custom Text 10
- Custom Text 11
- Custom Text 12
- Custom Text 13
- Custom Text 14
- Custom Text 15
- Custom Text 16
- Custom Text 17
- Custom Text 18
- Custom Text 19
- Custom Text 20
- Custom Text Block 1
- Custom Text Block 2
- Custom Text Block 3
- Custom Text Block 4
- Custom Text Block 5
- Mobile Phone
- Status
- Address: Address 1
- Address: Address 2
- Address: City
- Address: State
- Address: Postal Code
- First Name
- Last Name
- Full Name
- Client Corporation
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- TitleRequired
- DescriptionRequired
- Contact Email
- Contact Name
- Corporation
- Correlated Custom Date 1
- Correlated Custom Date 2
- Correlated Custom Date 3
- Correlated Custom Float 1
- Correlated Custom Float 2
- Correlated Custom Float 3
- Correlated Custom Int 1
- Correlated Custom Int 2
- Correlated Custom Int 3
- Correlated Custom Text 1
- Correlated Custom Text 2
- Correlated Custom Text 3
- Correlated Custom Text 4
- Correlated Custom Text 5
- Correlated Custom Text 6
- Correlated Custom Text 7
- Correlated Custom Text 8
- Correlated Custom Text 9
- Correlated Custom Text 10
- Correlated Custom Text Block 1
- Correlated Custom Text Block 2
- Correlated Custom Text Block 3
- Custom Date 1
- Custom Date 2
- Custom Date 3
- Custom Float 1
- Custom Float 2
- Custom Float 3
- Custom Int 1
- Custom Int 2
- Custom Int 3
- Custom Text 1
- Custom Text 2
- Custom Text 3
- Custom Text 4
- Custom Text 5
- Custom Text 6
- Custom Text 7
- Custom Text 8
- Custom Text 9
- Custom Text 10
- Custom Text 11
- Custom Text 12
- Custom Text 13
- Custom Text 14
- Custom Text 15
- Custom Text 16
- Custom Text 17
- Custom Text 18
- Custom Text 19
- Custom Text 20
- Custom Text Block 1
- Custom Text Block 2
- Custom Text Block 3
- Custom Text Block 4
- Custom Text Block 5
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- First Name
- Last Name
- Full Name
- Status
- Company Name
- Company URL
- Phone
- Cell Phone
- Description
- Email
- Id
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- TitleRequired
- Corporation
- Contact Email
- Contact Name
- Actual Close Date
- Assigned Date
- Benefits
- Bonus Package
- Branch Code
- Campaign Source
- Committed
- Correlated Custom Float 1
- Correlated Custom Float 2
- Correlated Custom Float 3
- Correlated Custom Int 1
- Correlated Custom Int 2
- Correlated Custom Int 3
- Correlated Custom Text 1
- Correlated Custom Text 10
- Correlated Custom Text 2
- Correlated Custom Text 3
- Correlated Custom Text 4
- Correlated Custom Text 5
- Correlated Custom Text 6
- Correlated Custom Text 7
- Correlated Custom Text 8
- Correlated Custom Text 9
- Correlated Custom Text Block 1
- Correlated Custom Text Block 2
- Correlated Custom Text Block 3
- Cost Center
- Custom Date 1
- Custom Date 2
- Custom Date 3
- Custom Float 1
- Custom Float 2
- Custom Float 3
- Custom Int 1
- Custom Int 2
- Custom Int 3
- Custom Text 1
- Custom Text 10
- Custom Text 11
- Custom Text 12
- Custom Text 13
- Custom Text 14
- Custom Text 15
- Custom Text 16
- Custom Text 17
- Custom Text 18
- Custom Text 19
- Custom Text 2
- Custom Text 20
- Custom Text 3
- Custom Text 4
- Custom Text 5
- Custom Text 6
- Custom Text 7
- Custom Text 8
- Custom Text 9
- Custom Text Block 1
- Custom Text Block 2
- Custom Text Block 3
- Custom Text Block 4
- Custom Text Block 5
- Deal Value
- Degree List
- Description
- Education Degree
- Effective Date
- Estimated Duration
- Estimated End Date
- Estimated Hours Per Week
- Estimated Start Date
- Expected Bill Rate
- Expected Close Date
- Expected Fee
- Expected Pay Rate
- Egnore Until Date
- Is Deleted
- Is Open
- Mark Up Percentage
- Num Openings
- On Site
- Options Package
- Priority
- Public Description
- Published Zip
- Reason Closed
- Salary
- Salary Unit
- Skill List
- Source
- Status
- Type
- Weighted Deal Value
- Will Relocate
- Win Probability Percent
- Years Required
- Id
- Email Blueprint Company Name
- Owner Name
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Api_docs_info
- Stop on errorRequired
- HTTP MethodRequired
- URLRequired
- Query string parameters
- Additional request headers
- Body
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Days_overdueRequired
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- Trigger_info
- OrganizationRequired
- PayRun Status
- PayRun Period Start Date
- PayRun Period End Date
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Purchase Order Status
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Payment_type
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- 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
- Date
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Contact NameRequired
- Account_number
- Sales Default Account Code
- Purchases Default Account Code
- Contact Requirements
- Primary Person - First Name
- Primary Person - Last Name
- 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
- ContactRequired
- Date
- 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
- Warning_message
- Credit Note IDRequired
- Allocation IDRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Info
- OrganizationRequired
- First NameRequired
- Middle Names
- Last NameRequired
- Date of BirthRequired
- Title
- EmailRequired
- Gender
- Phone Number
- Mobile Number
- Twitter Username
- Job Title
- Classification
- Termination Date
- Termination Reason
- Income Type
- Employment Type
- Status
- CopyEmployment
- Employment Basis
- Start Date
- Payroll Calendar
- Employee Group Name
- Is Authorised to Approve Leave
- Is Authorised to Approve Timesheets
- Super Fund
- Employee Number
- CopyTaxDeclaration
- Tax File Number
- TFN Exemption Type
- Residency Status
- Tax Scale Type
- Tax Offset Estimated Amount
- Upward Variation Tax Withholding Amount
- Approved Withholding Variation Percentage
- CopyBankAccount
- Statement Text
- Account Name
- BSB Number
- Account Number
- Remainder
- CopyAddress
- Address Line 1
- Address Line 2
- City/Suburb
- State/Region
- Postal Code
- Country
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Contact_nameRequired
- Email_address
- Status
- Date
- Due_date
- Currency
- Url
- Attachment
- Branding_theme
- Reference
- Line_items_type
- Item Code
- Description
- QuantityRequired
- Unit Price
- Account
- Tax Rate
- Tracking
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Document Type
- Document ID or NumberRequired
- Paid ToRequired
- Date
- Currency_rate
- AmountRequired
- Reference
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Contact (supplier)Required
- Date
- Delivery_date
- Order Number
- Reference
- Theme
- Currency
- Tax_type
- Delivery_address
- Attention
- Telephone
- Delivery_instructions
- Attachments
- Purchase Order Status
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Info
- OrganizationRequired
- EmployeeRequired
- First NameRequired
- Middle Names
- Last NameRequired
- Date of BirthRequired
- Title
- EmailRequired
- Gender
- Phone Number
- Mobile Number
- Twitter Username
- Job Title
- Classification
- Termination Date
- Termination Reason
- Income Type
- Employment Type
- Status
- CopyEmployment
- Employment Basis
- Start Date
- Payroll Calendar
- Employee Group Name
- Is Authorised to Approve Leave
- Is Authorised to Approve Timesheets
- Super Fund
- Employee Number
- CopyTaxDeclaration
- Tax File Number
- TFN Exemption Type
- Residency Status
- Tax Scale Type
- Tax Offset Estimated Amount
- Upward Variation Tax Withholding Amount
- Approved Withholding Variation Percentage
- CopyBankAccount
- Statement Text
- Account Name
- BSB Number
- Account Number
- Remainder
- CopyAddress
- Address Line 1
- Address Line 2
- City/Suburb
- State/Region
- Postal Code
- Country
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Quote IDRequired
- Quote Number
- Status
- ContactRequired
- Date
- Expiry
- 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
- 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
- Email
ActionThis is an event a Zap performs.SearchFind existing data 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
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Search_byRequired
- Contact NameRequired
- Account_number
- Sales Default Account Code
- Purchases Default Account Code
- Contact Requirements
- Primary Person - First Name
- Primary Person - Last Name
- 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
- Tearsheet NameRequired
- Person TypeRequired
- Fields to LookupRequired
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- Federal Filing Status
- First Name
- Last Name
- Email
- Username
- Is Day Light Savings
- Salary
- Middle Name
- Company Name
- Travel Limit
- Day Rate
- Date Available
- Date of Birth
- Day Rate Low
- Fax 3
- Fax 2
- Name Prefix
- Custom Text 12
- Custom Text 11
- Custom Text 10
- Pager
- Custom Text 13
- Custom Text 14
- Custom Text 15
- Custom Text 16
- Custom Text 17
- Custom Text 18
- Custom Text 19
- Custom Float 3
- Custom Text Block 3
- Custom Text Block 4
- Custom Text Block 5
- Custom Text 20
- Ethnicity
- Custom Text Block 1
- Comments
- Custom Float 2
- Custom Text Block 2
- Custom Float 1
- Name Suffix
- Phone
- Custom Date 1
- Custom Int 1
- Custom Date 2
- Custom Date 3
- Custom Int 3
- Custom Int 2
- Social Security Number (SSN)
- Phone 2
- Phone 3
- LocalAddtionalWitholdingsAmount
- Description
- Gender
- Employee Type
- Occupation
- Hourly Rate
- Fax
- Status
- Tax State
- Company URL
- Owner Name
- StateAddtionalWitholdingsAmount
- Date Available End
- Work Phone
- Hourly Rate Low
- Custom Text 7
- Custom Text 6
- Custom Text 9
- Custom Text 8
- Custom Text 3
- Custom Text 2
- Preferred Contact
- Custom Text 5
- Custom Text 4
- Custom Text 1
- Email 2
- Email 3
- Address: Address 1
- Address: Address 2
- Address: City
- Address: State
- Address: Postal Code
- Full Name
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- EmailRequired
- Custom Date 1
- Custom Date 2
- Custom Date 3
- Custom Float 1
- Custom Float 2
- Custom Float 3
- Custom Int 1
- Custom Int 2
- Custom Int 3
- Custom Text 1
- Custom Text 2
- Custom Text 3
- Custom Text 4
- Custom Text 5
- Custom Text 6
- Custom Text 7
- Custom Text 8
- Custom Text 9
- Custom Text 10
- Custom Text 11
- Custom Text 12
- Custom Text 13
- Custom Text 14
- Custom Text 15
- Custom Text 16
- Custom Text 17
- Custom Text 18
- Custom Text 19
- Custom Text 20
- Custom Text Block 1
- Custom Text Block 2
- Custom Text Block 3
- Custom Text Block 4
- Custom Text Block 5
- Mobile Phone
- Status
- Address: Address 1
- Address: Address 2
- Address: City
- Address: State
- Address: Postal Code
- Id
- First Name
- Last Name
- Full Name
- Client Corporation
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- First Name
- Last Name
- Full Name
- Status
- Company Name
- Company URL
- Phone
- Cell Phone
- Description
- Email
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- ActionRequired
- CommentsRequired
- Personal Reference EmailRequired
- Owner Name
- Date Added
- Minutes Spent
- Personal Reference Type
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- SubjectRequired
- Description
- Date Begin
- Date End
- Date Completed
- Type
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- First Name
- Last Name
- Email
- Candidate ID
- Fields to LookupRequired
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Status
- Type
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Report TypeRequired
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Payment_type
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Project State
Try ItTriggerThis is the start of your ZapPollingZapier checks for new data every 15 min on the Free plan- OrganizationRequired
- Quote Status
Try ItTriggerThis is the start of your ZapPollingZapier 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
- 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
- CodeRequired
- NameRequired
- TypeRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- TypeRequired
- ContactRequired
- Date
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
- Mark Item as a Sales Item?
- Mark Item as a Purchase Item?
- Item Name
- Item CodeRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- OrganizationRequired
- Contact_nameRequired
- Email_address
- 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
- Date
- Due_date
- Currency
- Url
- Attachment
- Branding_theme
- Number
- Reference
- Sent_to_contact
- Line_items_type
- Item Code
- Description
- QuantityRequired
- Unit Price
- Discount %
- Discount Amount
- Account
- Tax Rate
- 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
- StatusRequired
- Currency
- Branding_theme
- Reference
- Mark as approved for sending?
- Email a copy to Sender?
- Include PDF
- Line Amount Types
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
- Date
- 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.- Info
- OrganizationRequired
- Invoice_idRequired
- Contact
- Status
- Date
- Due_date
- Expected_payment_date
- Reference
- Branding_theme
- Url
- Currency
- Sent_to_contact
- Attachments
- Invoice_number
- Line_amount_types
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.- Stop on errorRequired
- HTTP MethodRequired
- URLRequired
- Query string parameters
- Additional request headers
- Body
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
- Invoice IDRequired
- Include PDF File
- Include Online Invoice URL
ActionThis is an event a Zap performs.SearchFind existing data in your app- OrganizationRequired
- Contact IDRequired
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
- Mark Item as a Sales Item?
- Mark Item as a Purchase Item?
- Item Name
- 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
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 Bullhorn CRM 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
