Skip to main content

AI Tools and Permissions

How Bliro's AI agents act on connected systems: what tools are, permission levels, how "Ask for Permission" works in chat and on calls, and how Bliro enforces denied tools at both the model boundary and the server.

Written by Martin Thoma

This guide explains the AI Tools and Permissions model that powers Bliro's agentic integrations. It is intended for IT, security, and CRM stakeholders who want to understand how Bliro's AI agents act on third-party systems and how that activity is controlled.

Not every capability described in this article is available for every integration — some integration targets only support a subset of the tools, field controls, or configuration options described below. Where an option isn't available for a given integration, it simply won't appear in that integration's settings.

Overview

Bliro's AI agents act on connected Integrations (CRM, calendar, communication platforms, and others) through a fixed set of tools. Each tool represents one specific action on one specific object type, and each tool has a permission level that controls when, if ever, Bliro's agents may use it. Tools and permissions are configured by organization administrators and apply across the entire Bliro organization.

What is a Tool

A tool is a single, well-defined action on a specific object in a connected system. Each tool is defined by three fields:

Field

Description

Title

Auto-generated as <Operation> <Object>, for example Read Account, Create Contact, Update Lead, Search Opportunity.

Description

A natural-language description that tells Bliro's AI agent when the tool is appropriate to pick.

Permission

One of Always Allow, Ask for Permission, or Deny. See below.

Tools follow a strict one-object-per-operation constraint: a single tool always performs exactly one operation (Read, Create, Update, or Search) on exactly one object type. Multi-step actions are composed by the AI agent from several tool calls.

Predefined and Custom Tools

Each agentic integration ships with a predefined catalog of tools with sensible default permissions, so the integration is usable immediately after connecting.

For CRM integrations, administrators can additionally create custom tools by selecting a CRM object that is not yet covered. Bliro automatically generates the corresponding Read, Create, Update, and Search tools for that object. You can restrict which fields each tool exposes (see "Choosing Which CRM Fields the Agent Can See" below) or, for advanced cases, define a tool's inputs and outputs with a custom JSON Schema (see "Advanced: Custom JSON Schema Tools" below). Custom tool creation is currently available for CRM integrations only.

Choosing Which CRM Fields the Agent Can See

By default, a CRM tool exposes every field Bliro can read or write for that object. Administrators can narrow this per tool:

  • For Read tools, restrict which fields are returned to the agent.

  • For Create and Update tools, restrict which fields the agent is allowed to send, and which fields are returned in the result.

Fields left out of a tool's list are invisible to Bliro's AI agent for that tool — it cannot read, receive, or set them, even if a different tool exposes the same fields.

To configure field selection:

  1. In Bliro, open Integrations and select the CRM integration.

  2. In Tools & Permissions, open the tool you want to restrict.

  3. Under Fields, select which fields to include for Read (returned fields) or for Create/Update (input fields and returned fields).

  4. Save your changes.

Advanced: Custom JSON Schema Tools (Power Users)

For CRM objects with unusual structures, or when you need precise control over exactly which parameters the agent can send and what shape it receives back, Bliro supports defining a tool's inputs and outputs entirely with a hand-written JSON Schema, instead of generating them automatically from the CRM object.

This is an advanced option intended for teams comfortable authoring JSON Schema and familiar with their CRM's underlying field/API names. A misconfigured schema can cause a tool to fail or reject valid agent requests.

To use it:

  • In Bliro, open Integrations and select the CRM integration.

  • Click Add tool and choose Advanced (instead of the default CRM-object picker).

  • Paste the JSON Schema for the tool's inputs and, optionally, its outputs.

  • Configure the permission level as with any other tool.

We recommend using the standard CRM-object flow described above unless you have a specific reason to need full schema control.

Pinning a Permanent Filter on an Advanced Search Tool

For Search sub-tools built with a hand-written JSON Schema (see "Advanced: Custom JSON Schema Tools" above), administrators can pin a permanent filter that applies to every search the AI agent runs with that tool. The filter is set once, in the tool's JSON, and cannot be removed or overridden by the AI agent or by the user. A typical use is excluding deactivated or archived records, so the agent only surfaces records that are still relevant. Without a pinned filter, a search returns every record matching the search term, archived and inactive entries included, and the user has to identify the outdated ones themselves.

This option is only available for Search tools configured in Advanced mode. The standard Search tool generated from the CRM-object picker does not support a permanent filter.

