Peopledatalabs

Learn how to use Peopledatalabs with Composio

Overview

SLUG: PEOPLEDATALABS

Description

PeopleDataLabs provides B2B data enrichment and identity resolution, empowering organizations to build enriched user profiles and validate customer information

Authentication Details

full
stringDefaults to https://api.peopledatalabs.comRequired
generic_api_key
stringRequired

Connecting to Peopledatalabs

Create an auth config

Use the dashboard to create an auth config for the Peopledatalabs toolkit. This allows you to connect multiple Peopledatalabs accounts to Composio for agents to use.

1

Select App

Navigate to the Peopledatalabs toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5peopledatalabs_auth_config_id = "ac_YOUR_PEOPLEDATALABS_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Peopledatalabs for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, peopledatalabs_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Peopledatalabs toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["PEOPLEDATALABS"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Autocomplete field suggestions

Description

Provides autocompletion suggestions for a specific field (e.g., company, skill, title) based on partial text input.

Action Parameters

field
stringRequired
pretty
boolean
size
integerDefaults to 10
text
string
titlecase
boolean

Action Response

data
arrayRequired
error
string
fields
arrayRequired
successful
booleanRequired

Tool Name: Clean company data

Description

Cleans and standardizes company information based on a name, website, or profile url; providing at least one of these inputs is highly recommended for meaningful results.

Action Parameters

name
string
pretty
boolean
profile
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Clean location data

Description

Cleans and standardizes a raw, unformatted location string into a structured representation, provided the input is a recognizable geographical place.

Action Parameters

location
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search persons with Elasticsearch

Description

Searches people data labs *person* profiles using a custom elasticsearch dsl query; ensure the `query` uses person attributes and consult the `dataset` field for data categories.

Action Parameters

dataset
stringDefaults to resume
pretty
boolean
query
stringRequired
scroll_token
string
size
integerDefaults to 1
titlecase
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get column details

Description

Retrieves predefined enum values for a column name from `enum mappings.json`; `is enum` in the response will be false if the column is not found or is not an enum type.

Action Parameters

column
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get schema

Description

Retrieves the schema, including field names, descriptions, and data types, for 'person' or 'company' entity types.

Action Parameters

entity_type
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Natural language query

Description

Executes a natural language query against the peopledatalabs dataset to retrieve information about people and companies; ensure queries are specific for optimal results.

Action Parameters

query
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Clean school data

Description

Cleans and standardizes school information; provide at least one of the school's name, website, or profile for optimal results.

Action Parameters

name
string
pretty
boolean
profile
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Enrich Company Data

Description

Enriches company data from people data labs with details like firmographics and employee counts, requiring at least one company identifier.

Action Parameters

country
string
locality
string
location
string
name
string
pdl_id
string
postal_code
string
pretty
booleanDefaults to True
profile
string
region
string
street_address
string
ticker
string
titlecase
boolean
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Enrich IP Data

Description

Enriches an ip address with company, location, metadata, and person data from people data labs.

Action Parameters

ip
stringRequired
min_confidence
string
pretty
boolean
return_if_unmatched
boolean
return_ip_location
boolean
return_ip_metadata
boolean
return_person
boolean
titlecase
boolean
updated_title_roles
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Enrich job title data

Description

Enhances a job title by providing additional contextual information and details.

Action Parameters

job_title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Enrich person data

Description

Enriches person data using various identifiers; requires a primary id (profile, email, phone, email hash, lid, pdl id) or a name (full, or first and last) combined with another demographic detail (e.g., company, school, location).

Action Parameters

birth_date
string
company
string
country
string
data_include
string
email
string
email_hash
string
first_name
string
include_if_matched
boolean
last_name
string
lid
string
locality
string
location
string
min_likelihood
integerDefaults to 2
name
string
pdl_id
string
phone
string
postal_code
string
pretty
booleanDefaults to True
profile
string
region
string
required
string
school
string
street_address
string

Action Response

data
objectRequired
error
string
likelihood
integer
successful
booleanRequired

Tool Name: Enrich skill data

Description

Retrieves detailed, standardized information for a given skill by querying the people data labs skill enrichment api; for best results, provide a recognized professional skill or area of expertise.

Action Parameters

skill
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Identify person data

Description

Retrieves detailed profile information for an individual from people data labs (pdl), requiring at least one identifier such as email, phone, profile url, name, or company.

Action Parameters

company
string
email
string
email_hash
string
first_name
string
include_if_matched
boolean
last_name
string
lid
string
locality
string
location
string
name
string
phone
string
postal_code
string
pretty
boolean
profile
string
region
string
school
string
street_address
string
titlecase
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search people with Elasticsearch

Description

Searches people data labs (pdl) person profiles using a json-formatted elasticsearch dsl query; the query must use fields defined in the pdl person schema.

Action Parameters

dataset
stringDefaults to resume
pretty
boolean
query
stringRequired
scroll_token
string
size
integerDefaults to 1
titlecase
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired