Subscribe to the latest product updates
New: Smarter Conditions & Security Filters
Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=regex].target.Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=group].Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=regex].Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=liquid].Assistant.compliancePlan.securityFilterPlan.filters.Assistant.hooks.do[type=tool].tool.rejectionPlan in all tool calls to prevent accidental tool execution, enforce confirmation steps, and build more robust conversation flows. This helps you to define complex logic for when a tool call should be rejected, enhancing both safety and call experience. Rejection plans can be built using regex conditions, Liquid templates, or logical groups (AND/OR). For example, you can prevent an endCall tool from executing unless the user says goodbye, or block a transfer if the user is actually asking a question.Example:
Assistant.compliancePlan.securityFilterPlan to define how transcripts and messages are filtered against threats like SQL injection, XSS, prompt injection, and more. Choose between sanitize, reject, or replace when threats are detected, and specify custom replacement text. User messages and transcript objects now include:isFiltered: Indicates if content was filtered for security.detectedThreats: Lists detected threats.originalMessage / originalTranscript: Preserves original content if filtering occurred.