To pin a permanent filter on an Advanced CRM Search tool:

  1. In Bliro, open Integrations and select the CRM integration.

  2. In Tools & Permissions, open the Advanced tool whose Search sub-tool you want to restrict (or click Add tool → Advanced to create one).

  3. In the tool's JSON, add a filter array under search, with one entry per condition — each giving a field, an op (eq, ne, gt, ge, lt, le, in, is_null, is_not_null), and a value. For example, to exclude deactivated records:

    1. "search": {"filter": [{ "field": "statuscode", "op": "ne", "value": 2 }] }

  4. Save your changes. The filter now applies to every search the AI agent runs with this tool.

A permanent filter narrows results, it does not widen access. It cannot give the AI agent access to records the connected user is not permitted to see anyway.

Letting the AI Agent Narrow Advanced Searches on Its Own

On top of the permanent filter, administrators can add a filterableFields list to a Search sub-tool's JSON, naming fields the AI agent is allowed to filter on itself. The agent then adds a filter when it fits the request - asking only for open opportunities, for instance - so it lands on the right record in one step instead of working through a long result list. The agent can only filter on the fields in this list; every other field stays unavailable to it.

This option is only available for Search tools configured in Advanced mode.

To publish filterable fields for an Advanced CRM Search tool:

  1. In Bliro, open Integrations and select the CRM integration.

  2. In Tools & Permissions, open the Advanced tool that includes the Search sub-tool.

  3. In the tool's JSON, add a filterableFields array under search, one entry per field, each with a field, a type, and the ops it allows (defaults to eq), and optionally a closed enum of values and a description. For example:

    1. "search": { "filterableFields": [ { "field": "industrycode", "type": "string", "ops": ["eq"], "description": "Industry" } ] }

  4. Save your changes.

Keep this list short. Two to four fields that map clearly to how your team qualifies records work best; each additional field gives the AI agent one more option to weigh and makes its choice less predictable. The permanent filter always applies on top: a filter the agent chooses narrows the result further, it never overrides the pinned filter.

Permission Levels

Every tool, predefined or custom, must have exactly one of three permission levels.

Level

Behavior

Default applied to

Always Allow

Bliro's AI agent may invoke the tool without prompting the user. Best for low-risk read operations.

Read and Search tools

Ask for Permission

Each invocation pauses until the user approves it. Best for any action with side effects.

Create and Update tools

Deny

The tool is disabled. Bliro's AI agents cannot invoke it under any circumstance.

None. Admin-selected when stricter control is required

How "Ask for Permission" Works

When a tool is set to Ask for Permission, Bliro's AI agent never runs the tool without explicit user consent for that specific invocation. The approval prompt is delivered in-context, depending on how the user is interacting with the agent:

  • In the agent chat: an overlay appears above the chat input showing the requested action and its parameters. The user approves or declines before the action proceeds.

  • In a phone-call session with the agent: the agent explicitly asks the user for verbal permission to perform the action before doing so.

If the user does not respond, the action is not executed. Approval is per-invocation: a previous "yes" does not authorize future invocations of the same tool.

Enforcement

Permission decisions are enforced by Bliro's infrastructure, not by the language model's adherence to instructions. Two layers operate together:

  1. Tool gating at the model boundary. Tools that are denied or that have not been added to the configuration at all are never exposed to the AI agent's tool list. The model literally cannot "see" them and therefore cannot call them.

  2. Server-side authorization on every call. Every tool invocation the model does emit is independently authorized by Bliro's backend against the current permission configuration before being dispatched to the third-party system. A call that somehow reached this layer for a denied tool would be rejected.

Both layers hold simultaneously, so a tool that is denied cannot be executed under any circumstance even if the AI agent "wanted" to, or if a prompt injection attempted to convince it otherwise.

Where to Configure

Tools and permissions are managed per integration:

  1. In Bliro, open Integrations and select the relevant integration (for example, Microsoft Dynamics or HubSpot).

  2. Use the Tools & Permissions section to add, remove, or reconfigure tools and to change permission levels.

  3. (CRM only) Click Add tool to create new tools by selecting a CRM object. Bliro will automatically generate the Read, Create, Update, and Search tools for that object. Use the Fields option to restrict which fields a tool can see or set, or choose Advanced to define a tool with a custom JSON Schema.

Only organization administrators can change these settings. Changes apply to the entire Bliro organization.

Skills: Composing Tools into Workflows

Tools define individual actions. Skills compose those actions into repeatable, multi-step workflows. A skill tells the AI agent how to accomplish a complete task (for example, "create a visit report from this meeting") by specifying which tools to call, in what order, what data to collect, and what business rules to follow.

Skills are configured separately from tools under Settings > Organisation > Skills. A skill cannot bypass tool permissions: if a tool requires user approval, the agent will still ask, even when acting within a skill.

For a full explanation of how skills work and how to configure them, see AI Skills.

Contact and Help

Questions about how a specific tool behaves, or how to harden defaults for your organization? Contact [email protected].

Did this answer your question?