# Enable digital transformation at your organization.

Get started with **Bluetooth**

Factual provides a range of geolocation and spatial intelligence services for developers. The Choreos in this bundle let you simply and easily add location-aware features into your applications.

Select the dev board you want to generate code for.

Tell us how your board connects to the internet.

Sense anything. Choose predefined sensors or select other to set up a generic sensor that reads pin voltage.

Use conditional logic to trigger Temboo Choreos based on sensor values.

Choose pre-defined actuators for real-world actions, or select generic actuators to output raw data.

Turn on 2-step authentication on your Google account, and then create an application-specific password using these [Setup Instructions](/content/library/Library/Google/Gmail/index.html).

## Security Tip

We recommend keeping important credentials out of your code by storing them using [Profiles](/content/hardware/profiles/index.html). This also reduces memory consumption and makes it easy to update them without changing your code.

You’ll need to go through the [OAuth process](/content/library/Library/Google/OAuth/InitializeOAuth/index.html) to obtain proper credentials which Temboo has simplified with Choreos. We recommend checking out this [video](/content/videos#oauthchoreos/index.html) before getting started with OAuth.

## Security Tip

We recommend keeping important credentials out of your code by [storing them](/content/hardware/profiles/index.html) on Temboo. This also reduces memory consumption and makes it easy to update them without changing your code.

Create a Twilio account and obtain your AccountSID and authorization token by looking at your [Dashboard](https://www.twilio.com/user/account) (see our full [setup instructions](/content/library/Library/Twilio/index.html)).

## Security Tip

Create a Nexmo account and obtain your API Key and API Secret in the API Settings menu [API Settings menu](https://dashboard.nexmo.com/register/) (see our full [setup instructions](/content/library/Library/Nexmo/index.html)).

## Security Tip

Give the process an input value e.g., "New York City".

You'll find notes for valid inputs by scrolling to the bottom of the page.

Fill in the desired Subject, FromAddress, ToAddress, and MessageBody.

Fill in the desired From, Subject, To, and MessageBody.

Fill in the desired Values and SpreadsheetID.

Fill in the desired From, To and Body.

Fill in the Text input with “Press 1 to change the state of your pin”. This is the message that will be translated to speech in the phone call alert. Fill in the desired ByeText, To, and Body. Set MaxDigits to 1.

Click 'Generate Code' to test that your inputs are valid.

Set a condition based on your actuator values if your Yun should call based on an output.

Select from the list of boards that come pre-shipped with Temboo's libraries.

Download your code and you’re ready to run.

We recommend checking out this [video](/content/videos#oauthchoreos/index.html) before getting started with OAuth.

Log in to [Google's Developer Console](https://console.developers.google.com/), and create a new **Project** if you haven't done so already.

In the Google API Manager, search for the API you'd like to enable and click Enable.

Go to the credentials tab and create a new **Client ID** and specify **Web Browser** for the Application Type.

Save the Consent screen details. Specify this callback URL as the Authorized Redirect URI:

```
https://ACCOUNT_NAME.temboolive.com/callback/google
```

Plug in the Client ID you've generated into the first input.

Specify any scopes your application requires. Scroll to the **Notes** section at the bottom of the Choreo page to find the scopes available for Google APIs in the Temboo library.

Click the 'Generate Code' button to generate your Authorization URL and Callback ID.

Open a new web browser tab, navigate to the authorization URL returned by the InitializeOAuth Choreo, and click "Accept" to grant the app access to your Google account.

Use the new credentials you've just generated in the [FinalizeOAuth Choreo](/content/library/Library/Google/OAuth/FinalizeOAuth/index.html).

Obtain your credentials by following the instructions in the [InitializeOAuth Choreo](/content/library/Library/Google/OAuth/InitializeOAuth/index.html) page.

Use the CallbackID generated during the InitializeOAuth process as an input here.

Click the 'Generate Code' button to generate your Refresh Token.

You'll need the Refresh Token, Client ID, and Client Secret to run the Google Choreo you're working with.

Use the Refresh Token along with the **Client ID** and **Client Secret** to authenticate with Google for the [Google Choreo](/content/library/Library/Google/Gmailv2/Messages/SendMessage/index.html) you're interested in.

Make sure you've got the latest version of the [Arduino IDE](https://www.arduino.cc/en/Main/Software) \- it comes with the Temboo library already installed.

Use the [Library Manager](https://www.arduino.cc/en/Guide/Libraries#toc3) in the Arduino IDE to make sure you have the latest version of the Temboo library.

Confirm that your Arduino board is connected to the internet.

Protect your device from malicious attacks. Change its default name and password before connecting it to the internet.

Open your auto-generated code in the Arduino IDE and upload it to your board. You can use the serial monitor to see your board connecting to Temboo.

Make sure you've got the latest version of the [Energia IDE](http://energia.nu/download/) \- it comes with the Temboo library already installed.

Confirm that your LaunchPad is connected to the internet.

Open Energia and make sure you've got the correct board selected in the "Tools > Board" menu. Upload the code to your board and use the serial monitor to see your board connecting to Temboo.

You can find full instructions for running Temboo code on the Samsung ARTIK in [this](/content/hardware/samsung/getting-started/index.html) tutorial.

You can find full instructions for running Temboo iOS code in [this](/content/ios/getting-started/index.html) tutorial.

You can find full instructions for running Temboo Node.js code in [this](/content/nodejs/getting-started/index.html) tutorial.

You can find full instructions for running Temboo PHP code in [this](/content/php/getting-started/index.html) tutorial.

You can find full instructions for running Temboo Processing code in [this](/content/processing/getting-started/index.html) tutorial.

You can find full instructions for running Temboo Python code in [this](/content/python/getting-started/index.html) tutorial.

You can find full instructions for running Temboo Ruby code in [this](/content/ruby/getting-started/index.html) tutorial.

You can find full instructions for running Temboo C# code in [this](/content/csharp/getting-started/index.html) tutorial.

You can find full instructions for running Temboo JavaScript code in [this](/content/javascript/getting-started/index.html) tutorial.

You can find full instructions for running Temboo Java code in [this](/content/java/getting-started/index.html) tutorial.

You can find full instructions for running Temboo Android code in [this](/content/android/getting-started/index.html) tutorial.

Copy the cURL snippet and run it from a terminal window - that's it!

Have your application run the InitializeOAuth Choreo to generate the Authorization URL.

Using a web browser, direct the user to the Authorization URL provided in the InitializeOAuth step and have them manually grant access to your application.

Once control has been returned to your application, run the FinalizeOAuth Choreo to generate your access tokens.

- A0
- A1
- A2
- A3
- A4
- A5

- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13

## Choreos

- Factual. [FilterPlacesByCategories](/content/library/Library/Factual/FilterPlacesByCategories/index.html)

Filter queries by category.

- Factual. [FilterPlacesByCity](/content/library/Library/Factual/FilterPlacesByCity/index.html)

Restrict a query to a specified city.

- Factual. [FilterPlacesByMultipleCities](/content/library/Library/Factual/FilterPlacesByMultipleCities/index.html)

Restrict a query to a specified city.

- Factual. [FilterPlacesByTopLevelCategory](/content/library/Library/Factual/FilterPlacesByTopLevelCategory/index.html)

Find places by top-level category and near specified latitude, longitude coordinates.

- Factual. [FilterRestaurantsByCuisineAndCoordinates](/content/library/Library/Factual/FilterRestaurantsByCuisineAndCoordinates/index.html)

Find restaurants by cuisine and near specified latitude, longitude coordinates.

- Factual. [FindPlacesByName](/content/library/Library/Factual/FindPlacesByName/index.html)

Search for places by name.

- Factual. [FindPlacesNearCoordinates](/content/library/Library/Factual/FindPlacesNearCoordinates/index.html)

Find places near specified latitude, longitude coordinates.

- Factual. [FindRestaurantsByName](/content/library/Library/Factual/FindRestaurantsByName/index.html)

Search for restaurants by name.
