---
title: "Requiply MCP tools"
description: "Every tool an assistant connected to Requiply can call: orientation and guidance, records, bookings and sales, availability and pricing, conversations, comments, reports, and configuration."
canonical_url: "https://requiply.com/docs/en/ai/mcp/tools"
---
# Requiply MCP tools

> Every tool an assistant connected to Requiply can call: orientation and guidance, records, bookings and sales, availability and pricing, conversations, comments, reports, and configuration.

These are the tools Requiply's MCP server offers a [connected assistant](https://requiply.com/docs/en/ai/mcp/connecting). 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](https://requiply.com/docs/en/ai/mcp/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:

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        <code>
          whoami
        </code>
      </strong>
    </td>
    
    <td>
      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.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          describe
        </code>
      </strong>
    </td>
    
    <td>
      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 <a href="https://requiply.com/docs/en/guides/settings/fields/entity-fields">
        custom fields
      </a>
      
       on bookings, clients, and item groups, and the fields <code>
        objects_query
      </code>
      
       can filter and group on. For a settings section it returns that section's fields.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          get_guidance
        </code>
      </strong>
    </td>
    
    <td>
      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.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          get_profile
        </code>
      </strong>
    </td>
    
    <td>
      Returns the Requiply account the connection signs in as: name, email, and organization. Only on connections signed in as a member.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          search_help
        </code>
      </strong>
    </td>
    
    <td>
      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.
    </td>
  </tr>
</tbody>
</table>

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:

<table>
<thead>
  <tr>
    <th>
      Topic
    </th>
    
    <th>
      What it covers
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        getting_started
      </code>
    </td>
    
    <td>
      How the tools fit together and the preview-then-confirm convention for writes.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        booking_rules
      </code>
    </td>
    
    <td>
      Working hours, buffers, the request status, and what a booking request does and does not do.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        email_template_macros
      </code>
    </td>
    
    <td>
      Every <code>
        {{macro}}
      </code>
      
       available in email templates, including your custom fields.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        message_template_macros
      </code>
    </td>
    
    <td>
      Macros and format rules for SMS, Viber, and Telegram message templates.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        export_template_macros
      </code>
    </td>
    
    <td>
      Macros and table column syntax for PDF document templates.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        template_conditionals
      </code>
    </td>
    
    <td>
      <code>
        {{#if}}
      </code>
      
       blocks and how empty values behave.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        workflow_recipes
      </code>
    </td>
    
    <td>
      Trigger and action shapes with ready-made automation recipes.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        workflow_filters
      </code>
    </td>
    
    <td>
      Filter property names, operators, and value formats for workflows.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        reports_catalog
      </code>
    </td>
    
    <td>
      Which report answers which business question, and its parameters.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        query_language
      </code>
    </td>
    
    <td>
      The syntax of <strong>
        <code>
          objects_query
        </code>
      </strong>
      
      : fields, operators, dates, grouping, and worked examples.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        app_navigation
      </code>
    </td>
    
    <td>
      Every page of the Requiply web app with its menu path and a link, for "where do I find" and "how do I" questions.
    </td>
  </tr>
</tbody>
</table>

## 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.

<table>
<thead>
  <tr>
    <th>
      Object type
    </th>
    
    <th>
      Read
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      Notes
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        booking
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Through <strong>
        <code>
          bookings_manage
        </code>
      </strong>
      
      ; custom fields through <strong>
        <code>
          objects_manage
        </code>
      </strong>
    </td>
    
    <td>
      Slim rows from search, full items, services, payments, and custom fields from get. The user-visible booking number is <code>
        reservationOrgId
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        client
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create, update, custom fields
    </td>
    
    <td>
      Exact lookup by email or phone, fuzzy search by name. Create is duplicate-safe. Create and update accept <code>
        customFields
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        item_group
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Custom fields only
    </td>
    
    <td>
      Rentable products with stock, prices, pricing tiers, custom fields, and availability for a date window. Products themselves are edited in the app.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        sale_item
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      No
    </td>
    
    <td>
      Goods for sale (<a href="https://requiply.com/docs/en/guides/sales">
        Sales
      </a>
      
      ): name, SKU, barcode, category, sale price, stock on hand (can be negative), sold in the last 30 days. <code>
        purchaseCost
      </code>
      
       only for accounts with <strong>
        Allow managing stock
      </strong>
      
      . Needs Sales on and a Sales permission.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        sale
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Through <strong>
        <code>
          sales_manage
        </code>
      </strong>
    </td>
    
    <td>
      Sales of goods, standalone or on a booking, newest first. Filters: <code>
        kind
      </code>
      
       (standalone or booking), <code>
        status
      </code>
      
      , <code>
        unpaid
      </code>
      
      , <code>
        clientId
      </code>
      
      , <code>
        soldFrom
      </code>
      
      , <code>
        soldTo
      </code>
      
      . Get returns lines, returns, and payments. The user-visible number is <code>
        saleOrgId
      </code>
      
      ; pass <code>
        idKind="org"
      </code>
      
       to get by it.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        category
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create, update
    </td>
    
    <td>
      Item categories, nested through <code>
        parentId
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        service
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create, update
    </td>
    
    <td>
      Add-on services; archive instead of delete.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        location
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create, update
    </td>
    
    <td>
      Pickup and return locations.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        reservation_status
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      No
    </td>
    
    <td>
      Booking statuses, used to resolve ids for workflows and filters.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        email_template
      </code>
      
      , <code>
        message_template
      </code>
      
      , <code>
        export_template
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Through <strong>
        <code>
          templates_manage
        </code>
      </strong>
    </td>
    
    <td>
      Listed without bodies; the body comes from get. <strong>
        <code>
          templates_preview
        </code>
      </strong>
      
       renders one against a booking.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        workflow
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Through <strong>
        <code>
          workflows_manage
        </code>
      </strong>
    </td>
    
    <td>
      Listed with a readable trigger and action summary; get returns the full configuration.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        bundle
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      No
    </td>
    
    <td>
      <a href="https://requiply.com/docs/en/guides/inventory/bundles">
        Bundles
      </a>
      
       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.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        conversation
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Through <strong>
        <code>
          conversations_manage
        </code>
      </strong>
    </td>
    
    <td>
      The <a href="https://requiply.com/docs/en/guides/conversations/inbox">
        Conversations inbox
      </a>
      
      , newest first: channel, contact, linked client, who answers now (AI or a person), owner, status, and unread count. Filters: <code>
        view
      </code>
      
       (<code>
        needs_human
      </code>
      
      , <code>
        mine
      </code>
      
      , <code>
        ai
      </code>
      
      , <code>
        closed
      </code>
      
      ), <code>
        period
      </code>
      
       (<code>
        today
      </code>
      
      , <code>
        week
      </code>
      
      ), <code>
        channel
      </code>
      
      . Get returns the latest messages and whether a reply can still be sent on that channel.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        comment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Through <strong>
        <code>
          comments_manage
        </code>
      </strong>
    </td>
    
    <td>
      <a href="https://requiply.com/docs/en/guides/conversations/comments">
        Comments
      </a>
      
       on a booking, client, unit, or task. Search needs <code>
        entityType
      </code>
      
       and <code>
        entityId
      </code>
      
       (one record's timeline) or <code>
        mentionsMe=true
      </code>
      
       (comments that mention you, on member connections). System entries are left out unless <code>
        includeSystem=true
      </code>
      
      .
    </td>
  </tr>
</tbody>
</table>

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      What it can do
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        <code>
          objects_search
        </code>
      </strong>
    </td>
    
    <td>
      List or search one object type with a free-text <code>
        query
      </code>
      
      , typed <code>
        filters
      </code>
      
       (dates, status names, client id, category, availability window, inbox view), and cursor pagination.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          objects_get
        </code>
      </strong>
    </td>
    
    <td>
      Fetch up to 20 records by id with full detail, including custom fields for bookings, clients, and item groups. For bookings and sales, <code>
        idKind="org"
      </code>
      
       accepts the number shown in the app.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          objects_query
        </code>
      </strong>
    </td>
    
    <td>
      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 <strong>
        Reporting access
      </strong>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          objects_manage
        </code>
      </strong>
    </td>
    
    <td>
      Create or update a client, category, service, or location, and set custom field values on an existing booking, client, or item group (<code>
        set_custom_fields
      </code>
      
      ). Requires the matching permission: <strong>
        Allow client management
      </strong>
      
       for clients, <strong>
        Allow inventory management
      </strong>
      
       for categories and item group custom fields, <strong>
        Allow services management
      </strong>
      
       for services, <strong>
        Allow booking management
      </strong>
      
       for booking custom fields, and <strong>
        Allow access to settings
      </strong>
      
       for locations.
    </td>
  </tr>
</tbody>
</table>

<note>

**When the assistant uses which read tool.** `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.

</note>

## Booking, sales, availability, and pricing tools

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      What it can do
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        <code>
          availability_check
        </code>
      </strong>
    </td>
    
    <td>
      <code>
        mode="items"
      </code>
      
       returns the item groups with at least one unit free for the whole date range. <code>
        mode="calendar"
      </code>
      
       returns day-by-day counts per item group.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          pricing_quote
        </code>
      </strong>
    </td>
    
    <td>
      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.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          sales_manage
        </code>
      </strong>
    </td>
    
    <td>
      <code>
        create
      </code>
      
       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 <strong>
        Allow selling items
      </strong>
      
      . Returns, cancellations, line edits, and marking payments paid are done in the app.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          bookings_manage
        </code>
      </strong>
    </td>
    
    <td>
      <code>
        create_request
      </code>
      
       drafts a booking in your organization's <strong>
        Status for booking requests
      </strong>
      
       (<em>
        Request
      </em>
      
       unless you changed it under <a href="https://requiply.com/docs/en/guides/settings/bookings/booking-creation#choosing-the-starting-statuses">
        Booking creation
      </a>
      
      ). The preview call checks availability, prices the kit, and returns the summary; the confirmed call creates the request. It accepts the booking's <code>
        customFields
      </code>
      
      , keyed by the field keys <strong>
        <code>
          describe
        </code>
      </strong>
      
       lists. <code>
        add_note
      </code>
      
       adds an internal, staff-only note to a booking. Staff whose permission group has <strong>
        Allow booking outside of working hours
      </strong>
      
       can ask for a pickup or return outside the schedule, and the tool passes <code>
        allowOutsideWorkingHours
      </code>
      
       for them. Staff whose group has <strong>
        Allow booking cost adjustments
      </strong>
      
       can also pass one <code>
        adjustment
      </code>
      
       (<code>
        units
      </code>
      
      , <code>
        percent
      </code>
      
      , or <code>
        amount
      </code>
      
      , signed), see <a href="https://requiply.com/docs/en/guides/bookings/changing/cost-adjustment#through-the-api-and-the-ai-assistant">
        Booking cost adjustment
      </a>
      
      . Staff with <strong>
        Allow selling items
      </strong>
      
       can pass <code>
        saleLines
      </code>
      
       to sell goods with the booking at the catalog price: the preview shows them as <code>
        saleSubtotal
      </code>
      
      , inside the total and never discounted, and their stock drops when the request is created. A request can also include <code>
        bundles
      </code>
      
      , booked as their items with the bundle discount.
    </td>
  </tr>
</tbody>
</table>

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](https://requiply.com/docs/en/guides/settings/organization/date-and-time), 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:

<table>
<thead>
  <tr>
    <th>
      Code
    </th>
    
    <th>
      Meaning
    </th>
    
    <th>
      What the assistant does next
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        working_hours
      </code>
    </td>
    
    <td>
      Pickup or return on a closed day or outside working hours.
    </td>
    
    <td>
      Suggests the nearest valid time.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        minimum_duration
      </code>
    </td>
    
    <td>
      Shorter than the <strong>
        Minimum booking duration
      </strong>
      
       from <a href="https://requiply.com/docs/en/guides/settings/bookings/booking-duration">
        Booking duration
      </a>
      
      .
    </td>
    
    <td>
      Offers the earliest return that would be accepted.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        unavailable
      </code>
    </td>
    
    <td>
      Not enough free stock for those dates.
    </td>
    
    <td>
      Says how many are free and suggests other dates, a smaller quantity, or a similar item.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        not_found
      </code>
    </td>
    
    <td>
      An item, service, or client was not found.
    </td>
    
    <td>
      Looks it up again, or asks you for the client's details.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        not_allowed
      </code>
    </td>
    
    <td>
      Your permission group or the plan does not allow part of the request.
    </td>
    
    <td>
      Offers to continue without it, for example without the adjustment.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        invalid_request
      </code>
    </td>
    
    <td>
      Something in the request is malformed, for example the return before the pickup.
    </td>
    
    <td>
      Fixes the request and previews again.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        system_error
      </code>
    </td>
    
    <td>
      A temporary failure.
    </td>
    
    <td>
      Tries again once.
    </td>
  </tr>
</tbody>
</table>

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

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      What it can do
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        <code>
          conversations_manage
        </code>
      </strong>
    </td>
    
    <td>
      Inbox actions in the name of the signed-in member. <code>
        reply
      </code>
      
       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. <code>
        update
      </code>
      
       hands the conversation to a person or back to the AI (<code>
        handler
      </code>
      
      ), closes or reopens it (<code>
        status
      </code>
      
      ), or makes the member the owner or clears the owner (<code>
        assign
      </code>
      
      ). 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 <strong>
        Allow access to conversations
      </strong>
      
       and a connection signed in as a member; organization API keys cannot reply.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          comments_manage
        </code>
      </strong>
    </td>
    
    <td>
      <code>
        add
      </code>
      
       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). <code>
        mentionUserIds
      </code>
      
       mentions team members from <strong>
        <code>
          whoami
        </code>
      </strong>
      
      , who get a push notification, and <code>
        parentCommentId
      </code>
      
       makes it a reply to another comment on the same record. Customers never see these comments.
    </td>
  </tr>
</tbody>
</table>

## Reporting

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      What it can answer
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        <code>
          reports_run
        </code>
      </strong>
    </td>
    
    <td>
      One tool with a <code>
        report
      </code>
      
       argument: <code>
        revenue
      </code>
      
      , <code>
        bookings_summary
      </code>
      
      , <code>
        utilization
      </code>
      
      , <code>
        top_items
      </code>
      
      , <code>
        top_clients
      </code>
      
      , <code>
        outstanding
      </code>
      
      , <code>
        overdue
      </code>
      
      , <code>
        pipeline
      </code>
      
      , and <code>
        inventory_status
      </code>
      
       (units on rent right now). Dates default to the last 30 days. Requires <strong>
        Reporting access
      </strong>
      
      .
    </td>
  </tr>
</tbody>
</table>

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](#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.

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Reads or writes
    </th>
    
    <th>
      What it can do
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        <code>
          settings_get
        </code>
      </strong>
    </td>
    
    <td>
      Read
    </td>
    
    <td>
      Returns the current settings of one section: <code>
        organization
      </code>
      
       (name, description, contact details, language, plus your organization-level custom fields), <code>
        working_hours
      </code>
      
       (timezone and weekly schedule), <code>
        booking_rules
      </code>
      
       (date picker, minimum duration, buffers), <code>
        deposits
      </code>
      
      , and <code>
        features
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          settings_manage
        </code>
      </strong>
    </td>
    
    <td>
      Write
    </td>
    
    <td>
      Updates one section with only the fields to change, and shows the before/after difference first. The <code>
        organization
      </code>
      
       section also accepts <code>
        customFields
      </code>
      
      . Features that need a higher plan are reported as locked and cannot be turned on here.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          templates_preview
        </code>
      </strong>
    </td>
    
    <td>
      Read
    </td>
    
    <td>
      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.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          templates_manage
        </code>
      </strong>
    </td>
    
    <td>
      Write
    </td>
    
    <td>
      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.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          workflows_validate
        </code>
      </strong>
    </td>
    
    <td>
      Read
    </td>
    
    <td>
      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.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        <code>
          workflows_manage
        </code>
      </strong>
    </td>
    
    <td>
      Write
    </td>
    
    <td>
      Creates, updates, enables or disables (<code>
        set_enabled
      </code>
      
      ), and deletes automations. Besides the email, push, and client message actions, it can set up <code>
        change_booking_status
      </code>
      
       and <code>
        send_group_push_notification
      </code>
      
      , which pushes to <a href="https://requiply.com/docs/en/guides/settings/organization/accounts/permission-groups">
        permission groups
      </a>
      
       by <code>
        groupIds
      </code>
      
      ; <strong>
        <code>
          whoami
        </code>
      </strong>
      
       lists each member's group.
    </td>
  </tr>
</tbody>
</table>

Templates and workflows are listed and read with **objects_search** and **objects_get** like any other record.

## Feedback

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        <code>
          send_feedback
        </code>
      </strong>
    </td>
    
    <td>
      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.
    </td>
  </tr>
</tbody>
</table>


## Sitemap

See the full [sitemap](https://requiply.com/docs/sitemap.md) for all pages.
