Skip to main content
Back to Functions

XO.CONTACTS

Get the contacts list for an organization. By default returns only Active contacts. Returns a table with 7 columns that spills into Excel.

Syntax

=XO.CONTACTS(org_id, [include_archived])

Parameters

ParameterRequiredDescription
org_idYesOrganization ID from XO.ORG()
include_archivedNo0 = Active contacts only (default), 1 = All including archived

Returns

A table with 7 columns:

Org ID
Org Name
Name
Email
Phone
Account Number
Status

Examples

Active contacts only:

=XO.CONTACTS(A2)

Returns a spilling table of all active contacts.

Name
Email
Phone
Acme Ltd
info@acme.com
+1 555-0100
Beta Corp
hello@beta.co
+1 555-0200

Include archived contacts:

=XO.CONTACTS(A2, 1)

Multi-Organization Data

Using the Function Builder

When connected to multiple Xero organizations, use the Function Builder in the task pane to select which organizations to include. The builder will create the formula for you — you don't need to write the VSTACK formula manually.

Advanced: Manual VSTACK Formula

To manually combine contacts from multiple orgs, use Excel's VSTACK function:

=VSTACK(XO.CONTACTS(A2), DROP(XO.CONTACTS(A3), 1))

The DROP(,1) removes the duplicate header row from the second result.

Troubleshooting

If you see an error, check the troubleshooting guide. XO Report shows readable guidance messages for connection issues (not caught by IFERROR) and standard Excel errors (#VALUE!, #N/A) for data problems — hover over the cell to see the specific message.

Related Functions