Formsite

Learn how to use Formsite with Composio

Overview

SLUG: FORMSITE

Description

Formsite helps users create online forms and surveys with drag-and-drop tools, secure data capture, and integrations to simplify workflows

Authentication Details

token
stringRequired
full
stringRequired

Connecting to Formsite

Create an auth config

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

1

Select App

Navigate to Formsite.

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 Formsite 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 Bearer Token

1from composio import Composio
2
3# Auth config ID created above
4formsite_auth_config_id = "ac_YOUR_FORMSITE_CONFIG_ID"
5
6# UUID from database/application
7user_id = "0000-0000-0000"
8
9composio = Composio()
10
11
12def authenticate_toolkit(user_id: str, auth_config_id: str):
13 # Replace this with a method to retrieve the Bearer Token from the user.
14 bearer_token = input("[!] Enter bearer token")
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "BEARER_TOKEN", "val": bearer_token}
19 )
20 print(f"Successfully connected Formsite for user {user_id}")
21 print(f"Connection status: {connection_request.status}")
22
23 return connection_request.id
24
25
26connection_id = authenticate_toolkit(user_id, formsite_auth_config_id)
27
28# You can verify the connection using:
29connected_account = composio.connected_accounts.get(connection_id)
30print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Formsite 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=["FORMSITE"])
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 Form Items

Description

This tool retrieves all items (questions) for a specific form using the get https://{server}.formsite.com/api/v2/{user dir}/forms/{form dir}/items endpoint. it is an independent action that only requires the form directory (obtainable via formsite list all forms) to retrieve the structure and details such as item ids, question types, text, answer choices, required status, and other properties.

Action Parameters

form_dir
stringRequired
results_labels
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form Details

Description

This tool retrieves detailed information about a specific form in formsite. it provides comprehensive details including the form's internal description, directory identifier, name, publishing information (embed code and form link), current state (e.g., "open"), and statistics (file size and number of results).

Action Parameters

form_dir
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form Results

Description

This tool retrieves the latest form results from a specified formsite form. it uses the get https://{server}.formsite.com/api/v2/results/latest endpoint to fetch results independently, handling required parameters such as form id, limit, page, and sort direction without referring to external resource ids.

Action Parameters

form_id
stringRequired
limit
integerDefaults to 100
page
integerDefaults to 1
sort_direction
stringDefaults to desc

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form Webhooks

Description

This tool retrieves all webhooks configured for a specific form in formsite. it uses the get https://{server}.formsite.com/api/v2/{user dir}/forms/{form dir}/webhooks endpoint to fetch webhook configurations, including url, status, settings, and triggers.

Action Parameters

form_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List All Forms

Description

This tool retrieves a list of all forms in the user's formsite account. it provides essential information such as form id, form name, form directory, creation date, last modified date, status, access level, and other metadata. it serves as a foundational tool for further operations.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired