AI Tools & Skills
Overview
You can give the AI built-in tools that let it take actions in Podio on your behalf. Tools work in two ways: (1) pass them as parameters when calling from ProcScript/PWA via podio_ai_ask_general or podio_ai_ask_trained, or (2) configure them on the Account → AI Assistant settings page to enable them for the in-Podio AI (@mentions and task assignments). The AI decides when and how to use tools based on your prompt.
All actions are performed using your ProcFu account's Podio authentication, so the AI has the same permissions as your connected Podio user.
Available Built-in Tools
Enable tools via the builtin_tools parameter (comma-separated list, or "all"):
| Name | What it does | Key parameters |
|---|---|---|
create | Create a new Podio item | app_id, fields |
update | Update fields on an existing item | item_id, fields |
delete | Permanently delete an item | item_id |
task | Create a task on an item | item_id, task_name, responsible_email |
comment | Comment on an item or task | ref_type (item/task), ref_id, value |
file | Attach a .md text file to an item | item_id, file_name, content |
The AI also always has access to get_podio_app_structure, which lets it look up field definitions for any app before creating or updating items.
Examples
Enable specific tools
podio_ai_ask_general(
prompt = "Review this project and create a follow-up task for the project manager",
item_id = @item_id,
builtin_tools = "task,comment"
)Enable all tools
podio_ai_ask_general(
prompt = "Analyze this invoice and create line items in app 12345678",
item_id = @item_id,
builtin_tools = "all"
)With a trained AI
podio_ai_ask_trained(
ai_name = "Project Manager",
prompt = "Update the status field to Completed and add a summary comment",
item_id = @item_id,
builtin_tools = "update,comment"
)How It Works
- Your ProcScript or PWA flow calls podio_ai_ask_general (or trained) with a prompt and builtin_tools
- The AI receives the prompt along with the tool definitions and any item context
- The AI decides which tools to call (if any) based on the prompt — it may call multiple tools in sequence
- Each tool call executes the corresponding Podio action using your account's credentials
- The AI returns a text response summarizing what it did
Notes
- All actions trigger Podio webhooks (hook=true), so your existing Podio integrations and flows will fire as expected
- The AI uses your Podio credentials — it can only do what your connected Podio user can do
- For create and update tools, the AI will automatically look up the app structure to learn the correct field names
- You can combine built-in tools with custom tools (custom_tools parameter) in the same call
- The file tool only supports .md (Markdown) files for now
- Usage is charged at 1 action per 250 tokens (same as regular AI calls)
Custom Tools
Beyond the built-in tools, you can write your own tools as ProcScript code blocks. The AI model can invoke these during its reasoning to perform any action you define — call external APIs, run calculations, look up data, etc.
Writing a Custom Tool
A ProcScript block must have no global code and must define three functions:
name()
Returns the tool name as a string. Will be sanitized to lowercase alphanumeric with underscores/hyphens.
usage()
Returns an array with a description and params. Params prefixed with "required - " are marked as required. All params are type string.
function usage() {
return [
"description" => "What this tool does",
"params" => [
"param_name" => "required - Description of required param",
"optional_param" => "Description of optional param"
]
]
}run($args)
Receives the AI's arguments as an associative array. Returns the result (string or array) which is sent back to the AI.
Full Example
Create a ProcScript block called lookup_customer:
function name() {
return "lookup_customer";
}
function usage() {
return [
"description" => "Look up a customer by email address and return their details",
"params" => [
"email" => "required - The customer email address to look up"
]
];
}
function run($args) {
$email = $args["email"];
// Search for customer in your Podio app
$items = podio_search_items(12345678, $email);
if (count($items) == 0) {
return "No customer found with that email";
}
return $items[0];
}Using Custom Tools
Pass a comma-separated list of ProcScript block names via custom_tools:
podio_ai_ask_general(
prompt = "Find the customer john@example.com and summarize their account",
item_id = 12345,
custom_tools = "lookup_customer"
)You can combine custom tools with built-in tools:
podio_ai_ask_general(
prompt = "Look up the customer and create a follow-up task",
item_id = 12345,
custom_tools = "lookup_customer",
builtin_tools = "task,comment"
)Custom Tool Limits
- Maximum 10 custom tools per call
- Block names must match existing ProcScript blocks in your account
- Available in podio_ai_ask_general, podio_ai_ask_trained, and the in-Podio AI (via Account → AI Assistant settings)