Enigma

Learn how to use Enigma with Composio

Overview

SLUG: ENIGMA

Description

Enigma provides comprehensive data on U.S. businesses, offering insights into their identity and financial health to support sales, marketing, risk assessment, and compliance processes.

Authentication Details

generic_api_key
stringRequired

Connecting to Enigma

Create an auth config

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

1

Select App

Navigate to the Enigma 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
5enigma_auth_config_id = "ac_YOUR_ENIGMA_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 Enigma 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, enigma_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 Enigma 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=["ENIGMA"])
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: KYB Business Verification

Description

This tool performs a know your business (kyb) check on a business by querying enigma's dataset of legal entities based on official state records. it verifies business information and returns comprehensive details about the business, including best match, legal entities, brands, and watchlists.

Action Parameters

address
objectRequired
attrs
string
match_threshold
numberDefaults to 0.5
name
stringRequired
package
stringDefaults to verify
top_n
integerDefaults to 1

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Screen Against Sanctions and Watchlists

Description

A tool to screen customers and transactions against sanctions and other watchlists. this endpoint allows for independent verification without requiring any external resource ids.

Action Parameters

caller_id
string
configuration_overrides
object
query_type
stringDefaults to enigma_data
searches
arrayRequired
tag
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired