# Retrieve Phonebook

## Overview

![The Retrieve Phonebook Node.](/files/Warpn3FO6l1TKZ9L4Sjg)

The **Retrieve Phonebook Node** returns a device's phonebook, speed dial, and favorites. These are presented in **Dictionary** form with the keys `Contacts`, `Speed Dial Contacts`, and `Favorite Contacts`. This requires that that the *Bluetooth* device has been paired and that the user has contact sharing (or something similar) enabled for pairing.

The **Node** only schedules the phonebook retrieval process and then returns immediately. This means that it is possible to trigger the **Node** multiple times with different inputs, resulting in consecutive retrieval attempts. This is the reason for returning the *Bluetooth* address, as it properly attributes the result to the relevant device.

**Bluetooth Communication** in **Incari** is available as a plugin and is enabled as default. However, in the case that it is disabled in the **Plugins Editor**, it will not appear in the **Project Settings** and **Retrieve Phonebook** will not show up in the [**Toolbox**](/incari-studio/toolbox/overview.md). Please refer to the [**Plugins Editor**](/incari-studio/modules/plugins.md) to find out more information.

[**Scope**](/incari-studio/toolbox/overview.md#scopes): **Project**, **Scene**.

## Inputs

| Input               | Type       | Description                                                                     |
| ------------------- | ---------- | ------------------------------------------------------------------------------- |
| *Pulse Input* (►)   | **Pulse**  | A standard **Input Pulse**, to trigger the execution of the **Node**.           |
| `Bluetooth Address` | **String** | The unique *Bluetooth* identifier that is associated with a *Bluetooth* device. |

## Outputs

| Output              | Type           | Description                                                                                                                            |
| ------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►)  | **Pulse**      | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| `On Finish`(►)      | **Pulse**      | An **Event Pulse** which is triggered if the phonebook was successfully retrieved.                                                     |
| `Phonebook`         | **Dictionary** | The **Dictionary** containing the device's phonebook.                                                                                  |
| `Bluetooth Address` | **String**     | The **Bluetooth** address of the device.                                                                                               |
| `On Error`(►)       | **Pulse**      | An **Event Pulse** that fires in the event of an error, namely that the retrieval of the phonebook was unsuccessful.                   |
| `Error Message`     | **String**     | The error message in the event of an error.                                                                                            |
| `Bluetooth Address` | **String**     | The *Bluetooth* address associated with the error.                                                                                     |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.incari.com/incari-studio/toolbox/communication/bluetooth/retrievephonebook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
