Requiply MCP tools
These are the tools Requiply's MCP server offers a connected assistant. Read-only tools can be called freely; every tool that changes something shows a preview first and saves only after you confirm. To see them at work, go to Use cases.
How an assistant works with Requiply
Requiply exposes a small, consistent set of tools. These exist so the assistant can orient itself before touching data:
| Tool | What it does |
|---|---|
whoami | Returns the business profile (currency, language, timezone, working hours and holidays, locations, payment and delivery options), who the assistant is acting as, an access matrix per object type, and the staff members with their permission groups. Assistants call it first in a conversation. |
describe | Schema discovery. Lists the object types the connection can reach, the settings sections, and the guidance topics. For one object type it returns the fields, filters, live values such as booking statuses or categories, your custom fields on bookings, clients, and item groups, and the fields objects_query can filter and group on. For a settings section it returns that section's fields. |
get_guidance | Returns detailed instructions for a task: every macro your organization supports (including your custom fields), template format rules, workflow trigger and action shapes with ready-made recipes, filter operators, the report catalog, the query language, and a map of the app's pages. |
get_profile | Returns the Requiply account the connection signs in as: name, email, and organization. Only on connections signed in as a member. |
search_help | Searches this Knowledge Base for how Requiply works and how to set something up, and reads a page in full. The assistant cites the pages it used. |
Because the macros and workflow shapes come from the tools rather than from the assistant's memory, a template drafted by an assistant uses exactly the macros your organization has.
get_guidance takes one or more of these topics:
| Topic | What it covers |
|---|---|
getting_started | How the tools fit together and the preview-then-confirm convention for writes. |
booking_rules | Working hours, buffers, the request status, and what a booking request does and does not do. |
email_template_macros | Every {{macro}} available in email templates, including your custom fields. |
message_template_macros | Macros and format rules for SMS, Viber, and Telegram message templates. |
export_template_macros | Macros and table column syntax for PDF document templates. |
template_conditionals | {{#if}} blocks and how empty values behave. |
workflow_recipes | Trigger and action shapes with ready-made automation recipes. |
workflow_filters | Filter property names, operators, and value formats for workflows. |
reports_catalog | Which report answers which business question, and its parameters. |
query_language | The syntax of objects_query: fields, operators, dates, grouping, and worked examples. |
app_navigation | Every page of the Requiply web app with its menu path and a link, for "where do I find" and "how do I" questions. |
Records
Records are read with two generic tools and changed with the write tool named for each type. The objectType argument chooses what to work with. Every record that has a page in Requiply carries a url that opens it, and assistants link records with it.
| Object type | Read | Write | Notes |
|---|---|---|---|
booking | Yes | Through bookings_manage; custom fields through objects_manage | Slim rows from search, full items, services, payments, and custom fields from get. The user-visible booking number is reservationOrgId. |
client | Yes | Create, update, custom fields | Exact lookup by email or phone, fuzzy search by name. Create is duplicate-safe. Create and update accept customFields. |
item_group | Yes | Custom fields only | Rentable products with stock, prices, pricing tiers, custom fields, and availability for a date window. Products themselves are edited in the app. |
sale_item | Yes | No | Goods for sale (Sales): name, SKU, barcode, category, sale price, stock on hand (can be negative), sold in the last 30 days. purchaseCost only for accounts with Allow managing stock. Needs Sales on and a Sales permission. |
sale | Yes | Through sales_manage | Sales of goods, standalone or on a booking, newest first. Filters: kind (standalone or booking), status, unpaid, clientId, soldFrom, soldTo. Get returns lines, returns, and payments. The user-visible number is saleOrgId; pass idKind="org" to get by it. |
category | Yes | Create, update | Item categories, nested through parentId. |
service | Yes | Create, update | Add-on services; archive instead of delete. |
location | Yes | Create, update | Pickup and return locations. |
reservation_status | Yes | No | Booking statuses, used to resolve ids for workflows and filters. |
email_template, message_template, export_template | Yes | Through templates_manage | Listed without bodies; the body comes from get. templates_preview renders one against a booking. |
workflow | Yes | Through workflows_manage | Listed with a readable trigger and action summary; get returns the full configuration. |
bundle | Yes | No | Bundles that can be booked, with their items and discount. Pass dates to search to get how many sets are free. Bundles are created and edited in the app. |
conversation | Yes | Through conversations_manage | The Conversations inbox, newest first: channel, contact, linked client, who answers now (AI or a person), owner, status, and unread count. Filters: view (needs_human, mine, ai, closed), period (today, week), channel. Get returns the latest messages and whether a reply can still be sent on that channel. |
comment | Yes | Through comments_manage | Comments on a booking, client, unit, or task. Search needs entityType and entityId (one record's timeline) or mentionsMe=true (comments that mention you, on member connections). System entries are left out unless includeSystem=true. |
| Tool | What it can do |
|---|---|
objects_search | List or search one object type with a free-text query, typed filters (dates, status names, client id, category, availability window, inbox view), and cursor pagination. |
objects_get | Fetch up to 20 records by id with full detail, including custom fields for bookings, clients, and item groups. For bookings and sales, idKind="org" accepts the number shown in the app. |
objects_query | Answer filtered and grouped questions over bookings, clients, item groups, and sales with RQL (Requiply Query Language), a JSON query: conditions combined with AND and OR on any field, including the client, status, items and their category, the balance still owed, and custom fields. It returns matching records with links, or one row per group with counts, sums, averages, and medians, for example revenue per month. Read-only. Money totals need Reporting access. |
objects_manage | Create or update a client, category, service, or location, and set custom field values on an existing booking, client, or item group (set_custom_fields). Requires the matching permission: Allow client management for clients, Allow inventory management for categories and item group custom fields, Allow services management for services, Allow booking management for booking custom fields, and Allow access to settings for locations. |
objects_search finds records by name, number, or a few fixed filters. reports_run answers the standard business reports. objects_query handles the questions in between, such as "bookings in July with a drone that are still unpaid" or "clients with three or more bookings who have not booked since June". Assistants read the query_language guidance topic before their first query.Booking, sales, availability, and pricing tools
| Tool | What it can do |
|---|---|
availability_check | mode="items" returns the item groups with at least one unit free for the whole date range. mode="calendar" returns day-by-day counts per item group. |
pricing_quote | Calculate an exact quote from selected item groups, bundles, services, rental dates, pricing tiers, and an optional client discount. A date without a time is priced from the opening time to the closing time, and the result echoes the dates it used. |
sales_manage | create records a standalone sale of goods at the catalog price, with an optional client (by id, or name with email or phone) and a payment method. The preview lists the lines, the total, stock warnings (stock may go negative, the sale is still allowed), and whether the payment method works; the confirmed call records it and returns a payment link for online methods. Needs Allow selling items. Returns, cancellations, line edits, and marking payments paid are done in the app. |
bookings_manage | create_request drafts a booking in your organization's Status for booking requests (Request unless you changed it under Booking creation). The preview call checks availability, prices the kit, and returns the summary; the confirmed call creates the request. It accepts the booking's customFields, keyed by the field keys describe lists. add_note adds an internal, staff-only note to a booking. Staff whose permission group has Allow booking outside of working hours can ask for a pickup or return outside the schedule, and the tool passes allowOutsideWorkingHours for them. Staff whose group has Allow booking cost adjustments can also pass one adjustment (units, percent, or amount, signed), see Booking cost adjustment. Staff with Allow selling items can pass saleLines to sell goods with the booking at the catalog price: the preview shows them as saleSubtotal, inside the total and never discounted, and their stock drops when the request is created. A request can also include bundles, booked as their items with the bundle discount. |
A booking request never holds inventory and takes no payment. A staff member approves it in the app, and approval re-checks availability. Status changes, payments, and item edits on an existing booking are done in the app.
Dates and times are your local time. Assistants pass dates and times without a time zone, for example 2026-10-06T10:00:00, and Requiply reads them in the organization's time zone from Date & time settings, daylight saving included. A date with no time, such as 2026-10-06, means the opening time for the pickup and the closing time for the return. Values that carry their own offset, such as 2026-10-06T10:00:00+03:00, are used as given.
Working hours are checked in the preview. When the requested pickup or return falls on a closed day or outside working hours, the preview says so in workingHours with the nearest working day or the allowed window, and the assistant does not ask you to confirm. It suggests another time instead.
Every business rule is checked in the preview. When a request cannot be booked as asked, the preview returns bookable: false and a list of problems, each with a code, the reason, and a nextStep the assistant acts on before asking you to confirm:
| Code | Meaning | What the assistant does next |
|---|---|---|
working_hours | Pickup or return on a closed day or outside working hours. | Suggests the nearest valid time. |
minimum_duration | Shorter than the Minimum booking duration from Booking duration. | Offers the earliest return that would be accepted. |
unavailable | Not enough free stock for those dates. | Says how many are free and suggests other dates, a smaller quantity, or a similar item. |
not_found | An item, service, or client was not found. | Looks it up again, or asks you for the client's details. |
not_allowed | Your permission group or the plan does not allow part of the request. | Offers to continue without it, for example without the adjustment. |
invalid_request | Something in the request is malformed, for example the return before the pickup. | Fixes the request and previews again. |
system_error | A temporary failure. | Tries again once. |
Problems are returned as ordinary answers, not as errors, so the assistant always tells you what happened and what it suggests instead of stopping silently. pricing_quote and availability_check answer the same way: availability is checked for the exact times asked, including your booking buffers.
No double bookings from a repeated "yes". If you confirm the same request twice within 30 minutes (same client, dates, and kit), the second call returns the number of the request already created instead of creating another one.
Conversations and comments
| Tool | What it can do |
|---|---|
conversations_manage | Inbox actions in the name of the signed-in member. reply sends a message to the customer on their channel (Telegram, Instagram, Viber, OLX, or the web chat); the member becomes the owner and the AI assistant stops answering that conversation. update hands the conversation to a person or back to the AI (handler), closes or reopens it (status), or makes the member the owner or clears the owner (assign). The preview shows the channel, the person, the current owner, whether the channel's reply window is still open, and any reason the reply would be refused. A conversation another member owns is only answered when you ask the assistant to take it over. Needs Allow access to conversations and a connection signed in as a member; organization API keys cannot reply. |
comments_manage | add writes an internal comment on a booking, client, unit, or task, in the name of the signed-in member (an organization API key writes it without an author). mentionUserIds mentions team members from whoami, who get a push notification, and parentCommentId makes it a reply to another comment on the same record. Customers never see these comments. |
Reporting
| Tool | What it can answer |
|---|---|
reports_run | One tool with a report argument: revenue, bookings_summary, utilization, top_items, top_clients, outstanding, overdue, pipeline, and inventory_status (units on rent right now). Dates default to the last 30 days. Requires Reporting access. |
For questions the standard reports do not cover, such as revenue per month for one custom field value, the assistant uses objects_query (see Records).
Configuration tools
Reading and checking are separate tools from changing, so an assistant can look at your setup without ever proposing a change. The read tools work on every connection; the write tools require Allow access to settings, which the Administrators group always has.
| Tool | Reads or writes | What it can do |
|---|---|---|
settings_get | Read | Returns the current settings of one section: organization (name, description, contact details, language, plus your organization-level custom fields), working_hours (timezone and weekly schedule), booking_rules (date picker, minimum duration, buffers), deposits, and features. |
settings_manage | Write | Updates one section with only the fields to change, and shows the before/after difference first. The organization section also accepts customFields. Features that need a higher plan are reported as locked and cannot be turned on here. |
templates_preview | Read | Renders an email, message (SMS, Viber, Telegram), or export (PDF document) template against a real booking without saving anything: a saved template by id, or an unsaved draft. Returns the subject, HTML, and plain text, and lists any macro the organization does not have. |
templates_manage | Write | Creates, updates, and deletes email, message, and export templates. The preview validates the template and lists unknown macros. Delete refuses a template that a workflow or another template still uses. |
workflows_validate | Read | Checks a full or partial automation without saving it: resolves status and template ids to names, checks that staff ids are members, checks that a message template format fits the channel, and warns when a messaging provider is not connected. |
workflows_manage | Write | Creates, updates, enables or disables (set_enabled), and deletes automations. Besides the email, push, and client message actions, it can set up change_booking_status and send_group_push_notification, which pushes to permission groups by groupIds; whoami lists each member's group. |
Templates and workflows are listed and read with objects_search and objects_get like any other record.
Feedback
| Tool | What it does |
|---|---|
send_feedback | Sends your feedback about these tools to the Requiply team: a tool that failed or returned wrong data, something you needed that no tool can do, or praise. It holds your own words without client names, emails, or phone numbers, and changes nothing in your organization. |