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 Functions Tab

When connected to multiple Xero organizations, open the Functions tab in the task pane and select which organizations to include. Click "Insert Function" and the formula will be created for you — you don't need to write VSTACK manually.

Advanced: Manual VSTACK Formula

To manually combine contactsfrom 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