---
title: "Adding FullContact to your Auth Process For Profile Enhancement"
description: "Learn how to enhance your users' profile by adding FullContact to your authentication process."
authors:
  - name: "Prosper Otemuyiwa"
    url: "https://auth0.com/blog/authors/prosper-otemuyiwa/"
date: "Sep 13, 2017"
category: "Developers,Tutorial,FullContact"
tags: ["fullcontact", "profile-enhancement", "authentication", "auth0"]
url: "https://auth0.com/blog/adding-fullcontact-to-your-auth-process-for-profile-enhancement/"
---

# Adding FullContact to your Auth Process For Profile Enhancement




**Profile Enhancement** is the ability to enhance user profiles by fetching user data from an external source. In an application, upon sign up of a new user, actions should be taken to automatically augment the user profile with additional public information. FullContact, the renown leading contact platform for professionals, teams, and businesses makes profile enhancement a breeze by providing substantial data.

![FullContact Signup](https://images.ctfassets.net/23aumh6u8s0i/30v7GdLYQcNOkzIkQZOdnF/0ac80e0f97f17a4cc45873fc879b9f7c/signup)

## Typical Scenario

A new user signs up to a platform, say *platformxyz.com.* The signup form only provides fields for *email address*, *first name*, *last name* and *phone number*. Once the user fills the form and hits the submit button, the user is registered and automatically logged in.

*platformxyz.com* immediately queries an external service for more information on the user via one of the parameters used to sign up, e.g the email address.

Now, the user has an enhanced profile because data has been fetched from an external source during the login process. The platform didn’t even ask the user to explicitly fill so many form fields to provide additional personal information. That’s **Profile Enhancement** right there. Imagine the possibility of adding that to your own applications without stress!

## Let's Get Started

[FullContact](https://www.fullcontact.com/) keep contacts in sync across multiple devices and gives you up-to-date contacts with public data, including photos, jobs, and social profiles. It views company profiles for your contacts, including size, founded date, and many more.

In this post, you’ll learn how to implement **Profile Enhancement** via **FullContact** in your [Auth0](https://auth0.com) app in just 5 simple steps.

## 1. Sign up for a FullContact Account

Browse to [fullcontact.com](https://www.fullcontact.com) and create a free account, as shown below.

![FullContact Signup](https://images.ctfassets.net/23aumh6u8s0i/30v7GdLYQcNOkzIkQZOdnF/0ac80e0f97f17a4cc45873fc879b9f7c/signup)

## 2. Get Your API Key

Head over to the [developer portal](https://portal.fullcontact.com/signin) and sign in with your credentials as shown below.

![Sign in to FullContact](https://images.ctfassets.net/23aumh6u8s0i/6XNiLPFd8OVih2MpV0AeGl/f9bd776bc964c775fc3f1f0a51c8c81a/signin)

_Sign In Page_

You will go through a series of verifications for your account as shown below.

![Enable API access](https://images.ctfassets.net/23aumh6u8s0i/2YxBcXK81zzVSYoaOvaDWc/a0a7a13bf8739a7f1db9cbfbef420145/enableapiaccess)

_Verification Process_

Once you are verified successfully, you will be directed to the home page where your **API Key** will be displayed as shown below.

![Welcome](https://images.ctfassets.net/23aumh6u8s0i/6Py1RvrU55cD2nwr8BFtQu/e4b0ad3a1832e3735683aa3237a01f1a/welcome)

Please take note of your **FullContact’s** API key, as you will be needing it later.

## 3. Set Up an Auth0 App

In the [Auth0 Dashboard](https://manage.auth0.com) create your client Application, as shown in the following screenshot.

![Assign Type Of Application](https://images.ctfassets.net/23aumh6u8s0i/7dZ7agAeBKjMcUaCy0kNQ3/3c29d33eca8bd94b190a3802463a6d14/assigntypeofapplication)

_Create an Auth0 app_

Once you are done with that, head over to the **Settings** section of the dashboard and take note of your **Domain**, **Client ID** and **Client Secret** as shown below:

![Auth0 Credentials](https://images.ctfassets.net/23aumh6u8s0i/2YvGtpsGKICqkHUGmUe5vA/93f3d7d8fdad074e98ada5df2f48784b/auth0credentials)

_Get your Auth0 Credentials_

Clone this [sample app from GitHub](https://github.com/auth0-blog/auth0-fullcontact), open up `auth0-variables.js` and add your Auth0 credentials like so:

```js

var AUTH0_CLIENT_ID='xxxxxxxxxxx';
var AUTH0_DOMAIN='xxxxxxx.auth0.com';
var AUTH0_CALLBACK_URL=location.href;

```
_auth0-variables.js_

**Note:** Don’t forget to put your url, *http://localhost:8080*, in the **Allowed Callback URLs** and **Allowed Origins (CORS).**

## 4. Integrate FullContact

In the Auth0 dashboard, Click on the **Rules** section in the main navigation, then create a rule via the **“Create Rule”** button located at the top right of the page.

![Rules](https://images.ctfassets.net/23aumh6u8s0i/NvBaqV0exTA8cIdr0Wh49/ef803322f69ce4305e0b4b3997cbb7e1/rules)

_Create a new rule from the Auth0 Management Dashboard_

A list of available rules existing on the Auth0 dashboard will be presented to you as shown in the diagram below. Choose the **“Enrich Profile with FullContact”** rule.

![Select Rules](https://images.ctfassets.net/23aumh6u8s0i/4q5TSydcQyRgoFntFH9FrE/4c4a4b1dddb4ece6b942f79cc145165e/selectrules)

_Click on the Enrich Profile with Full Contact Rule_

This rule is designed to get the user profile from FullContact using the users’ email. If the users’ email address is available with FullContact, it fetches the user’s profile and adds a new property *fullContactInfo* to the **user_metadata** that is returned.

After clicking on the rule, the rule editor will show up. Here, you can see the code that integrates **FullContact** with your login process.

![Rules Editor](https://images.ctfassets.net/23aumh6u8s0i/3SHT9AWLSm2D0O60cAOQ9C/84bb47ce63c4fdb0f2ab801b99f75d4e/ruleseditor)

_Rule Editor_

Get your **FullContact** API key and paste it in the **rule editor**. Replace `FULLCONTACT_KEY` default value with this key.

**Note:** In your rule editor, you will see a slack integration that alerts errors generated while gathering data from **FullContact**. Feel free to delete this integration if it’s not needed for your application.

## 5. Run and Test Your App

Open up your browser and run the app like so:

![Auth0 Login Widget](https://images.ctfassets.net/23aumh6u8s0i/2Hm7XJ3o2FVfXNN3GbODPq/72933f35a8d0d629cac32de6ed4bdbfa/auth0loginwidget)

Log into your application. You will see the user profile gotten from **FullContact** in the console as shown in the image below.

![Total information](https://images.ctfassets.net/23aumh6u8s0i/1xCzuDDiZsTvtpwfzCYcDw/0bda5a4538248138048e004227cec017/totalinfo)

Just look at the enormous amount of data returned for this logged-in user. Facebook, Google, LinkedIn, GitHub and other forms of data that identifies the user. Oh yeah, that’s the power of **FullContact** in enhancing a user’s profile.

## Conclusion

It is very simple to integrate **FullContact** in your authentication process when building an app that uses **Auth0**.

**FullContact** allows you to enhance user profiles in your application without much ado. It handles it for you, so you don’t stress your users by giving lengthy forms that ask for personal data. Supercharge your application today with **FullContact** and **Auth0!**
