Exist

Learn how to use Exist with Composio

Overview

SLUG: EXIST

Description

Exist is a personal analytics app that combines data from various services to help users understand and improve their lives.

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to activity_read
bearer_token
string

Connecting to Exist

Create an auth config

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

1

Select App

Navigate to the Exist 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 OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4exist_auth_config_id = "ac_YOUR_EXIST_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Exist: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, exist_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Exist 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=["EXIST"])
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: Get User Profile

Description

Tool to retrieve the authenticated user's profile details and preferences. use after authentication to inspect account settings and status.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Exist OAuth2 Authorize

Description

Tool to initiate the oauth2 authorization flow for user consent. use when you need to obtain an authorization code before exchanging for an access token.

Action Parameters

client_id
stringRequired
redirect_uri
stringRequired
response_type
stringDefaults to code
scope
stringRequired
state
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Exist OAuth2 Authorize

Description

Tool to initiate the oauth2 authorization flow for user consent. use when you need an authorization code before exchanging for an access token.

Action Parameters

client_id
stringRequired
redirect_uri
stringRequired
response_type
stringDefaults to code
scope
stringRequired
state
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Attribute Templates

Description

Tool to retrieve a paged list of supported attribute templates. use when you need to browse available templates before creating or updating data.

Action Parameters

groups
array
include_low_priority
boolean
limit
integer
page
integerDefaults to 1

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Correlations

Description

Tool to retrieve a paginated list of recent correlations. use when exploring relationships between your tracked attributes, optionally filtering by strength or attribute.

Action Parameters

attribute
string
confident
boolean
limit
integer
page
integerDefaults to 1
strong
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Attributes

Description

Tool to retrieve a paged list of the user's attributes without values. use when you need metadata on available attributes for filtering or selection.

Action Parameters

attributes
array
exclude_custom
boolean
groups
array
include_inactive
boolean
include_low_priority
boolean
limit
integer
manual
boolean
owned
boolean
page
integerDefaults to 1

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Profile

Description

Tool to retrieve the authenticated user's profile details and preferences. use after authentication to inspect account settings and status.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired