Create Custom Function
Create a new custom function with Python source code
xpander_run_action(...) that will be executed when the function is invoked. After creation, the function is automatically analyzed for safety and input schema extraction.
Request Body
xpander_run_action(...) function definition.name)Response
Returns the createdCustomFunctionItem with status analysing. The function transitions to ready once analysis completes.
Example Request
Notes
- The
xpander_run_actionfunction is the entry point — it must be defined in the source code - After creation, the function is automatically analyzed for safety and input schema extraction
- Status transitions:
analysing→ready(success) oranalysing→error(analysis failed) - Check
analysis_error_detailsif the function moves toerrorstatus
Authorizations
API Key for authentication
Body
Request model for creating a new custom function.
The source code must define a function called xpander_run_action(...).
This is the entry point that will be called when the function is invoked
by an agent or via the execute endpoint.
After creation, the function is automatically analyzed for:
- Safety (no malicious patterns)
- Input schema extraction (parameters are auto-detected)
- Runnability (syntax validation)
The function status starts as 'analysing' and transitions to 'ready' once analysis completes successfully.
Human-readable name for the custom function. Used as the display name in the agent's tool list. Examples: 'Calculate Tax', 'Parse CSV Data'.
Python source code for the custom function. Must define a function called xpander_run_action(...) (or the name specified in function_name).
The function receives keyword arguments matching its parameter signature. It should return a dict or string result.
Example:
def xpander_run_action(text: str, max_words: int = 100) -> dict:
words = text.split()[:max_words]
return {"word_count": len(words), "truncated_text": " ".join(words)}The function runs in a secure Python 3.12 sandbox with common libraries available (requests, json, re, datetime, etc.). Do NOT use: file system access, subprocess, os.system, eval/exec, or network access to internal services.
Optional programmatic function name. If not provided, defaults to 'xpander_run_action'. The source_code must define a function with this name.
Description of what the function does. This is shown to the LLM when the function is used as an agent tool, so make it clear and action-oriented.
Resource limits for the function execution. Currently only max_run_time (seconds) is supported.
Response
Successful Response

