# Retrieve Call History

## Overview

![The Retrieve Call History Node.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-b05b11887b51d3a4617fc9ed275377aeaf3e0893%2Fretrievecallhistoryreal.png?alt=media)

The **Retrieve Call History Node** returns a device's call history in **Dictionary** form. The keys are `Incoming Calls`, `Outgoing Calls`, `Canceled Calls`, and `Missed Calls`. 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 call history retrieval process and then returns immediately. This means that it is possible to trigger the **Node** multiple times with different inputs, resulting in consecutive retrival 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 Call History** will not show up in the [**Toolbox**](https://docs.incari.com/incari-studio/2023.2/toolbox/overview). Please refer to the [**Plugins Editor**](https://docs.incari.com/incari-studio/2023.2/modules/plugins) to find out more information.

[**Scope**](https://docs.incari.com/incari-studio/2023.2/overview#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 call history was successfully retrieved.                                                  |
| `Call History`      | **Dictionary** | The **Dictionary** containing the device's call history.                                                                               |
| `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 call history was unsuccessful.                |
| `Error Message`     | **String**     | The error message in the event of an error.                                                                                            |
| `Bluetooth Address` | **String**     | The *Bluetooth* address associated with the error.                                                                                     |
