Formdesk

Learn how to use Formdesk with Composio

Overview

SLUG: FORMDESK

Description

Formdesk is an online form builder that allows users to create and manage professional online forms with flexible features and integrations.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Formdesk

Create an auth config

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

1

Select App

Navigate to Formdesk.

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 Formdesk 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
4formdesk_auth_config_id = "ac_YOUR_FORMDESK_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 Formdesk 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, formdesk_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 Formdesk 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=["FORMDESK"])
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: Automatic Login

Description

Tool to perform automatic login to Formdesk and retrieve an access token. Use when you need to authenticate with username and password.

Action Parameters

password
stringRequired
username
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Formdesk Entry

Description

Tool to submit a new entry to a Formdesk form. Use after collecting all form field values to send a new entry for a specific formId. Example: "Submit entry to form 12345 with first_name='Bob', email='bob@example.com'."

Action Parameters

fields
objectRequired
formId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Field

Description

Tool to create a new field in a specific Formdesk form. Use after you have the formId and need to extend the form schema with an additional input.

Action Parameters

field
objectRequired
formId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Visitor

Description

Tool to add a new visitor to a specific Formdesk form. Use when you need to register a visitor's metadata (e.g., name, email) before submitting entries.

Action Parameters

formId
stringRequired
visitor
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Formdesk Entry

Description

Tool to delete a specific entry from a Formdesk form. Use after confirming the target entry exists.

Action Parameters

entryId
stringRequired
formId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Field in Formdesk

Description

Tool to delete a specific field in a Formdesk form. Use after confirming formId and fieldId.

Action Parameters

field_id
stringRequired
form_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Form in Formdesk

Description

Tool to delete a specific form. Use when you need to permanently remove a form after confirming it's no longer needed.

Action Parameters

form_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Visitor in Formdesk

Description

Tool to delete a specific visitor in a Formdesk form. Use after confirming formId and visitorId.

Action Parameters

form_id
stringRequired
visitor_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Entry Details

Description

Tool to retrieve detailed information about a specific Formdesk entry. Use after confirming you have the form ID and entry ID.

Action Parameters

entry_id
stringRequired
form_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Field Details

Description

Tool to retrieve detailed information about a specific field. Use after confirming the formId and fieldId to inspect the field’s properties.

Action Parameters

fieldId
stringRequired
formId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form Details

Description

Tool to retrieve detailed information about a specific Formdesk form. Use when you have the formId.

Action Parameters

formId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form Entries

Description

Tool to retrieve all entries for a specified Formdesk form. Use when you need to list submissions for a form by its ID.

Action Parameters

form_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form Fields

Description

Tool to retrieve all fields of a specific form. Use after obtaining the formId to inspect its field definitions.

Action Parameters

formId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form List

Description

Tool to retrieve a list of all forms available in the account. Use after obtaining a valid bearer token.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Form Visitors

Description

Tool to retrieve all visitors for a specified Formdesk form. Use when you need to list visitors by form ID.

Action Parameters

form_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Visitor Details

Description

Tool to retrieve detailed information about a specific Formdesk visitor. Use after confirming you have the form ID and visitor ID.

Action Parameters

form_id
stringRequired
visitor_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: KVK Handelsregister Lookup

Description

Tool to lookup company details from the Dutch KVK Handelsregister. Use when auto-filling company address fields.

Action Parameters

companyName
string
kvkNumber
string
postalCode
string
street
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Manage Visitor Entries

Description

Tool to list or retrieve a visitor's own form entries. Use after authenticating visitor.

Action Parameters

entry_id
string
form_id
stringRequired
visitor_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Multi-Page Form

Description

Tool to create a multi-page Formdesk form. Use when you need forms split into multiple pages for better user experience.

Action Parameters

form
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Prepopulate Formdesk Fields

Description

Tool to prepopulate form fields. Use when loading default, parameter-based, lookup, import, or webservice-provided values before displaying a form.

Action Parameters

extraParameters
object
fieldValues
objectRequired
formId
stringRequired
method
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Field

Description

Tool to update an existing field definition on a Formdesk form. Use when you need to modify field properties like label or validation rules.

Action Parameters

fieldId
stringRequired
formId
stringRequired
properties
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Form

Description

Tool to update an existing form. Use when you need to modify form metadata after fetching current details.

Action Parameters

formId
stringRequired
isActive
boolean
name
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Visitor

Description

Tool to update an existing visitor for a given form. Use when you have the formId and visitorId and need to modify visitor details. Only include fields you want to change.

Action Parameters

formId
stringRequired
visitor
objectRequired
visitorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Webhook Integration

Description

Tool to send form submission data to external webhooks. Use after retrieving entry details to push data to a custom endpoint.

Action Parameters

headers
object
method
stringDefaults to post
payload
objectRequired
query_params
object
webhook_url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired