Satismeter

Learn how to use Satismeter with Composio

Overview

SLUG: SATISMETER

Description

SatisMeter is a customer feedback platform that enables businesses to collect and analyze user feedback through targeted surveys.

Authentication Details

generic_api_key
stringRequired
generic_id
stringRequired

Connecting to Satismeter

Create an auth config

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

1

Select App

Navigate to Satismeter.

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

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Satismeter 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=["SATISMETER"])
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: Embed Survey

Description

Tool to generate a javascript snippet to embed a satismeter survey. use after configuring your project and obtaining your write key.

Action Parameters

settings
object
traits
object
userId
string
writeKey
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Unsubscribed Emails

Description

Tool to retrieve list of unsubscribed emails for a project. use when you need to fetch emails that have opted out of surveys.

Action Parameters

limit
integer
offset
integer
project_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Surveys

Description

Tool to list surveys (campaigns) in a project. use when you have a valid project id and need to retrieve its surveys.

Action Parameters

project
stringRequired

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: List Users

Description

Tool to list users in a project. use when you have a valid project id and need to retrieve its users, optionally paginating through results.

Action Parameters

page_number
integer
page_size
integer
project
stringRequired

Action Response

data
arrayRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: Update Unsubscribed Emails

Description

Tool to update the list of unsubscribed emails for a project. use when you need to bulk unsubscribe user emails from surveys.

Action Parameters

emails
arrayRequired
project_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired