> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voxworks.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connecting Agentbox

> Connect Agentbox CRM with your API key and Client ID, choose which properties, agents and contacts to import, run the initial import, turn imported contacts into callable contact records, and keep everything current with the daily sync.

## Overview

Agentbox is a real-estate CRM integration. Connecting it lets Voxworks import your Agentbox **listings**, **staff** and **contacts**, so your scripts can use property and agent details on calls and your batches can call Agentbox contacts. The Agentbox card carries a **CRM** badge and the description "Sync contacts, listings and agents from Agentbox CRM, and log call outcomes back as contact notes".

Imported records land as [custom variables](/custom-variables/overview) of three catalogue types:

| Agentbox record | Custom variable type            |
| --------------- | ------------------------------- |
| Listings        | **Real Estate Property**        |
| Staff           | **Real Estate Agent**           |
| Contacts        | **Real Estate Contact Profile** |

You can also turn the imported contacts into ordinary [contact records](/contacts/records) that batches can dial.

<Note>
  Integrations are typically built out for specific clients, so the full functionality of Agentbox's interface might not be available. If your team needs additional features from this integration, contact the Voxworks team directly to discuss what can be added.
</Note>

***

## Connecting Agentbox to Voxworks

You need two values from Agentbox: an **API key** and a **Client ID**. Agentbox support sends them to you together.

1. In the sidebar under **Admin**, open **Integrations**.
2. In the **Available Integrations** section, find the **Agentbox** card and click **Connect**.
3. The **Connect Agentbox** dialog asks you to "Enter your Agentbox API key to establish the connection."
4. Fill in both fields and click **Connect**.

| Field         | Description                                                                           |
| ------------- | ------------------------------------------------------------------------------------- |
| **Client ID** | "Sent to you by Agentbox support together with your API key".                         |
| **API Key**   | Your Agentbox API key. It is encrypted before it is stored and never displayed again. |

On success the Agentbox card moves to **Connected Integrations** with a **Connected** badge.

***

## The Agentbox page

Click the gear icon on the connected Agentbox card. Instead of a settings dialog, it opens a full page for the connection. The header shows:

| Item          | Shows                                                                                    |
| ------------- | ---------------------------------------------------------------------------------------- |
| **Status**    | The connection status, for example **Connected**.                                        |
| **Connected** | How long ago the connection was made.                                                    |
| **Auth**      | **API key**.                                                                             |
| **Data**      | **Read and write**: Voxworks reads records from Agentbox and can log call outcomes back. |

If the connection has an error, the message appears under the header. The page's sections, from top to bottom, are described below.

### What to import

*"Narrow the records pulled from Agentbox. Leave the filters empty to import everything."*

| Filter                            | What it does                                                                                                                                                                                                                                                                                  |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Added after**                   | Only import records added in Agentbox after this date.                                                                                                                                                                                                                                        |
| **Last contacted after**          | Only import contacts last contacted after this date.                                                                                                                                                                                                                                          |
| **Contact classes**               | Tick the Agentbox contact classes to import. *"Leave all unticked to import every contact class."*                                                                                                                                                                                            |
| **Import listings as properties** | Import Agentbox listings as Real Estate Property records.                                                                                                                                                                                                                                     |
| **Import staff as agents**        | Import Agentbox staff as Real Estate Agent records.                                                                                                                                                                                                                                           |
| **Also sync to contacts**         | *"Agentbox always imports into objects. Turn this on to also create contact records in the same run."* Contact profiles are always imported as custom variables; with this on, the same run also creates or updates the matching contact records (see [Sync to contacts](#sync-to-contacts)). |

Click **Preview results** to see how many **Contacts**, **Listings** and **Staff** match the filters before you import anything. The note under the preview explains that *"The last-contacted filter is applied during import, so the final contact count may be lower."* Click the refresh icon (**Refresh preview**) after changing a filter.

**Use these filters for the daily sync** decides what the [daily sync](#daily-sync) pulls in: *"The daily sync reuses the filters and field choices above. Turn it off and it pulls in everything."* If you change the filters after saving them for the daily sync, the page tells you *"The daily sync is still using the filters you saved earlier."* Click **Update daily sync** to apply the new ones.

### Fields to import

*"Everything Agentbox sends and where it will land. Untick anything you would rather not store — identifiers and sync state are needed to match records, so they stay on."*

Fields are grouped under **Properties**, **Agents**, **Contact profiles** and **Contacts** (the last group lists the contact-record columns written only when **Also sync to contacts** is on). Use **Expand all** / **Collapse all** to open every group. Untick any field you don't want stored, such as the raw Agentbox payload. Identifier and sync-state fields can't be turned off, because they are how Voxworks matches a record on the next import.

### Initial import

*"Pulls everything matching the filters above. It runs in chunks, so you can pause and pick it up later."*

Click **Start import** to begin. Records are imported in phases (**Properties**, **Agents**, **Contacts**, **Contact profiles**), and the section shows progress as it goes:

| Row                                | Meaning                                                                            |
| ---------------------------------- | ---------------------------------------------------------------------------------- |
| **Importing** / **Paused at**      | The phase currently running, or where a paused import stopped.                     |
| **Imported so far** / **Imported** | Counts per phase, for example *120 properties, 14 agents, 3,410 contact profiles*. |
| **Completed**                      | When the import finished.                                                          |

Click **Pause** to stop. A paused import offers **Resume**, which carries on from where it stopped, and **Restart**, which starts again from the beginning. The import runs while the page is open, so leaving the page pauses it too. Once the import has finished you can click **Run import again** to re-import with the current filters. If Agentbox limits how fast Voxworks can read, the import slows down and retries rather than failing.

### Sync to contacts

*"Turns the imported contact profiles into contact records the dialler can use. Runs against what is already imported, so it makes no Agentbox calls."*

Run this when you imported contact profiles without **Also sync to contacts**, or to rebuild contact records from what is already imported. The results show:

| Count                  | Meaning                                                                                                                                         |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Contacts created**   | New contact records.                                                                                                                            |
| **Contacts updated**   | Existing contact records that were matched and updated.                                                                                         |
| **Skipped**            | Profiles with no phone number, or a duplicate of one already imported.                                                                          |
| **Could not be built** | Profiles imported without the raw Agentbox payload (for example because that field was unticked), so there was nothing to build a contact from. |

Contacts are matched on their phone number in any format, so an Agentbox contact stored as `0412 345 678` is recognised as the same person as an existing Voxworks contact with `+61412345678`, and is updated rather than duplicated. When several Agentbox contacts share a phone number, one contact record is kept.

### Daily sync

*"Once the first import finishes, changes in Agentbox are pulled in automatically once a day."*

The daily sync runs overnight (around 2:00 am Sydney time). It picks up records changed in Agentbox since its last successful run:

* Listings update their Real Estate Property records.
* Staff update their Real Estate Agent records, including office details such as suburb, state, postcode and timezone.
* Contacts update their Real Estate Contact Profile records, and also their contact records when **Also sync to contacts** is on.

If a night's run fails, the next night picks up from the same point, so nothing is missed. Before the first import has finished the section reads **Not started** (*"Run the initial import to turn the daily sync on."*); afterwards it reads **Waiting for first run** until the first nightly run, then shows **Last ran** and **Last run imported**.

New contacts arriving from the daily sync also trigger any [list membership rules](/lists/membership-rules) set to sort new contacts straight away, so a rule-driven list of Agentbox contacts stays current on its own.

### Disconnect

*"Disconnecting stops all active workflows using Agentbox tools. Imported records stay in place."*

Click **Disconnect** to remove the connection. There is no confirmation step on this page. Properties, agents, contact profiles and contacts that were already imported are kept; the daily sync stops.

***

## Logging calls back to Agentbox

The Agentbox connection is read and write, so completed calls can be logged back to Agentbox as contact notes. The note is filed as an inbound or outbound phone call, with the outcome recorded as **Connected**, **Left Voicemail** or **No Answer**. Write-back is set up with an [automation](/automations/overview) on your team. Speak to the Voxworks team for further custom configuration.

***

## Using Agentbox data

* **In lists and batches:** each imported record type appears in the [membership rule](/lists/membership-rules) field picker, and a connected CRM's contact data appears as its own **Agentbox data** group, so you can build lists such as *contacts in a given class added in the last 7 days* and feed them into a batch.
* **In scripts:** imported records are custom variables linked to contacts, so a call can use the linked property or agent details. See [Linking Custom Variables to Contacts](/custom-variables/linking-contacts).
* **In the Custom Variables workspace:** each type gets its own tab, where you can browse and filter imported records. See [Custom Variables Overview](/custom-variables/overview).

***

## Next Steps

* [Integrations overview](/integrations/overview) — how integration connections work across your team
* [Connecting Rex](/integrations/rex) — the other real-estate CRM with the same import page
* [List Membership Rules](/lists/membership-rules) — keep a list of Agentbox contacts filled automatically
* [Custom Variable Types & Schema Validation](/custom-variables/types) — the types imported records land in
