Skill MCP tools
Use this reference to find a tool and its inputs. Connect an MCP client before calling tools. Tool visibility depends on discovery and permissions.
For actions that send messages, spend credits, delete data, or start execution, review the intended records and confirm the action before proceeding. Obtain IDs from a prior result; do not invent them. A registered tool does not guarantee that its supporting service is available in every organization.
g8_skill_create_api
Create an API-runtime skill. Persists a new skill in the org; call with
dry_run=Truefirst to confirm, thendry_run=False. Args: name: Display name. endpoint: Full URL. May contain{variable}path placeholders (e.g.https://api.x.com/v1/{id}). method: HTTP method (default"POST"). One ofGET\|POST\|PUT\|PATCH\|DELETE. description: Optional human-readable summary. category: Optional grouping. object_type: Optional entity target -"Company"\|"Contact"\|"Deal"\|"Campaign". headers: Static request headers. Values may use{var}. body_template: Request body template;{var}substituted at runtime. query_params: Static query params dict. Values may use{var}. body_type:json,form-urlencoded,form-data,raw, orgraphql. Defaults tojson. content_type: Custom Content-Type header. Auto-detected frombody_typeif omitted. requires_approval: Force manual approval before execution. dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
name | Yes | string | See the schema below for constraints and defaults. |
endpoint | Yes | string | See the schema below for constraints and defaults. |
method | No | string | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
headers | No | object / null | See the schema below for constraints and defaults. |
body_template | No | string / null | See the schema below for constraints and defaults. |
query_params | No | object / null | See the schema below for constraints and defaults. |
body_type | No | string / null | See the schema below for constraints and defaults. |
content_type | No | string / null | See the schema below for constraints and defaults. |
requires_approval | No | boolean | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "name": { "title": "Name", "type": "string" }, "endpoint": { "title": "Endpoint", "type": "string" }, "method": { "default": "POST", "title": "Method", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers" }, "body_template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Template" }, "query_params": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Query Params" }, "body_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Type" }, "content_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Content Type" }, "requires_approval": { "default": false, "title": "Requires Approval", "type": "boolean" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "name", "endpoint" ], "title": "create_api_skillArguments", "type": "object"}g8_skill_create_from_node
Lift a workflow action node into a standalone skill (a copy; the workflow is NOT modified). Persists a new skill; confirm with
dry_run=Truebefore calling withdry_run=False. To make the node reference the new skill, update it afterward withg8_workflow_update_nodeto setconfig.action_id. Args: workflow_id: Workflow UUID. node_id: Node id inside the workflow’s graph. name: Optional new name; defaults to"<source name> (Copy)". dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
workflow_id | Yes | string | See the schema below for constraints and defaults. |
node_id | Yes | string | See the schema below for constraints and defaults. |
name | No | string / null | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "workflow_id": { "title": "Workflow Id", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "workflow_id", "node_id" ], "title": "create_from_nodeArguments", "type": "object"}g8_skill_create_from_template
Clone a skill template into the org. Persists a new skill; confirm with
dry_run=Truebefore calling withdry_run=False. Only llm/api templates can be cloned (workflow/script runtimes are refused). Args: template_id: Template UUID fromg8_skill_list_templates. name: Display name for the new skill. overrides: Optional dict of fields to override on the clone. dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
template_id | Yes | string | See the schema below for constraints and defaults. |
name | Yes | string | See the schema below for constraints and defaults. |
overrides | No | object / null | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "template_id": { "title": "Template Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "overrides": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Overrides" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "template_id", "name" ], "title": "create_from_templateArguments", "type": "object"}g8_skill_create_llm
Create an LLM-runtime skill. Persists a new skill in the org; call with
dry_run=Truefirst to render a confirmation preview, then again withdry_run=Falseafter the user confirms. Args: name: Display name. model: Model id fromg8_skill_list_models(e.g."gpt-4o"). prompt_template: Prompt template. Use{variable}for inputs; they become the skill’s input surface (seeg8_skill_extract_variables). description: Optional human-readable summary. category: Optional grouping (e.g."Research","Sales"). object_type: Optional entity target -"Company"\|"Contact"\|"Deal"\|"Campaign". None (default) is global. temperature: LLM temperature (default 0.7). max_tokens: Max output tokens (default 1000). requires_approval: Force manual approval before execution (default False). dry_run: When True, return a confirmation preview instead of persisting.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
name | Yes | string | See the schema below for constraints and defaults. |
model | Yes | string | See the schema below for constraints and defaults. |
prompt_template | Yes | string | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
temperature | No | number | See the schema below for constraints and defaults. |
max_tokens | No | integer | See the schema below for constraints and defaults. |
requires_approval | No | boolean | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "name": { "title": "Name", "type": "string" }, "model": { "title": "Model", "type": "string" }, "prompt_template": { "title": "Prompt Template", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "temperature": { "default": 0.7, "title": "Temperature", "type": "number" }, "max_tokens": { "default": 1000, "title": "Max Tokens", "type": "integer" }, "requires_approval": { "default": false, "title": "Requires Approval", "type": "boolean" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "name", "model", "prompt_template" ], "title": "create_llm_skillArguments", "type": "object"}g8_skill_delete
Delete a skill (with reference check). Scans every workflow in the org; if ANY node references the skill the delete is refused and the offending workflows are listed, otherwise it hard-deletes. IMPORTANT: hard-delete is final - there is no restore. Call with
dry_run=Trueto see the reference report + confirmation, then again withdry_run=Falseonce the user confirms. Args: action_id: Skill UUID. dry_run: When True, return a confirmation preview (including any reference list) instead of deleting.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "action_id" ], "title": "delete_skillArguments", "type": "object"}g8_skill_execute
Run a skill once and return the execution result. Triggers a real execution (LLM call or HTTP request) and may consume credits; confirm with
dry_run=Truebefore calling withdry_run=False.input_datakeys should match the{variable}placeholders fromg8_skill_extract_variables; other keys pass through but won’t substitute. Args: action_id: Skill UUID. input_data: Dict of input field values for placeholder substitution (e.g.{"company_name": "Acme"}). dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
input_data | No | object / null | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "input_data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Input Data" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "action_id" ], "title": "execute_skillArguments", "type": "object"}g8_skill_extract_variables
Extract single-brace
{variable}placeholders from a skill’s templates (deduplicated, first-seen order). Double-brace{{var}}is ignored. LLM skills scanprompt_template; API skills scanendpoint,body_template, header values, and query param values. Use BEFORE wiring the skill into a workflow Action node so you know which input mappings to declare upstream. Args: action_id: Skill UUID.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" } }, "required": [ "action_id" ], "title": "extract_variablesArguments", "type": "object"}g8_skill_get
Get a skill’s full configuration (metadata + llm_config or api_config). Returns 404 if the action_id is a workflow or script; use
g8_workflow_getfor workflow rows. Args: action_id: Skill UUID.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" } }, "required": [ "action_id" ], "title": "get_skillArguments", "type": "object"}g8_skill_list
List skills (LLM + API runtimes) owned by the caller’s org. Workflows (use
g8_workflow_list) and script-runtime actions are not shown. Args: runtime_type: Filter to"llm"or"api". Omit to see both. enabled: Filter by enabled flag. category: Filter by free-text category (e.g."Sales"). object_type: Filter by entity target -"Company"\|"Contact"\|"Deal"\|"Campaign". Omit for global. include_system: When True (default), merge in shared system-default skills alongside org-owned ones.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
runtime_type | No | string / null | See the schema below for constraints and defaults. |
enabled | No | boolean / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
include_system | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "runtime_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Runtime Type" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enabled" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "include_system": { "default": true, "title": "Include System", "type": "boolean" } }, "title": "list_skillsArguments", "type": "object"}g8_skill_list_models
List supported LLM model identifiers for the
modelfield ofg8_skill_create_llm/g8_skill_update_llm. Returns{models: [{id, provider, label}], total: N}. Curated list; the create/update endpoints accept any string.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |
Complete input schema
{ "properties": {}, "title": "list_modelsArguments", "type": "object"}g8_skill_list_templates
List skill templates available in the caller’s org (plus shared system templates). Workflow templates are excluded. Pass the returned
action_idtog8_skill_create_from_templateto clone one. Args: category: Optional category filter.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
category | No | string / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" } }, "title": "list_templatesArguments", "type": "object"}g8_skill_update_api
Update an API-runtime skill. Pass only the fields you want to change. Returns 404 if the action is not an API skill (runtime cannot switch). Args: action_id: Skill UUID. name, description, category, object_type, enabled: Top-level metadata. endpoint, method, headers, body_template, query_params, body_type, content_type: API config. If ANY one is passed, all are sent (update replaces the full api_config block), so fetch current values via
g8_skill_getfirst for a partial change. requires_approval: Approval gate toggle.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
name | No | string / null | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
enabled | No | boolean / null | See the schema below for constraints and defaults. |
endpoint | No | string / null | See the schema below for constraints and defaults. |
method | No | string / null | See the schema below for constraints and defaults. |
headers | No | object / null | See the schema below for constraints and defaults. |
body_template | No | string / null | See the schema below for constraints and defaults. |
query_params | No | object / null | See the schema below for constraints and defaults. |
body_type | No | string / null | See the schema below for constraints and defaults. |
content_type | No | string / null | See the schema below for constraints and defaults. |
requires_approval | No | boolean / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enabled" }, "endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Endpoint" }, "method": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Method" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers" }, "body_template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Template" }, "query_params": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Query Params" }, "body_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Type" }, "content_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Content Type" }, "requires_approval": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Requires Approval" } }, "required": [ "action_id" ], "title": "update_api_skillArguments", "type": "object"}g8_skill_update_llm
Update an LLM-runtime skill. Pass only the fields you want to change. Returns 404 if the action is not an LLM skill (runtime cannot switch). Args: action_id: Skill UUID. name, description, category, object_type, enabled: Top-level metadata. model, prompt_template, temperature, max_tokens: LLM config. If ANY one is passed, all four are sent (update replaces the full llm_config block), so fetch current values via
g8_skill_getfirst for a partial change. requires_approval: Approval gate toggle.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
name | No | string / null | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
enabled | No | boolean / null | See the schema below for constraints and defaults. |
model | No | string / null | See the schema below for constraints and defaults. |
prompt_template | No | string / null | See the schema below for constraints and defaults. |
temperature | No | number / null | See the schema below for constraints and defaults. |
max_tokens | No | integer / null | See the schema below for constraints and defaults. |
requires_approval | No | boolean / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enabled" }, "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Model" }, "prompt_template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Prompt Template" }, "temperature": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Temperature" }, "max_tokens": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Max Tokens" }, "requires_approval": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Requires Approval" } }, "required": [ "action_id" ], "title": "update_llm_skillArguments", "type": "object"}g8_skill_validate_template
Dry-run a skill template through the variable extractor and warn-only validator. Two call shapes: pass a single
templatestring, OR passruntime_type+ a matchingllm_config/api_configto scan every template field the runtime would use. Warn-only:validis always True for parseable templates; warnings list soft issues (double-brace usage, unmatched braces) to repair before saving. Args: template: Single template string. runtime_type:"llm"or"api"(when passing a full skill shape). llm_config: Full LLM config dict. api_config: Full API config dict.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
template | No | string / null | See the schema below for constraints and defaults. |
runtime_type | No | string / null | See the schema below for constraints and defaults. |
llm_config | No | object / null | See the schema below for constraints and defaults. |
api_config | No | object / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Template" }, "runtime_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Runtime Type" }, "llm_config": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Llm Config" }, "api_config": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Api Config" } }, "title": "validate_templateArguments", "type": "object"}g8_workflow_skill_create_api
Create an API-runtime skill. Persists a new skill in the org; call with
dry_run=Truefirst to confirm, thendry_run=False. Args: name: Display name. endpoint: Full URL. May contain{variable}path placeholders (e.g.https://api.x.com/v1/{id}). method: HTTP method (default"POST"). One ofGET\|POST\|PUT\|PATCH\|DELETE. description: Optional human-readable summary. category: Optional grouping. object_type: Optional entity target -"Company"\|"Contact"\|"Deal"\|"Campaign". headers: Static request headers. Values may use{var}. body_template: Request body template;{var}substituted at runtime. query_params: Static query params dict. Values may use{var}. body_type:json,form-urlencoded,form-data,raw, orgraphql. Defaults tojson. content_type: Custom Content-Type header. Auto-detected frombody_typeif omitted. requires_approval: Force manual approval before execution. dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
name | Yes | string | See the schema below for constraints and defaults. |
endpoint | Yes | string | See the schema below for constraints and defaults. |
method | No | string | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
headers | No | object / null | See the schema below for constraints and defaults. |
body_template | No | string / null | See the schema below for constraints and defaults. |
query_params | No | object / null | See the schema below for constraints and defaults. |
body_type | No | string / null | See the schema below for constraints and defaults. |
content_type | No | string / null | See the schema below for constraints and defaults. |
requires_approval | No | boolean | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "name": { "title": "Name", "type": "string" }, "endpoint": { "title": "Endpoint", "type": "string" }, "method": { "default": "POST", "title": "Method", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers" }, "body_template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Template" }, "query_params": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Query Params" }, "body_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Type" }, "content_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Content Type" }, "requires_approval": { "default": false, "title": "Requires Approval", "type": "boolean" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "name", "endpoint" ], "title": "create_api_skillArguments", "type": "object"}g8_workflow_skill_create_from_node
Lift a workflow action node into a standalone skill (a copy; the workflow is NOT modified). Persists a new skill; confirm with
dry_run=Truebefore calling withdry_run=False. To make the node reference the new skill, update it afterward withg8_workflow_update_nodeto setconfig.action_id. Args: workflow_id: Workflow UUID. node_id: Node id inside the workflow’s graph. name: Optional new name; defaults to"<source name> (Copy)". dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
workflow_id | Yes | string | See the schema below for constraints and defaults. |
node_id | Yes | string | See the schema below for constraints and defaults. |
name | No | string / null | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "workflow_id": { "title": "Workflow Id", "type": "string" }, "node_id": { "title": "Node Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "workflow_id", "node_id" ], "title": "create_from_nodeArguments", "type": "object"}g8_workflow_skill_create_from_template
Clone a skill template into the org. Persists a new skill; confirm with
dry_run=Truebefore calling withdry_run=False. Only llm/api templates can be cloned (workflow/script runtimes are refused). Args: template_id: Template UUID fromg8_skill_list_templates. name: Display name for the new skill. overrides: Optional dict of fields to override on the clone. dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
template_id | Yes | string | See the schema below for constraints and defaults. |
name | Yes | string | See the schema below for constraints and defaults. |
overrides | No | object / null | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "template_id": { "title": "Template Id", "type": "string" }, "name": { "title": "Name", "type": "string" }, "overrides": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Overrides" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "template_id", "name" ], "title": "create_from_templateArguments", "type": "object"}g8_workflow_skill_create_llm
Create an LLM-runtime skill. Persists a new skill in the org; call with
dry_run=Truefirst to render a confirmation preview, then again withdry_run=Falseafter the user confirms. Args: name: Display name. model: Model id fromg8_skill_list_models(e.g."gpt-4o"). prompt_template: Prompt template. Use{variable}for inputs; they become the skill’s input surface (seeg8_skill_extract_variables). description: Optional human-readable summary. category: Optional grouping (e.g."Research","Sales"). object_type: Optional entity target -"Company"\|"Contact"\|"Deal"\|"Campaign". None (default) is global. temperature: LLM temperature (default 0.7). max_tokens: Max output tokens (default 1000). requires_approval: Force manual approval before execution (default False). dry_run: When True, return a confirmation preview instead of persisting.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
name | Yes | string | See the schema below for constraints and defaults. |
model | Yes | string | See the schema below for constraints and defaults. |
prompt_template | Yes | string | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
temperature | No | number | See the schema below for constraints and defaults. |
max_tokens | No | integer | See the schema below for constraints and defaults. |
requires_approval | No | boolean | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "name": { "title": "Name", "type": "string" }, "model": { "title": "Model", "type": "string" }, "prompt_template": { "title": "Prompt Template", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "temperature": { "default": 0.7, "title": "Temperature", "type": "number" }, "max_tokens": { "default": 1000, "title": "Max Tokens", "type": "integer" }, "requires_approval": { "default": false, "title": "Requires Approval", "type": "boolean" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "name", "model", "prompt_template" ], "title": "create_llm_skillArguments", "type": "object"}g8_workflow_skill_delete
Delete a skill (with reference check). Scans every workflow in the org; if ANY node references the skill the delete is refused and the offending workflows are listed, otherwise it hard-deletes. IMPORTANT: hard-delete is final - there is no restore. Call with
dry_run=Trueto see the reference report + confirmation, then again withdry_run=Falseonce the user confirms. Args: action_id: Skill UUID. dry_run: When True, return a confirmation preview (including any reference list) instead of deleting.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "action_id" ], "title": "delete_skillArguments", "type": "object"}g8_workflow_skill_execute
Run a skill once and return the execution result. Triggers a real execution (LLM call or HTTP request) and may consume credits; confirm with
dry_run=Truebefore calling withdry_run=False.input_datakeys should match the{variable}placeholders fromg8_skill_extract_variables; other keys pass through but won’t substitute. Args: action_id: Skill UUID. input_data: Dict of input field values for placeholder substitution (e.g.{"company_name": "Acme"}). dry_run: When True, return a confirmation preview.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
input_data | No | object / null | See the schema below for constraints and defaults. |
dry_run | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "input_data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Input Data" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" } }, "required": [ "action_id" ], "title": "execute_skillArguments", "type": "object"}g8_workflow_skill_extract_variables
Extract single-brace
{variable}placeholders from a skill’s templates (deduplicated, first-seen order). Double-brace{{var}}is ignored. LLM skills scanprompt_template; API skills scanendpoint,body_template, header values, and query param values. Use BEFORE wiring the skill into a workflow Action node so you know which input mappings to declare upstream. Args: action_id: Skill UUID.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" } }, "required": [ "action_id" ], "title": "extract_variablesArguments", "type": "object"}g8_workflow_skill_get
Get a skill’s full configuration (metadata + llm_config or api_config). Returns 404 if the action_id is a workflow or script; use
g8_workflow_getfor workflow rows. Args: action_id: Skill UUID.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" } }, "required": [ "action_id" ], "title": "get_skillArguments", "type": "object"}g8_workflow_skill_list
List skills (LLM + API runtimes) owned by the caller’s org. Workflows (use
g8_workflow_list) and script-runtime actions are not shown. Args: runtime_type: Filter to"llm"or"api". Omit to see both. enabled: Filter by enabled flag. category: Filter by free-text category (e.g."Sales"). object_type: Filter by entity target -"Company"\|"Contact"\|"Deal"\|"Campaign". Omit for global. include_system: When True (default), merge in shared system-default skills alongside org-owned ones.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
runtime_type | No | string / null | See the schema below for constraints and defaults. |
enabled | No | boolean / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
include_system | No | boolean | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "runtime_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Runtime Type" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enabled" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "include_system": { "default": true, "title": "Include System", "type": "boolean" } }, "title": "list_skillsArguments", "type": "object"}g8_workflow_skill_list_models
List supported LLM model identifiers for the
modelfield ofg8_skill_create_llm/g8_skill_update_llm. Returns{models: [{id, provider, label}], total: N}. Curated list; the create/update endpoints accept any string.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
| None | No | — | No user-supplied inputs. |
Complete input schema
{ "properties": {}, "title": "list_modelsArguments", "type": "object"}g8_workflow_skill_list_templates
List skill templates available in the caller’s org (plus shared system templates). Workflow templates are excluded. Pass the returned
action_idtog8_skill_create_from_templateto clone one. Args: category: Optional category filter.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
category | No | string / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" } }, "title": "list_templatesArguments", "type": "object"}g8_workflow_skill_update_api
Update an API-runtime skill. Pass only the fields you want to change. Returns 404 if the action is not an API skill (runtime cannot switch). Args: action_id: Skill UUID. name, description, category, object_type, enabled: Top-level metadata. endpoint, method, headers, body_template, query_params, body_type, content_type: API config. If ANY one is passed, all are sent (update replaces the full api_config block), so fetch current values via
g8_skill_getfirst for a partial change. requires_approval: Approval gate toggle.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
name | No | string / null | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
enabled | No | boolean / null | See the schema below for constraints and defaults. |
endpoint | No | string / null | See the schema below for constraints and defaults. |
method | No | string / null | See the schema below for constraints and defaults. |
headers | No | object / null | See the schema below for constraints and defaults. |
body_template | No | string / null | See the schema below for constraints and defaults. |
query_params | No | object / null | See the schema below for constraints and defaults. |
body_type | No | string / null | See the schema below for constraints and defaults. |
content_type | No | string / null | See the schema below for constraints and defaults. |
requires_approval | No | boolean / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enabled" }, "endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Endpoint" }, "method": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Method" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Headers" }, "body_template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Template" }, "query_params": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Query Params" }, "body_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Body Type" }, "content_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Content Type" }, "requires_approval": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Requires Approval" } }, "required": [ "action_id" ], "title": "update_api_skillArguments", "type": "object"}g8_workflow_skill_update_llm
Update an LLM-runtime skill. Pass only the fields you want to change. Returns 404 if the action is not an LLM skill (runtime cannot switch). Args: action_id: Skill UUID. name, description, category, object_type, enabled: Top-level metadata. model, prompt_template, temperature, max_tokens: LLM config. If ANY one is passed, all four are sent (update replaces the full llm_config block), so fetch current values via
g8_skill_getfirst for a partial change. requires_approval: Approval gate toggle.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
action_id | Yes | string | See the schema below for constraints and defaults. |
name | No | string / null | See the schema below for constraints and defaults. |
description | No | string / null | See the schema below for constraints and defaults. |
category | No | string / null | See the schema below for constraints and defaults. |
object_type | No | string / null | See the schema below for constraints and defaults. |
enabled | No | boolean / null | See the schema below for constraints and defaults. |
model | No | string / null | See the schema below for constraints and defaults. |
prompt_template | No | string / null | See the schema below for constraints and defaults. |
temperature | No | number / null | See the schema below for constraints and defaults. |
max_tokens | No | integer / null | See the schema below for constraints and defaults. |
requires_approval | No | boolean / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "action_id": { "title": "Action Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "object_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Object Type" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enabled" }, "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Model" }, "prompt_template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Prompt Template" }, "temperature": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Temperature" }, "max_tokens": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Max Tokens" }, "requires_approval": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Requires Approval" } }, "required": [ "action_id" ], "title": "update_llm_skillArguments", "type": "object"}g8_workflow_skill_validate_template
Dry-run a skill template through the variable extractor and warn-only validator. Two call shapes: pass a single
templatestring, OR passruntime_type+ a matchingllm_config/api_configto scan every template field the runtime would use. Warn-only:validis always True for parseable templates; warnings list soft issues (double-brace usage, unmatched braces) to repair before saving. Args: template: Single template string. runtime_type:"llm"or"api"(when passing a full skill shape). llm_config: Full LLM config dict. api_config: Full API config dict.
Inputs
| Input | Required | Type | Description |
|---|---|---|---|
template | No | string / null | See the schema below for constraints and defaults. |
runtime_type | No | string / null | See the schema below for constraints and defaults. |
llm_config | No | object / null | See the schema below for constraints and defaults. |
api_config | No | object / null | See the schema below for constraints and defaults. |
Complete input schema
{ "properties": { "template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Template" }, "runtime_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Runtime Type" }, "llm_config": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Llm Config" }, "api_config": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Api Config" } }, "title": "validate_templateArguments", "type": "object"}