Skip to main content
Glama
Omnidim

@omnidim-ai/mcp-server

by Omnidim

dispatchCall

Destructive

Initiate an outbound call to a phone number using a specified agent. Include the agent ID and a country-code number with a leading plus.

Instructions

Initiate a call to a phone number using a specified agent. The phone number must include a country code with a leading plus.

(Tags: Calls)

Input Schema

NameRequiredDescriptionDefault
requestBodyYesThe JSON request body.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.14.0
    • addedInput schema / properties / requestBody / properties / __languages
      Added value: +{
      +  "description": "Languages this call runs in, replacing the agent's configured\nlist for this call only. The first entry is the language the\ncall opens in. Send an array, or a pipe-separated string such\nas `Hindi|English`. Names the platform does not recognize are\nskipped and listed in `languages_ignored`.\n",
      +  "oneOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "string"
      +    }
      +  ]
      +}
    • addedInput schema / properties / requestBody / properties / __post_call_actions
      Added value: +{
      +  "allOf": [
      +    {
      +      "description": "Side effects that fire once the call ends: email, webhook, Omni CRM,\nCloud WhatsApp, a workflow, Google Sheets, Slack, Salesforce, HubSpot\nor Zoho Bigin.\n",
      +      "properties": {
      +        "cloud_whatsapp": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Send a Cloud WhatsApp template message after the call.",
      +              "properties": {
      +                "phone_number_id": {
      +                  "description": "The id of your organization's Cloud WhatsApp number the\nmessage is sent from.\n",
      +                  "type": "integer"
      +                },
      +                "template_id": {
      +                  "description": "An approved template on that number. A template that is not\napproved, or that belongs to another number, is refused.\n",
      +                  "type": "integer"
      +                },
      +                "template_variables": {
      +                  "description": "Which extracted variable fills each template placeholder.",
      +                  "items": {
      +                    "properties": {
      +                      "extracted_var": {
      +                        "description": "The key of the extracted variable whose value fills this placeholder.",
      +                        "example": "customer_name",
      +                        "type": "string"
      +                      },
      +                      "index": {
      +                        "description": "The placeholder number, as a string.",
      +                        "example": "1",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "templates": {
      +                  "description": "One or more templates to send, each with its variable mapping.",
      +                  "items": {
      +                    "description": "One Cloud WhatsApp template to send after the call.",
      +                    "properties": {
      +                      "always_send": {
      +                        "description": "Send this template after every call, whichever templates the model chooses.",
      +                        "type": "boolean"
      +                      },
      +                      "template_id": {
      +                        "description": "An approved template on the chosen number.",
      +                        "type": "integer"
      +                      },
      +                      "usage_description": {
      +                        "description": "When this template should be sent. After the call, the model reads\nthese descriptions to choose which templates fit the conversation.\n",
      +                        "example": "Send when the caller books an appointment.",
      +                        "type": "string"
      +                      },
      +                      "variable_mappings": {
      +                        "description": "How to fill each template placeholder.",
      +                        "items": {
      +                          "properties": {
      +                            "extracted_var": {
      +                              "description": "The extracted variable whose value fills this placeholder.",
      +                              "type": "string"
      +                            },
      +                            "fallback_value": {
      +                              "description": "The value to use when the variable is not extracted.",
      +                              "type": "string"
      +                            },
      +                            "index": {
      +                              "description": "The placeholder number, as a string.",
      +                              "example": "1",
      +                              "type": "string"
      +                            },
      +                            "mode": {
      +                              "description": "Which input the dashboard shows for this placeholder. It\ndoes not change the value sent: a `static_value` is used\nfirst, then the extracted variable, then `fallback_value`.\n",
      +                              "enum": [
      +                                "variable",
      +                                "static"
      +                              ],
      +                              "type": "string"
      +                            },
      +                            "static_value": {
      +                              "description": "A fixed value for this placeholder. When set, it is used\ninstead of the extracted variable.\n",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "email": {
      +          "properties": {
      +            "enabled": {
      +              "type": "boolean"
      +            },
      +            "extracted_variables": {
      +              "description": "Variables the model should pull out of the conversation for the email.",
      +              "items": {
      +                "properties": {
      +                  "key": {
      +                    "description": "Unique identifier for the variable in the post-call payload.",
      +                    "example": "customer_issue",
      +                    "type": "string"
      +                  },
      +                  "prompt": {
      +                    "description": "Instruction for the model on what to pull out of the conversation.",
      +                    "example": "Identify the main issue the customer is experiencing.",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "key",
      +                  "prompt"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "include": {
      +              "description": "Which sections to include in the email body.",
      +              "items": {
      +                "enum": [
      +                  "summary",
      +                  "extracted_variables",
      +                  "fullConversation",
      +                  "sentiment"
      +                ],
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "recipients": {
      +              "description": "Email addresses that should receive the notification.",
      +              "example": [
      +                "support@example.com"
      +              ],
      +              "items": {
      +                "format": "email",
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "trigger_call_statuses": {
      +              "description": "Call outcomes that should fire this action. Omit to\nuse the default (`completed`, `voicemail_detected`).\nPass an explicit list to also include failed calls,\nno-answers, busy signals, etc.\n",
      +              "example": [
      +                "completed",
      +                "voicemail_detected"
      +              ],
      +              "items": {
      +                "enum": [
      +                  "completed",
      +                  "voicemail_detected",
      +                  "failed",
      +                  "no-answer",
      +                  "busy",
      +                  "canceled"
      +                ],
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "google_sheets": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Append the call to a Google Sheet. Sending this key replaces the\nagent's Google Sheets actions; leaving it out keeps them.\n",
      +              "properties": {
      +                "integration_id": {
      +                  "description": "Required. The id of your Google Sheets integration.",
      +                  "type": "integer"
      +                },
      +                "spreadsheet_id": {
      +                  "description": "Required. The id in the sheet's URL, the part after `/d/`.",
      +                  "type": "string"
      +                },
      +                "spreadsheet_name": {
      +                  "type": "string"
      +                },
      +                "worksheet_name": {
      +                  "description": "The tab to append to. Defaults to `Sheet1`.",
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "hubspot": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Create a HubSpot record from the call. Sends a fixed set of\nfields for the object, so it takes no `extracted_variables`.\nSending this key replaces the agent's HubSpot actions; leaving\nit out keeps them.\n",
      +              "properties": {
      +                "integration_id": {
      +                  "description": "Required. The id of your HubSpot integration.",
      +                  "type": "integer"
      +                },
      +                "object_name": {
      +                  "description": "Required.",
      +                  "enum": [
      +                    "contact",
      +                    "company",
      +                    "deal",
      +                    "ticket"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "omni_crm": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Save the call to Omni CRM.",
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "salesforce": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Create a Salesforce record from the call. Sends a fixed set of\nfields for the object, so it takes no `extracted_variables`.\nSending this key replaces the agent's Salesforce actions;\nleaving it out keeps them.\n",
      +              "properties": {
      +                "integration_id": {
      +                  "description": "Required. The id of your Salesforce integration.",
      +                  "type": "integer"
      +                },
      +                "object_name": {
      +                  "description": "Defaults to `Lead`.",
      +                  "enum": [
      +                    "Lead",
      +                    "Contact",
      +                    "Account",
      +                    "Opportunity",
      +                    "Case",
      +                    "Task",
      +                    "Product"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "slack": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Post the call to a Slack channel. Sending this key replaces the\nagent's Slack actions; leaving it out keeps them.\n",
      +              "properties": {
      +                "channel_id": {
      +                  "description": "The channel id. Send this or `channel_name`.",
      +                  "type": "string"
      +                },
      +                "channel_name": {
      +                  "description": "The channel name. Send this or `channel_id`.",
      +                  "type": "string"
      +                },
      +                "integration_id": {
      +                  "description": "Required. The id of your Slack integration.",
      +                  "type": "integer"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "webhook": {
      +          "properties": {
      +            "enabled": {
      +              "type": "boolean"
      +            },
      +            "extracted_variables": {
      +              "description": "Variables the model should pull out of the conversation for the webhook.",
      +              "items": {
      +                "properties": {
      +                  "key": {
      +                    "description": "Unique identifier for the variable in the post-call payload.",
      +                    "example": "customer_issue",
      +                    "type": "string"
      +                  },
      +                  "prompt": {
      +                    "description": "Instruction for the model on what to pull out of the conversation.",
      +                    "example": "Identify the main issue the customer is experiencing.",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "key",
      +                  "prompt"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "include": {
      +              "description": "Which sections to include in the webhook body.",
      +              "items": {
      +                "enum": [
      +                  "summary",
      +                  "extracted_variables",
      +                  "fullConversation",
      +                  "sentiment"
      +                ],
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "trigger_call_statuses": {
      +              "description": "Call outcomes that should fire this webhook. Omit to\nuse the default (`completed`, `voicemail_detected`).\n",
      +              "example": [
      +                "completed",
      +                "failed"
      +              ],
      +              "items": {
      +                "enum": [
      +                  "completed",
      +                  "voicemail_detected",
      +                  "failed",
      +                  "no-answer",
      +                  "busy",
      +                  "canceled"
      +                ],
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "url": {
      +              "description": "Endpoint that receives a POST with the call payload.",
      +              "example": "https://your-webhook-endpoint.com/omnidim-callback",
      +              "format": "uri",
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "workflow": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Trigger a workflow after the call.",
      +              "properties": {
      +                "workflow_id": {
      +                  "description": "The id of the workflow to run.",
      +                  "type": "integer"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "zoho_bigin": {
      +          "allOf": [
      +            {
      +              "description": "Settings every post-call channel shares.",
      +              "properties": {
      +                "enabled": {
      +                  "type": "boolean"
      +                },
      +                "extracted_variables": {
      +                  "description": "Variables the model should pull out of the conversation for this action.",
      +                  "items": {
      +                    "properties": {
      +                      "key": {
      +                        "description": "Unique identifier for the variable in the post-call payload.",
      +                        "example": "customer_issue",
      +                        "type": "string"
      +                      },
      +                      "prompt": {
      +                        "description": "Instruction for the model on what to pull out of the conversation.",
      +                        "example": "Identify the main issue the customer is experiencing.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "key",
      +                      "prompt"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "include": {
      +                  "description": "Which sections to include in this action.",
      +                  "items": {
      +                    "enum": [
      +                      "summary",
      +                      "extracted_variables",
      +                      "fullConversation",
      +                      "sentiment"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "trigger_call_statuses": {
      +                  "description": "Call outcomes that fire this action. Omit to use the default\n(`completed`, `voicemail_detected`).\n",
      +                  "items": {
      +                    "enum": [
      +                      "completed",
      +                      "voicemail_detected",
      +                      "failed",
      +                      "no-answer",
      +                      "busy",
      +                      "canceled"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "description": "Log the call in Zoho Bigin. Sending this key replaces the\nagent's Zoho Bigin actions; leaving it out keeps them.\n",
      +              "properties": {
      +                "create_call_log": {
      +                  "description": "Log the call. Defaults to true.",
      +                  "type": "boolean"
      +                },
      +                "create_contact": {
      +                  "description": "Create a contact when no contact matches. Defaults to true.",
      +                  "type": "boolean"
      +                },
      +                "integration_id": {
      +                  "description": "Required. The id of your Zoho Bigin integration.",
      +                  "type": "integer"
      +                },
      +                "update_contact": {
      +                  "description": "Update a matching contact with what the call captured. Defaults to true.",
      +                  "type": "boolean"
      +                }
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    }
      +  ],
      +  "description": "Post-call actions for this call only, in the same shape as\n`post_call_actions` on agent create. Email and webhook only.\nThey replace the agent's own post-call actions for this call;\nthe agent is not changed. Items that cannot be used are\nskipped and listed in `post_call_actions_ignored`, and the\ncall still goes out. Can also be sent inside `call_context`.\n"
      +}
  2. Changed1 schema field changedv0.10.1
    • addedInput schema / properties / requestBody / properties / metadata
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Key-value pairs stored on the call for your own tracking\n(e.g. CRM or lead IDs). Not shared with the agent; echoed\nback as `metadata` in the post-call webhook so you can\ncorrelate results with your records.\n",
      +  "type": "object"
      +}
  3. First observedv0.9.0

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the agent knows this is a mutating, externally-visible operation. The description adds the number-format requirement but says nothing about real-world consequences (a live outbound call is placed), cost, or that post-call actions supplied here override the agent's configured actions for this call only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and followed by the one hard constraint. Nothing is padded, though the parenthetical '(Tags: Calls)' is noise that adds no selection value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that triggers a real, destructive, open-world outbound call with a deep nested payload, the description is thin: no return value (e.g. call id), no auth or balance prerequisites, and no differentiation from bulk-call siblings. With no output schema, the description should carry more of that burden.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single requestBody parameter is documented exhaustively, including agent_id, to_number, metadata, languages and the large post_call_actions tree. The description merely restates the to_number format already in the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Initiate a call to a phone number using a specified agent') with a concrete constraint on the number format. It is clear on its own but never distinguishes itself from sibling tools such as createBulkCall or createSession, which an agent could reasonably confuse with a single outbound dispatch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is a data-format rule ('must include a country code with a leading plus'), which is really a parameter constraint. There is no statement of when to use this versus createBulkCall for volume dialing, nor any prerequisite such as needing a valid agent_id or an available from number.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.