Procfu

Learn how to use Procfu with Composio

Overview

SLUG: PROCFU

Description

ProcFu enhances Podio’s capabilities by providing a suite of automation tools and functions, enabling users to create scripts, mini apps, and integrate with various services to streamline workflows.

Authentication Details

basic_encoded
stringRequired

Connecting to Procfu

Create an auth config

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

1

Select App

Navigate to Procfu.

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 Procfu 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
4procfu_auth_config_id = "ac_YOUR_PROCFU_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 Procfu 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, procfu_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 Procfu 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=["PROCFU"])
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: Array Difference Deletions

Description

Tool to return items removed when comparing two JSON arrays. Use when you have two arrays and need to know which elements were deleted.

Action Parameters

json_array_a
arrayRequired
json_array_b
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Array Diff New

Description

Tool to return items added in the second JSON array. Use when you need to identify new elements between two list versions. Example: Compare [1,3,4] vs [1,3,6] to get [6].

Action Parameters

json_array_a
arrayRequired
json_array_b
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Array Diff Same

Description

Tool to get items present in both JSON arrays. Computes the intersection locally to avoid external API dependency. Rules: - Two items are considered equal if their JSON representations match (with sorted keys for objects). - The result contains unique items present in both arrays, preserving the order they appear in json_array_b.

Action Parameters

json_array_a
arrayRequired
json_array_b
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Array Sort

Description

Tool to sort a JSON array of values. Use when you need to order elements ascending or descending.

Action Parameters

json_array
arrayRequired
reverse
boolean

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Delete Google Drive

Description

Tool to delete a Google Drive file or folder. Use after obtaining a valid Google Drive ID.

Action Parameters

google_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate dummy data

Description

Tool to generate dummy data. Use when you need random emails, text, numbers, dates, people, addresses, or images for testing or placeholder data.

Action Parameters

type
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Google Drive Delete

Description

Tool to delete a Google Drive file or folder. Use after obtaining a valid Google Drive ID.

Action Parameters

google_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Ask question to OpenAI GPT

Description

Tool to ask a question to OpenAI GPT. Use when you need a conversational answer from GPT.

Action Parameters

model
stringDefaults to gpt-4o-mini
prompt
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate Image with OpenAI

Description

Tool to generate an image via OpenAI API. Use when you need programmatic image creation from a text prompt.

Action Parameters

orientation
stringRequired
prompt
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Google Sheet contents as array

Description

Tool to get sheet contents as array. Use when you need to retrieve Google Sheet data as an associative array.

Action Parameters

range
stringRequired
sheet_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Google Sheets Metadata

Description

Tool to retrieve metadata of a Google Sheets spreadsheet, including sheet names, IDs, and properties. Use when you need sheet-level details for a given spreadsheet ID.

Action Parameters

spreadsheet_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired