Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "split_column_into_table"; changed the definition of "create_reminder", "create_webhook", "delete_webhook" and 4 more (156 tools before, 157 now)
СтворитиMakeнагадуванняa reminder:надіслатиanзаabout a record, sent by a date field of its table. ONCE per record — days_before days before the date (0 = on the day, negative = after it) — or REPEATING (repeat: every_day, every_week, every_month, every_year). every_day goes out every day for EVERY record the reminder reads, whatever the date, and is REFUSED without a report: for «every day until it is done» or «every day during the notice period» first make a report of the table whose filter keeps exactly the records that are due (create_report: the tick not set, the date within the next Nднівdays)до/післяandзначенняpassполяitдати.as report_id — a record that leaves the report stops getting the mail. WHO GETS IT is one of three: recipients (written addresses), email_field (the address is read from a field of each record: an e-mail field, a linked column that shows one, a link whose shown column is an e-mail), or neither = the record's owner. An address kept in ANOTHER table the record links to (the client's, the company's): add a linked column that shows it to this table first, then pass that column as email_field. The answer says in words who gets it, when and for which records — tell the person that.
{"properties":{"all_records":{"description":"Only with repeat every_day and no report: true = the person asked for EVERY record of the table, every day","type":"boolean"},"app_id":{"description":"Project ID (from list_projects)","type":"string"},"date_field":{"description":"НазваTheабоdateIDfield'sполяnameдатиor id","type":"string"},"days_before":{"description":"ЗаHowскількиmanyднівdaysдоbeforeдатиthe date (0 =вonденьtheподії
СтворитиMakeвебхукanдляautomationформи.CALLВикликаєтьсяANOTHERприSERVICEспрацюванні(aactionwebhook:rule.Zapier, Make, n8n, your own server) when it runs. A webhook is a step of an automation — pass action_id, the automation of this table that calls it (list_action_rules; create_action_rule first for a new one: when it runs and its conditions). It sends ONLY what params lists: each a name and a field of the table, or a fixed text. The answer says who calls it, when, and what goes out.
ВидалитиRemoveвебхук.a webhook. The automation that called it stops calling a webhook; its other steps stay.
СписокTheнагадуваньremindersпоofдатіaполя.project or of one table: for each, the date field, who gets it, when (once or repeating) and which records it reads.
⟨31 unchanged words⟩ and «Call back on». It works in theformFORM a record is added or edited in — inside the product andinthe publicform.form — and nowhere else: it never hides, shows or swaps a COLUMN of a table, a report or a dashboard. When the condition's field is a link to ⟨32 unchanged words⟩
⟨156 unchanged words⟩ ,"redirect":{"type":"boolean"},"run_webhook":{"description":"false stops the automation calling its webhook (the webhook is kept); true only for an automation that has one — make it with create_webhook","type":"boolean"},"send_email":{"type":"boolean"},"send_sms" ⟨97 unchanged words⟩
⟨13 unchanged words⟩ time, the time zone, who gets it (written addresses, or the address in a field of each record), whether itrepeats.repeats, and which records it reads (a report's, or the whole table's). The answer says in words who gets it, when and for which records.
{"properties":{"all_records":{"description":"Only with repeat every_day and no report: true = the person asked for EVERY record of the table, every day","type":"boolean"},"app_id":{"description":"Project ID (from ⟨22 unchanged words⟩ after it","type":"integer"},"email_field":{"description":"A field of the table (name or id) each record's address is read from, instead of written addresses; \"\" takes it off","type":"string"},"recipients":{"description":"The whole list of ⟨26 unchanged words⟩ every_month | every_year, or \"\" foronceonce. every_day goes to EVERY record it reads, whatever the date: it is refused without a report","type":"string"},"report_id":{"description":"A report of the table (id or name): only its records are read; \"\" = the whole table","type":"string"},"run_time":{ ⟨18 unchanged words⟩
Move what a column repeats into a table of its own: ONE record of a new table per different value of the column (a supplier, a client, a category named on many rows), made from the values the table already holds — never invented — and a link field added to the table, filled for every row. Use it for «split X into their own table», «make suppliers a separate table», «normalise». The old columns stay as they are; the answer says what to tell the person about them. Do NOT use create_form for this: it makes an empty table.
Added "delete_field_rule", "delete_record_comment", "delete_record_template" and 3 more; changed the definition of "create_action_rule", "create_folder", "create_formatting" and 4 more (150 tools before, 156 now)
⟨94 unchanged words⟩ :"string"},"numbers":{"description":"НомериWrittenтелефонівphoneдляnumbersSMSthe(черезtextкому)always goes to, comma-separated — only when it is NOT a number from the record","type":"string"},"on_create":{ ⟨27 unchanged words⟩ "},"sms_body":{"description":"Текст SMS","type":"string"},"sms_column":{"description":"Where the text goes when each record has its own number: the name or id of the field of this form that holds the phone (the client's phone). Use this for «text the client».
Added "get_public_page", "send_portal_user_password_letter", "update_portal_user" and 1 more; changed the definition of "create_field", "get_reports", "list_portal_groups" and 5 more (146 tools before, 150 now)
⟨22 unchanged words⟩ rel, formula, linked_column, linked_records, subform, map, action, divider, page_break, note, signature, country ⟨26 unchanged words⟩
before
{"properties":{"action_color":{"description":"action field: 0=primary,2=success,3=danger,6=light(default)","type":"integer"},"action_display_rules":{"description":"Правила показу кнопки Дія за умовами. Для всіх записів — не передавай цей масив.","items":{"properties":{"action_color":{"description":"0=primary,1=secondary,2=success,3=danger,4=info,5=warning,6=light,7=dark","type":"integer"},"action_size":{"description":"0=small,1=medium,2=large","type":"integer"},"action_task_ids":{"description":"ID задач з action_tasks","items":{"type":"string"},"type":"array"},"action_type":{"description":"0=link, 1=button","type":"integer"},"conditions":{"description":"Умови відображення (пусто = для всіх записів). {property_id, condition, search, join: and|or}","items":{"type":"object"},"type":"array"},"criteria_name":{"description":"Опис критеріїв (обов'язково)","type":"string"},"icon":{"description":"FontAwesome клас, напр. 'fas fa-check'","type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["name","action_task_ids"],"type":"object"},"type":"array"},"action_done_message":{"description":"action field: повідомлення після виконання задачі","type":"string"},"action_fill":{"description":"action field: 0=inline(default), 1=block","type":"integer"},"action_size":{"description":"action field: 0=small,1=medium(default),2=large","type":"integer"},"action_tasks":{"description":"Задачі поля Дія (field_type=action). task_type: 0=email, 1=sms, 2=update_record, 3=payment, 4=webhook, 5=open_form_or_url, 6=telegram/whatsapp. Повна специфікація — get_field_types.","items":{"properties":{"custom_url":{"type":"string"},"email_body":{"type":"string"},"email_column":{"type":"string"},"email_from_template":{"type":"boolean"},"email_recipient_source":{"description":"0=список emails, 1=з поля, 2=власники запису","type":"integer"},"email_template_id":{"type":"string"},"emails":{"type":"string"},"id":{"description":"Унікальний ID задачі (для посилань з action_display_rules)","type":"string"},"message":{"type":"string"},"message_from_template":{"type":"boolean"},"message_recipient_source":{"type":"integer"},"number_from_record":{"type":"boolean"},"numbers":{"type":"string"},"open_custom_url":{"type":"boolean"},"open_form_id":{"type":"string"},"open_form_widget":{"type":"boolean"},"payment_workflow":{"description":"Конфіг оплати: {merchant_type(0=paypal,1=braintree), amount_field_id, business_email, currency, ...}","type":"object"},"redirect_to_new_page":{"type":"boolean"},"sms_body":{"type":"string"},"sms_column":{"type":"string"},"sms_from_template":{"type":"boolean"},"sms_template_id":{"type":"string"},"subject":{"type":"string"},"task_type":{"description":"Див. task_type у описі action_tasks вище","type":"integer"},"telegram_template_id":{"type":"string"},"update_fields":{"description":"Поля для оновлення (task_type=2). Кожен об'єкт: {field_id, val, set_current_time, set_current_user}","items":{"type":"object"},"type":"array"},"webhook":{"description":"Конфіг вебхуку: {request_method(0-4), auth_type(0-2), url, webhook_params[], webhook_headers[]}","type":"object"},"whatsapp_template_id":{"type":"string"}},"required":["task_type"],"type":"object"},"type":"array"},"action_type":{"description":"action field: 0=link(default), 1=button","type":"integer"},"add_percent_to_number":{"description":"Додавати знак % після числа","type":"boolean"},"add_to_actions_control":{"description":"action: додати до меню масових дій","type":"boolean"},"allow_new_values":{"description":"Лише для select. true — юзери можуть додавати нові варіанти прямо з форми запису, без редагування поля. Default false.","type":"boolean"},"ampm":{"description":"true — 12-годинний формат (AM/PM) для time/datetime","type":"boolean"},"app_id":{"description":"ID проєкту","type":"string"},"choices":{"description":"ОБОВ'ЯЗКОВО для select/checkbox/radio: масив варіантів. Виклик БЕЗ choices буде відхилено з помилкою — не роби його, одразу передай варіанти (візьми їх зі слів юзера або запропонуй розумні). Приклад: [\"Новий\", \"В роботі\", \"Готово\"].","items":{"type":"string"},"type":"array"},"currency_unit":{"description":"Символ валюти: '$', '€', '₴' тощо","type":"string"},"default":{"description":"Значення за замовчуванням (для select — один з варіантів choices)","type":"string"},"default_type":{"description":"0=фіксований, 1=поточна дата/час (date/datetime), 2=поточний користувач (record_owners)","type":"integer"},"delimiter":{"description":"Роздільник тисяч: '' або ',' або '.'","type":"string"},"dependent":{"description":"true — залежне rel поле (фільтрується батьківським), разом з depends_from_field_id","type":"boolean"},"depends_from_field_id":{"description":"ID батьківського rel поля для каскаду (Країна→Місто тощо)","type":"string"},"desc":{"description":"Підказка-tooltip для заповнювача форми","type":"string"},"disable_future":{"description":"Заборонити вибір майбутніх дат (для date/datetime/dob)","type":"boolean"},"disable_past":{"description":"Заборонити вибір минулих дат (для date/datetime/dob)","type":"boolean"},"display_as_image":{"description":"true — показувати URL як картинку (лише field_type=url, для фото)","type":"boolean"},"entity_id":{"description":"ID форми","type":"string"},"entries_num":{"description":"Кількість пов'язаних записів для linked_records (default 5)","type":"integer"},"field":{"description":"Масив ID полів або константи ['Constant', 'текст'] для formula_type=formula","items":{"type":"string"},"type":"array"},"field_type":{"description":"Тип поля. Виклич get_field_types для повного переліку з описами.","type":"string"},"formula_link_column":{"description":"formula_type=link: ID поля з назвою таблиці/форми","type":"string"},"formula_link_target":{"description":"formula_type=link: _blank, _self, _parent, _top","type":"string"},"formula_link_to":{"description":"formula_type=link: on_table або table_form","type":"string"},"formula_type":{"description":"Тип формули: formula (арифметика/конкатенація), function (вбудовані функції + Ruby), link (clickable link), total (сума), average (середнє). ОБОВ'ЯЗКОВО для field_type=formula.","type":"string"},"func":{"description":"Функція для formula_type=function: 0=MIN, 1=MAX, 2=ROUND_UP, 3=ROUND_DOWN, 4=Ruby script","type":"integer"},"func_fields":{"description":"ID усіх полів що використовуються у func/script_body. ОБОВ'ЯЗКОВО для formula_type=function — без цього формула не перераховується.","items":{"type":"string"},"type":"array"},"hide_column_name":{"description":"action/formula: сховати назву колонки в таблиці","type":"boolean"},"icon":{"description":"action field: FontAwesome клас іконки","type":"string"},"is_currency":{"description":"Показувати як валюту","type":"boolean"},"linked_entity_id":{"description":"The id of the other table: for linked_records / linked_column / linked_records_count, and for a subform the table whose rows are filled in inside this form","type":"string"},"linked_records_count_form_id":{"description":"ID форми для підрахунку (обов'язково для field_type=linked_records_count)","type":"string"},"matrix_columns":{"description":"Колонки матриці (field_type=matrix)","items":{"type":"string"},"type":"array"},"matrix_rows":{"description":"Рядки матриці (field_type=matrix)","items":{"type":"string"},"type":"array"},"name":{"description":"Назва поля","type":"string"},"not_add_space_between_operands":{"description":"1 = не додавати пробіл між операндами (для конкатенації без пробілів)","type":"integer"},"operand_is":{"description":"Тип операндів для formula_type=formula: numbers, decimal, text, days, hours, year. ОБОВ'ЯЗКОВО якщо formula_type=formula.","type":"string"},"operation":{"description":"Оператори між полями: +, -, *, / (на 1 менше ніж кількість полів)","items":{"type":"string"},"type":"array"},"precision":{"description":"Знаків після коми для float (default 2)","type":"integer"},"rel_entity_id":{"description":"ID форми до якої лінкує rel поле (обов'язково для rel)","type":"string"},"rel_show_field_id":{"description":"ID поля яке відображати в rel dropdown (опційно)","type":"string"},"rel_type":{"description":"Тип зв'язку (default 2): belongs_to=2/6/8 (dropdown/radio/multi), has_one=3/5/9 (dropdown/radio/multi), many-to-many=1/4 (autocomplete/checkboxes)","type":"integer"},"required":{"description":"true — поле обов'язкове для заповнення","type":"boolean"},"rich":{"description":"true — текстовий редактор (для field_type=textarea)","type":"boolean"},"script_body":{"description":"Ruby-код для func=4. Правила: результат у змінній 'a', остання строчка — 'a'; назви полів в одинарних лапках 'field_name'.to_f; заборонені def/while/puts/return/require; ЗАБОРОНЕНО агрегувати субформи через .to_f (для цього linked_column).","type":"string"},"separator":{"description":"Роздільник дробової частини: '.' або ','","type":"string"},"settings":{"description":"Any other setting of the field, as setting: value pairs in the product's own names — totals and averages under a column, barcode / QR code, an input mask, several files at once, a list's options side by side, pages of a long form, address help, edit in the table, how many fields share a row, a subform's rows (how many, the add link, hidden fields) and what the table shows of a subform or a list of linked records (one column or a small table of chosen columns, their order). Call get_field_types with field_type for the settings that fit one type. Example: {\"show_db_total_row\": true}. A setting that does not fit the field's type is refused by name.","type":"object"},"start_from":{"description":"Початкове значення autoincrement (default 1)","type":"integer"},"step":{"description":"Крок autoincrement (default 1)","type":"integer"},"text_align":{"description":"Вирівнювання в комірці: 1=ліво, 2=право, 3=центр, 4=ширина","type":"integer"},"truncates_after":{"description":"Обрізати текст у таблиці після N символів (default 1000)","type":"integer"},"uniqueness":{"description":"Перевірка унікальності значень у полі.","properties":{"error_message":{"description":"Кастомне повідомлення при порушенні унікальності","type":"string"},"linked_fields":{"description":"Для uniq_type=2: масив назв або ID інших полів","items":{"type":"string"},"type":"array"},"uniq_type":{"description":"0=немає, 1=строга унікальність, 2=multi (комбінація полів)","type":"integer"}},"type":"object"},"validations":{"description":"Правила валідації поля. required: true — простіший спосіб для обов'язкового поля.","properties":{"Email":{"description":"\"1\" — перевірка формату email","type":"string"},"Exclusion":{"description":"Заборонені значення через кому: \"spam, abuse\"","type":"string"},"Inclusion":{"description":"Дозволені значення через кому: \"Admin, Manager, User\"","type":"string"},"LOCATION":{"description":"\"1\" — перевірка геолокації","type":"string"},"URL":{"description":"\"on\" — перевірка формату URL","type":"string"},"exclusion_allowNull":{"description":"\"on\" — дозволити пусте значення у Exclusion","type":"string"},"exclusion_caseSensitive":{"description":"\"on\" — враховувати регістр у Exclusion","type":"string"},"exclusion_partialMatch":{"description":"\"on\" — частковий збіг у Exclusion","type":"string"},"format":{"description":"Regexp у форматі /^regex$/ — перевірка за регулярним виразом","type":"string"},"inclusion_allowNull":{"description":"\"on\" — дозволити пусте значення у Inclusion","type":"string"},"inclusion_caseSensitive":{"description":"\"on\" — враховувати регістр у Inclusion","type":"string"},"inclusion_partialMatch":{"description":"\"on\" — частковий збіг у Inclusion","type":"string"},"is":{"description":"Точна довжина (для text) або точне значення (для number)"},"maximum":{"description":"Максимум: для text — кількість символів; для integer/float — числове значення"},"minimum":{"description":"Мінімум: для text — кількість символів; для integer/float — числове значення"},"onlyOnSubmit":{"description":"\"1\" — валідувати тільки при сабміті, не на льоту","type":"string"}},"type":"object"},"vertical_align":{"description":"Вертикальне вирівнювання: 1=зверху, 2=посередині, 3=знизу","type":"integer"},"visible":{"description":"false — поле приховане у таблиці (але залишається у формі)","type":"boolean"}},"required":["app_id","entity_id","name","field_type"],"type":"object"}Changed the definition of "add_user_to_portal_group", "add_user_to_team_group", "create_field" and 4 more
ДодатиAddюзераaдоpersonгрупиtoпорталуaзаportal group by email.ЯкщоAnюзерaccountнеinіснує
Added "create_portal_page", "delete_dashboard_item", "delete_formatting" and 9 more; changed the definition of "create_schedule", "list_calendars", "list_charts" and 7 more (134 tools before, 146 now)
СтворитиMailрозкладaавтоматичноїtable'sрозсилкиorзаписівaформиreport'sнаrows(daily/weekly/monthly).a file on a schedule: every day or on one weekday, at a time, to the listed addresses.
Added "delete_action_rule", "delete_calendar", "delete_chart" and 6 more (125 tools before, 134 now)
Remove an automation (an action rule) from a table. Cannot be undone. Ids come from list_action_rules.
Remove a calendar from the project and from every portal menu that shows it. Cannot be undone. Ids come from list_calendars.
Remove a chart from the project and from every portal menu that shows it. Cannot be undone. Ids come from list_charts.
Remove a map from the project and from every portal menu that shows it. Cannot be undone. Ids come from list_maps.
Remove a report from its table and from every portal menu that shows it. The table and its records stay. Cannot be undone. Ids come from get_reports.
Changed the definition of "update_portal_settings"
⟨24 unchanged words⟩ and whether the change moved it (`menu_moved`), who gets into the portal now (`access`), whether your call changed that (`access_changed`) and whether people can create their own accounts (`self_registration`).
⟨11 unchanged words⟩ The portal's sign-in (the login window): 0=public: anyone with the link gets in, nosign-in,sign-in;1=Basic1=oneHTTP,shared login and password for everyone; 2=sign-in required: each person signs in
Changed the definition of "update_portal_settings"
ЗмінитиChangeналаштуванняaпорталуportal's settings:назвуname,субдоменsubdomain,локальlocale,темуtheme,колірcolour,типsign-inавтентифікаціїtype
Changed the definition of "get_report_data" and "update_field"
⟨15 unchanged words⟩ or describe_project)","type":"string"},"page":{"description":"Page of rows, from 1 (default 1)","type":"integer"},"per_page":{"description":"Rows per page (default 20, at most 100)","type":"integer"},"report_id":{"description":"ID звіту з get_reports ⟨8 unchanged words⟩
⟨163 unchanged words⟩ or describe_project)","type":"string"},"field":{"description":"Масив ID полів або константи ['Constant', 'текст'] для formula_type=formula","items":{"type":"string"},"type":"array"},"field_id":{"description":"ID поля — альтернатива ⟨75 unchanged words⟩ ,"none"],"type":"string"},"formula_link_column":{"description":"formula_type=link: ID поля з назвою таблиці/форми","type":"string"},"formula_link_target":{"description":"formula_type=link: _blank, _self, _parent, _top","type":"string"},"formula_link_to":{"description":"formula_type=link: on_table або table_form","type":"string"},"formula_type":{"description":"Тип формули: formula (арифметика/конкатенація), function (вбудовані функції + Ruby), link (clickable link), total (сума), average (середнє). ОБОВ'ЯЗКОВО для field_type=formula.","type":"string"},"func":{"description":"Функція для formula_type=function: 0=MIN, 1=MAX, 2=ROUND_UP, 3=ROUND_DOWN, 4=Ruby script","type":"integer"},"func_fields":{"description":"ID усіх полів що використовуються у func/script_body. ОБОВ'ЯЗКОВО для formula_type=function — без цього формула не перераховується.","items":{"type":"string"},"type":"array"},"
Changed the definition of "describe_project" and "get_form_fields"
ПовнаTheсхемаproject'sпроєктуwhole schema:всіeveryформиform,поляitsзfieldsтипамиwithтаtypesваріантамиand
Changed the definition of "create_formatting"
СтворитиStyleправилоaформатуванняtable'sрядківorтаблиці/звіту.report'sДозволяєcolumns:підсвічуватиfontрядкиsizeкольором(px),робитиfont
Changed the definition of "create_calendar"
СтворитиCreateкалендарaзcalendarджереламиwithданихdata sources (подіямиeventsзfromформforms). date_title_type:0=поле0=fixed text,1=фіксований
Changed the definition of "update_field"
⟨183 unchanged words⟩ ID автоматично)","type":"string"},"file_preview":{"description":"file fields only: inline — audio (mp3, wav, m4a, ogg), video (mp4, webm, mov) and PDF play or show right in the table and the record instead of a link; none — the link (the default). This is what «see / play the files inside the table instead of downloading them» means for a file field.","enum":["inline","none"],"type":"string"},"hide_from_public_form":{"description":"true — прибрати поле ⟨60 unchanged words⟩ РІЗНІ речі.","type":"boolean"},"image_url":{"description":"image fields only: what a click on the picture does — popup (a gallery over the table, the default), full_size (the picture in a new tab), record (opens the record), url (a link kept in another field: pass image_url_column), nothing","enum":["popup","full_size","record","url","nothing"],"type":"string"},"image_url_column":{"description":"with image_url=url: the id of the url field whose link the picture opens","type":"string"},"initial":{"description":"Для select/radio: який ⟨168 unchanged words⟩ '.' або ','","type":"string"},"show_file_url_as_image":{"description":"file and image fields only: true — an icon (file) or the thumbnail (image) in the table instead of the file name","type":"boolean"},"size":{"description":"Ширина поля ⟨260 unchanged words⟩
Added "remove_example_records" (124 tools before, 125 now)
Remove the sample records that project generation added — what the person calls «the examples», «les exemples», «приклади», «примеры», sample, demo or test data. Deletes ONLY the records the generator registered as examples; records the person entered are never touched. Without entity_id it clears every table of the project; with entity_id only that table. When the person asks to delete, clear or remove the examples, call it — do not ask which table first.
Changed the definition of "list_action_rules" and "update_action_rule"
Повернутисписоквсівсіхправилаaction-правилавтоматизації форми з їх умовами (тригерівconditions)автоматизаціїі полями оновлення (update_fields).форми.id — рядок; передавай його в update_action_rule як є.
Certificate recorded, valid to 2026-11-24
Authorization not required
First tool surface recorded: 124 tools (server version 1.0.0)
Showing the latest 18 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
СтворитиMakeпапкуanдляEMPTYорганізаціїfolderмодулівonуoneпроєкті.list page of the control center. module is the list the folder groups: forms, reports, charts, maps, calendars, files, portals. It only groups that list: the person moves items into it themselves, on that page — you cannot put anything into a folder, rename one or remove one. Refused where the site has no page for that list.
⟨8 unchanged words⟩ :"string"},"entity_id":{"description":"Прив'язкаOnlyдоwithформиmodule(опційно)reports: the table whose reports the folder groups","type":"string"},"module_typemodule":{"description":"0=forms,The1=charts,list2=reportsthe folder groups","enum":["forms","reports","charts","maps","calendars","files","portals"],"type":"integerstring"},"name":{"description":"Display name","type":"string"}},"required":["app_id","name","module"],"type":"object"}
⟨26 unchanged words⟩ :{"description":"Conditions (when all=false). A condition is one of: is, is_not,contains,is_empty, is_not_empty, starts_with, ends_with, like, contains, not_contains, less_than, greater_than, less_than_or_equal_to, greater_than_or_equal_to, between, after, before, this_day_and_after, this_day_and_before, last_7_days, last_30_days, last_60_days, last_90_days, last_120_days, next_7_days, next_30_days, next_60_days, next_90_days, next_120_days, this_year, last_year, next_year, last_2_years, next_2_years, current_and_prev_year, current_and_next_year, next_n_years, last_n_years, today, tomorrow, yesterday, today_or_later, before_today, last_week, this_week, next_week, current_and_prev_week, current_and_next_week, next_n_weeks, last_n_weeks, this_month, next_month, last_month, current_and_prev_month, current_and_next_month, next_n_months, last_n_months, next_n_days, last_n_days. On a date field «before», «after», «this_day_and_before», «this_day_and_after» andso«between»oncompare with a FIXED date written in search — they do not move with the calendar; the ones that do take no search value: before_today (earlier than today — «overdue», «expired», «late»), today, yesterday, tomorrow, today_or_later and the last_… / next_… / this_… periods. Never write today's date or the word «today» into search.","items":{"properties":{"condition": ⟨135 unchanged words⟩
СписокTheпапокfoldersуofпроєктіa(дляproject:організаціїeachформ/звітівwith its name, the list it groups (module).and how many items are in it. A folder only groups one list page of the control center.
⟨8 unchanged words⟩ :"string"},"entity_id":{"description":"ОпційноOptional:—onlyфільтрtheпоreportформіfolders of this table","type":"string"}},"required": ⟨3 unchanged words⟩
ОтриматиTheкоментаріcommentsдоonзапису.one record, oldest first: each with its id, its text, who wrote it and `yours` — whether the person you are talking to wrote it (only then can it be changed or removed).
ПоказатиAабоfieldсховатиrule:поляshowформиorзалежноhideвідfieldsзначенняofіншогоaполяform(умовніdependingполя).onНаприкладthe value of another field of the SAME form. Example:колиwhen«Статус»«Status»=is«в«inпроцесі»progress»,—showвідкрити«What«Чогоisбракує»missing»іand«Коли«Callпередзвонити».backДієon».іItуworksвнутрішнійinформіthe form inside the product and in the public form. When the condition's field is a link to another table («when Client is Anna Rossi»),іtheвruleпублічній.is about ONE RECORD of that table: find the record first and pass its id as when_record_id — a text is refused there.
⟨8 unchanged words⟩ :"string"},"condition":{"description":"ОператорHowумови;theтиповоvalue is compared; «is»(дорівнює).whenІншіleft out. One of: is, is_not, contains, not_contains, starts_with, ends_with, is_empty, is_not_empty, greater_than, less_than, greater_than_or_equal_to, less_than_or_equal_to, before, after.","type":"string"}," ⟨9 unchanged words⟩ :"string"},"hide_field_ids":{"description":"IDIdsполів,ofякіtheСХОВАТИ.fieldsРазомtoізHIDE.
⟨130 unchanged words⟩ ,"type":"string"},"numbers":{"description":"Written phone numbers, comma-separated — when it is not a number from the record","type":"string"},"on_create":{"type" ⟨28 unchanged words⟩ :{"type":"boolean"},"sms_body":{"type":"string"},"sms_column":{"description":"The field of this form that holds the phone the text goes to (name or id)","type":"string"},"subject":{"type ⟨53 unchanged words⟩
Remove ONE field rule of a form, by its rule_id from list_field_rules: the fields it showed, hid or filled in go back to how the form shows them without it. Asked to stop showing, hiding or filling a field «when…», find the rule in list_field_rules and remove that one — never several for one request. A rule cannot be changed: remove it and make it again (set_field_visibility_rule).
Remove ONE comment from a record, by its comment_id from list_record_comments — a comment the person you are talking to wrote (`yours`). Anyone else's comment is refused. The record is not touched.
Remove ONE record template, by its template_id from list_record_templates. The pages that showed a record with it go back to the standard layout; the answer says which. The records themselves are not touched.
The field rules of one table, or of every table of the project that has any — «show these fields when…», «hide…», «set a value when…». Each rule comes as the sentence the person sees on the form's Field rules page (says) with its rule_id. Call it before answering what a form shows or hides and before delete_field_rule.
The record templates of a project or one table — the layouts ONE record is shown or printed with: each with its name, whether it is a record's page or a tile, and where it is in use now. Call it before update_record_template / delete_record_template to find the template_id, and to answer «which layouts does this table have?».
Change the text of ONE comment on a record, by its comment_id from list_record_comments — a comment the person you are talking to wrote (`yours`). Anyone else's comment is refused.
after
{"properties":{"action_color":{"description":"action field: 0=primary,2=success,3=danger,6=light(default)","type":"integer"},"action_display_rules":{"description":"Правила показу кнопки Дія за умовами. Для всіх записів — не передавай цей масив.","items":{"properties":{"action_color":{"description":"0=primary,1=secondary,2=success,3=danger,4=info,5=warning,6=light,7=dark","type":"integer"},"action_size":{"description":"0=small,1=medium,2=large","type":"integer"},"action_task_ids":{"description":"ID задач з action_tasks","items":{"type":"string"},"type":"array"},"action_type":{"description":"0=link, 1=button","type":"integer"},"conditions":{"description":"Умови відображення (пусто = для всіх записів). {property_id, condition, search, join: and|or}","items":{"type":"object"},"type":"array"},"criteria_name":{"description":"Опис критеріїв (обов'язково)","type":"string"},"icon":{"description":"FontAwesome клас, напр. 'fas fa-check'","type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["name","action_task_ids"],"type":"object"},"type":"array"},"action_done_message":{"description":"action field: повідомлення після виконання задачі","type":"string"},"action_fill":{"description":"action field: 0=inline(default), 1=block","type":"integer"},"action_name_column_id":{"description":"action: the id of the field of this form whose value is the button's caption — with action_name_from_column true","type":"string"},"action_name_from_column":{"description":"action: the button's caption is taken from a field of the record (action_name_column_id) instead of the field's name","type":"boolean"},"action_size":{"description":"action field: 0=small,1=medium(default),2=large","type":"integer"},"action_tasks":{"description":"Задачі поля Дія (field_type=action). task_type: 0=email, 1=sms, 2=update_record, 3=payment, 4=webhook, 5=open_form_or_url, 6=telegram/whatsapp. Повна специфікація — get_field_types.","items":{"properties":{"custom_url":{"type":"string"},"email_body":{"type":"string"},"email_column":{"type":"string"},"email_from_template":{"type":"boolean"},"email_recipient_source":{"description":"0=список emails, 1=з поля, 2=власники запису","type":"integer"},"email_template_id":{"type":"string"},"emails":{"type":"string"},"id":{"description":"Унікальний ID задачі (для посилань з action_display_rules)","type":"string"},"message":{"type":"string"},"message_from_template":{"type":"boolean"},"message_recipient_source":{"type":"integer"},"number_from_record":{"type":"boolean"},"numbers":{"type":"string"},"open_custom_url":{"type":"boolean"},"open_form_id":{"type":"string"},"open_form_widget":{"type":"boolean"},"payment_workflow":{"description":"Конфіг оплати: {merchant_type(0=paypal,1=braintree), amount_field_id, business_email, currency, ...}","type":"object"},"redirect_to_new_page":{"type":"boolean"},"sms_body":{"type":"string"},"sms_column":{"type":"string"},"sms_from_template":{"type":"boolean"},"sms_template_id":{"type":"string"},"subject":{"type":"string"},"task_type":{"description":"Див. task_type у описі action_tasks вище","type":"integer"},"telegram_template_id":{"type":"string"},"update_fields":{"description":"Поля для оновлення (task_type=2). Кожен об'єкт: {field_id, val, set_current_time, set_current_user}","items":{"type":"object"},"type":"array"},"webhook":{"description":"Конфіг вебхуку: {request_method(0-4), auth_type(0-2), url, webhook_params[], webhook_headers[]}","type":"object"},"whatsapp_template_id":{"type":"string"}},"required":["task_type"],"type":"object"},"type":"array"},"action_type":{"description":"action field: 0=link(default), 1=button","type":"integer"},"add_percent_to_number":{"description":"Додавати знак % після числа","type":"boolean"},"add_to_actions_control":{"description":"action: додати до меню масових дій","type":"boolean"},"allow_new_values":{"description":"Лише для select. true — юзери можуть додавати нові варіанти прямо з форми запису, без редагування поля. Default false.","type":"boolean"},"ampm":{"description":"true — 12-годинний формат (AM/PM) для time/datetime","type":"boolean"},"app_id":{"description":"ID проєкту","type":"string"},"average_table_column":{"description":"formula_type average: the number field of the OTHER table to average, by id or name","type":"string"},"average_table_ref_column":{"description":"formula_type average: the link field in that other table that points at this form, by id or name; may be left out when only one table links here","type":"string"},"choices":{"description":"ОБОВ'ЯЗКОВО для select/checkbox/radio: масив варіантів. Виклик БЕЗ choices буде відхилено з помилкою — не роби його, одразу передай варіанти (візьми їх зі слів юзера або запропонуй розумні). Приклад: [\"Новий\", \"В роботі\", \"Готово\"].","items":{"type":"string"},"type":"array"},"currency_unit":{"description":"Символ валюти: '$', '€', '₴' тощо","type":"string"},"default":{"description":"Значення за замовчуванням (для select — один з варіантів choices)","type":"string"},"default_type":{"description":"0=фіксований, 1=поточна дата/час (date/datetime), 2=поточний користувач (record_owners)","type":"integer"},"delimiter":{"description":"Роздільник тисяч: '' або ',' або '.'","type":"string"},"dependent":{"description":"true — залежне rel поле (фільтрується батьківським), разом з depends_from_field_id","type":"boolean"},"depends_from_field_id":{"description":"ID батьківського rel поля для каскаду (Країна→Місто тощо)","type":"string"},"desc":{"description":"Підказка-tooltip для заповнювача форми","type":"string"},"disable_future":{"description":"Заборонити вибір майбутніх дат (для date/datetime/dob)","type":"boolean"},"disable_past":{"description":"Заборонити вибір минулих дат (для date/datetime/dob)","type":"boolean"},"display_as_image":{"description":"true — показувати URL як картинку (лише field_type=url, для фото)","type":"boolean"},"entity_id":{"description":"ID форми","type":"string"},"entries_num":{"description":"Кількість пов'язаних записів для linked_records (default 5)","type":"integer"},"field":{"description":"Масив ID полів або константи ['Constant', 'текст'] для formula_type=formula","items":{"type":"string"},"type":"array"},"field_type":{"description":"Тип поля. Виклич get_field_types для повного переліку з описами.","type":"string"},"formula_link_column":{"description":"formula_type=link: ID поля з назвою таблиці/форми","type":"string"},"formula_link_target":{"description":"formula_type=link: _blank, _self, _parent, _top","type":"string"},"formula_link_to":{"description":"formula_type=link: on_table або table_form","type":"string"},"formula_type":{"description":"Тип формули: formula (арифметика/конкатенація), function (вбудовані функції + Ruby), link (clickable link), total (сума), average (середнє). ОБОВ'ЯЗКОВО для field_type=formula.","type":"string"},"func":{"description":"Функція для formula_type=function: 0=MIN, 1=MAX, 2=ROUND_UP, 3=ROUND_DOWN, 4=Ruby script","type":"integer"},"func_fields":{"description":"ID усіх полів що використовуються у func/script_body. ОБОВ'ЯЗКОВО для formula_type=function — без цього формула не перераховується.","items":{"type":"string"},"type":"array"},"hide_column_name":{"description":"action/formula: сховати назву колонки в таблиці","type":"boolean"},"icon":{"description":"action field: FontAwesome клас іконки","type":"string"},"icon_align":{"description":"action: where the icon stands beside the caption — 1 left (default), 2 right","type":"integer"},"is_currency":{"description":"Показувати як валюту","type":"boolean"},"linked_entity_id":{"description":"The id of the other table: for linked_records / linked_column / linked_records_count, and for a subform the table whose rows are filled in inside this form","type":"string"},"linked_records_count_form_id":{"description":"ID форми для підрахунку (обов'язково для field_type=linked_records_count)","type":"string"},"matrix_columns":{"description":"Колонки матриці (field_type=matrix)","items":{"type":"string"},"type":"array"},"matrix_rows":{"description":"Рядки матриці (field_type=matrix)","items":{"type":"string"},"type":"array"},"name":{"description":"Назва поля","type":"string"},"not_add_space_between_operands":{"description":"1 = не додавати пробіл між операндами (для конкатенації без пробілів)","type":"integer"},"operand_is":{"description":"Тип операндів для formula_type=formula: numbers, decimal, text, days, hours, year. ОБОВ'ЯЗКОВО якщо formula_type=formula.","type":"string"},"operation":{"description":"Оператори між полями: +, -, *, / (на 1 менше ніж кількість полів)","items":{"type":"string"},"type":"array"},"precision":{"description":"Знаків після коми для float (default 2)","type":"integer"},"rel_entity_id":{"description":"ID форми до якої лінкує rel поле (обов'язково для rel)","type":"string"},"rel_show_field_id":{"description":"ID поля яке відображати в rel dropdown (опційно)","type":"string"},"rel_type":{"description":"Тип зв'язку (default 2): belongs_to=2/6/8 (dropdown/radio/multi), has_one=3/5/9 (dropdown/radio/multi), many-to-many=1/4 (autocomplete/checkboxes)","type":"integer"},"required":{"description":"true — поле обов'язкове для заповнення","type":"boolean"},"rich":{"description":"true — текстовий редактор (для field_type=textarea)","type":"boolean"},"script_body":{"description":"Ruby-код для func=4. Правила: результат у змінній 'a', остання строчка — 'a'; назви полів в одинарних лапках 'field_name'.to_f; заборонені def/while/puts/return/require; ЗАБОРОНЕНО агрегувати субформи через .to_f (для цього linked_column).","type":"string"},"separator":{"description":"Роздільник дробової частини: '.' або ','","type":"string"},"settings":{"description":"Any other setting of the field, as setting: value pairs in the product's own names — totals and averages under a column, barcode / QR code, an input mask, several files at once, a list's options side by side, pages of a long form, address help, edit in the table, how many fields share a row, a subform's rows (how many, the add link, hidden fields) and what the table shows of a subform or a list of linked records (one column or a small table of chosen columns, their order). Call get_field_types with field_type for the settings that fit one type. Example: {\"show_db_total_row\": true}. A setting that does not fit the field's type is refused by name.","type":"object"},"start_from":{"description":"Початкове значення autoincrement (default 1)","type":"integer"},"step":{"description":"Крок autoincrement (default 1)","type":"integer"},"text_align":{"description":"Вирівнювання в комірці: 1=ліво, 2=право, 3=центр, 4=ширина","type":"integer"},"time_settings":{"description":"time field: how the time is picked. clock_system \"12h\" | \"24h\"; control_type \"dropdown\" | \"slider\"; units: { hour | minute | second | millisec | microsec: { show: true|false, min, max, step, grid } } — e.g. {\"units\": {\"minute\": {\"step\": 15}, \"second\": {\"show\": false}}}. Only what is passed changes","type":"object"},"total_table_column":{"description":"formula_type total: the number field of the OTHER table to add up, by id or name — «how much a client's orders come to» is a total on Clients of Orders' Amount","type":"string"},"total_table_ref_column":{"description":"formula_type total: the link field in that other table that points at this form, by id or name; may be left out when only one table links here","type":"string"},"truncates_after":{"description":"Обрізати текст у таблиці після N символів (default 1000)","type":"integer"},"uniqueness":{"description":"Перевірка унікальності значень у полі.","properties":{"error_message":{"description":"Кастомне повідомлення при порушенні унікальності","type":"string"},"linked_fields":{"description":"Для uniq_type=2: масив назв або ID інших полів","items":{"type":"string"},"type":"array"},"uniq_type":{"description":"0=немає, 1=строга унікальність, 2=multi (комбінація полів)","type":"integer"}},"type":"object"},"validations":{"description":"Правила валідації поля. required: true — простіший спосіб для обов'язкового поля.","properties":{"Email":{"description":"\"1\" — перевірка формату email","type":"string"},"Exclusion":{"description":"Заборонені значення через кому: \"spam, abuse\"","type":"string"},"Inclusion":{"description":"Дозволені значення через кому: \"Admin, Manager, User\"","type":"string"},"LOCATION":{"description":"\"1\" — перевірка геолокації","type":"string"},"URL":{"description":"\"on\" — перевірка формату URL","type":"string"},"exclusion_allowNull":{"description":"\"on\" — дозволити пусте значення у Exclusion","type":"string"},"exclusion_caseSensitive":{"description":"\"on\" — враховувати регістр у Exclusion","type":"string"},"exclusion_partialMatch":{"description":"\"on\" — частковий збіг у Exclusion","type":"string"},"format":{"description":"Regexp у форматі /^regex$/ — перевірка за регулярним виразом","type":"string"},"inclusion_allowNull":{"description":"\"on\" — дозволити пусте значення у Inclusion","type":"string"},"inclusion_caseSensitive":{"description":"\"on\" — враховувати регістр у Inclusion","type":"string"},"inclusion_partialMatch":{"description":"\"on\" — частковий збіг у Inclusion","type":"string"},"is":{"description":"Точна довжина (для text) або точне значення (для number)"},"maximum":{"description":"Максимум: для text — кількість символів; для integer/float — числове значення"},"minimum":{"description":"Мінімум: для text — кількість символів; для integer/float — числове значення"},"onlyOnSubmit":{"description":"\"1\" — валідувати тільки при сабміті, не на льоту","type":"string"}},"type":"object"},"vertical_align":{"description":"Вертикальне вирівнювання: 1=зверху, 2=посередині, 3=знизу","type":"integer"},"visible":{"description":"false — поле приховане у таблиці (але залишається у формі)","type":"boolean"}},"required":["app_id","entity_id","name","field_type"],"type":"object"}СписокTheзвітівproject's reports (віджетів)savedдляviewsформиof—aагрегованіtable:даніfilters,групуванняgrouping,підрахункиtotals). Without entity_id: EVERY report of every table, each with its id and the table it belongs to — use this when the person names a report and not its table; never guess the table from the report's name. With entity_id: that one table's reports.
⟨8 unchanged words⟩ :"string"},"entity_id":{"description":"FormAIDtable's(fromid.list_formsLeaveoritdescribe_project)out to list the reports of the whole project.","type":"string"}},"required":["app_id","entity_id"],"type":"object"}
Listportala portal's user groupswith: members, andpermissions.for each table or report the group has rights on — its role and whether the group sees only its own records (`tables`). Read it before changing who sees what: the group you need usually exists already. (get portal groups, show client groups)
СписокTheпунктівportal'sменюmenu:порталуits(top-levelсекціїitems,таeachпідпунктиwithпідменюthe items inside it (`submenu_items`).Використовуй—передarename/delete/changetop-level item may open a table AND hold items. `position` is the place in the list, 0 = first. Call it before a rename, a move, a delete or a module—change,щобtoотриматиget section_idабоor item_id.
What a group (team or portal) may do on a table or report, and whether its people see ONLY THEIR OWN records there. For a group that already has rights on the table pass ONLY what the person asked to change: «technicians see only their own orders» is only_own_records: true with NO role — a role you pass replaces the group's present one. The answer says CHANGED / UNCHANGED for the role and for only_own_records, and what «own» means: repeat that meaning, never «assigned to them». Встановити права групи (team або portal) на ⟨57 unchanged words⟩
⟨122 unchanged words⟩ :"array"},"only_own_records":{"description":"Бачитьtrue:тількиpeopleсвоїofзаписиthis group see only the records they added or were made owner of. false: they see everyone's.","type":"boolean"},"portal_group_id":{ ⟨53 unchanged words⟩ 3=write, 4=create, 5=write no delete, 6=read+edit+delete,7=read+edit7=read+edit. Needed only for a group with no rights on this table yet; otherwise leave it out unless the person asked to change what the group may do.","type":"integer"},"show_related_records":{ ⟨77 unchanged words⟩
⟨33 unchanged words⟩ from list_projects)","type":"string"},"average_table_column":{"description":"formula_type average: the number field of the OTHER table to average, by id or name","type":"string"},"average_table_ref_column":{"description":"formula_type average: the link field in that other table that points at this form, by id or name; may be left out when only one table links here","type":"string"},"choices":{"description":"Нові варіанти для select ⟨879 unchanged words⟩ 2=право, 3=центр, 4=ширина","type":"integer"},"time_settings":{"description":"time field: how the time is picked. clock_system \"12h\" | \"24h\"; control_type \"dropdown\" | \"slider\"; units: { hour | minute | second | millisec | microsec: { show: true|false, min, max, step, grid } } — e.g. {\"units\": {\"minute\": {\"step\": 15}, \"second\": {\"show\": false}}}. Only what is passed changes","type":"object"},"total_table_column":{"description":"formula_type total: the number field of the OTHER table to add up, by id or name — «how much a client's orders come to» is a total on Clients of Orders' Amount","type":"string"},"total_table_ref_column":{"description":"formula_type total: the link field in that other table that points at this form, by id or name; may be left out when only one table links here","type":"string"},"truncates_after":{"description":"Обрізати текст ⟨224 unchanged words⟩
Form settings. A LIMIT ON HOW MANY RECORDS A FORM TAKES is turn_off_form_after — «close registration at 300 people» is this, and nothing else: never hide the add button or the page for it (that closes the form NOW). The answer says how many records the form holds and whether it is open. Оновити налаштування форми: post_action (redirect URL після ⟨10 unchanged words⟩
⟨15 unchanged words⟩ ,"asc":{"type":"boolean"},"confirmation_checkbox":{"description":"A consent checkbox at the bottom of the form that must be ticked before the form can be sent (the field picker's «Confirmation checkbox»): true adds it, false removes it. One per form; it is a setting of the form, not a field","type":"boolean"},"confirmation_checkbox_text":{"description":"The sentence beside the consent checkbox, e.g. «I agree to my data being stored». Required when the checkbox is added; given alone, it adds the checkbox","type":"string"},"dtype_added_text":{"description":"Текст після успішного сабміту ⟨91 unchanged words⟩ не зачіпає.","type":"string"},"turn_off_form":{"description":"false removes the limit on the number of records (the form takes records again). true is only needed to switch back on a limit set before.","type":"boolean"},"turn_off_form_after":{"description":"Close the form at this many records: «close registration at 300 people», «only 50 places», «stop taking orders after 100». The form stays OPEN until the table holds that many — it is not closed now. Given alone, it switches the limit on.","type":"integer"},"turn_off_form_msg_text":{"description":"What people see instead of the form once it is closed by the limit below","type":"string"}},"required":[" ⟨4 unchanged words⟩
ОновитиUpdateпунктaменюportalпорталуmenu item:перейменуватиrename it,змінитиchangeмодульits module,іконкуicon,позиціюplaceабоor URL.ВкажиGive section_id (a top-level item)абоor item_id (підпунктanпідменюitem inside a section)зfrom list_portal_menu_items. To MOVE an item, give `position`: the place it must stand at after the move among its own siblings, counted as list_portal_menu_items shows them (0 = first; a number past the end = last). The other items shift by themselves — one call moves one item; never renumber the others. «Put A before B» = position of B when A stands after B, position of B minus 1 when A stands before B.
⟨49 unchanged words⟩ ,"type":"string"},"position":{"description":"The place after the move among its siblings, 0 = first","type":"integer"},"section_id":{"description" ⟨14 unchanged words⟩
A table's PUBLIC page — the address its owner gives to people who have no account. Answers every switch of the page with its meaning, what a visitor can do there right now in plain words, and the addresses to hand out: the page's link, short link and embed code, and the same three for the public FORM that adds a record. Call it when the person asks for a link to share, an embed code for their site, or whether their data is open.
Mail a person in a portal the portal's own letter with a link where they set a new password themselves (the link works for one day; their present password keeps working until then). For «reset X's password», «X forgot the password», «X cannot sign in». Never ask the owner for a password and never write one in the chat.
Change a person's account in a portal: their email address, login, first name, last name or phone. Pass only what the person asked to change; nothing else is touched. The answer says CHANGED (was → now) / UNCHANGED per item. A password is NEVER set here and never asked for in the chat: send_portal_user_password_letter mails the person a link to set their own.
Change what a visitor with no account sees and may do on a table's public page. Pass only what the person asked for. The answer says CHANGED / UNCHANGED per setting and, in plain words, what anyone with the link can do now — tell the person that sentence when a switch opened their records. The page's login and password are never arguments: switching password_database_boolean on makes them when the page has none, and the answer carries a link to a page that shows them to the owner once.
⟨48 unchanged words⟩ :"string"},"send_email":{"description":"ВідправитиMailactivationthe
ДодатиAddкористувачаaдоpersonгрупиtoкомандиaзаteam group by email.ЯкщоAnюзерaccountнеisіснуєcreated—whenбудеthereстворений.is none. The new account gets a password of its own, which only the invitation letter shows (with a one-time link that signs the person in); the answer's `invitation` says what was mailed. Never tell anyone a password. move_from_other_groups=trueприбираєtakesюзераtheзpersonусіхoutіншихofгрупeveryіotherскидаєgroupйогоandіндивідуальніresetsроліtheir individual roles (повнийaпереїздfullуmoveновуintoгрупуthis group).
⟨31 unchanged words⟩ :"boolean"},"send_email":{"description":"ВідправитиMailзапрошенняinvitation letter to a NEW account (default true). false: nobody is told a password — the person sets their own from the sign-in page.","type":"boolean"},"user_group_id":{ ⟨15 unchanged words⟩
⟨21 unchanged words⟩ yes_no, rel, formula, linked_column, linked_records, subform, action, divider, page_break, note, signature, country ⟨26 unchanged words⟩
⟨697 unchanged words⟩ :"boolean"},"linked_entity_id":{"description":"IDTheформиidдляof the other table: for linked_records / linked_column / linked_records_count, and for a subform the table whose rows are filled in inside this form","type":"string"},"linked_records_count_form_id":{ ⟨197 unchanged words⟩ '.' або ','","type":"string"},"settings":{"description":"Any other setting of the field, as setting: value pairs in the product's own names — totals and averages under a column, barcode / QR code, an input mask, several files at once, a list's options side by side, pages of a long form, address help, edit in the table, how many fields share a row, a subform's rows (how many, the add link, hidden fields) and what the table shows of a subform or a list of linked records (one column or a small table of chosen columns, their order). Call get_field_types with field_type for the settings that fit one type. Example: {\"show_db_total_row\": true}. A setting that does not fit the field's type is refused by name.","type":"object"},"start_from":{"description":"Початкове значення ⟨311 unchanged words⟩
ОтриматиTheсумуsumабо(orагрегатanotherпоaggregate)числовомуofполюaформиnumber field, as a number for your reply: it answers «how much is it in all». It puts nothing into the table — when the person wants a total SHOWN under the column, that is the field's own setting: update_field with settings.
⟨18 unchanged words⟩ :"string"},"field_name":{"description":"НазваTheчисловогоnumberполяfield, by its name","type":"string"},"report_id":{"description":"Необов'язковоOptional:обмежитиonlyдоtheконкретногоrecordsзвітуof this report","type":"string"}},"required": ⟨5 unchanged words⟩
{"properties":{"field_type":{"description":"One field type (as create_field names it): the answer is the settings that type takes — what each sets and the value it takes — to pass as settings: {…} to create_field / update_field.","type":"string"}},"type":"object"}
ЗапроситиInviteновогоaюзераnewвpersonпорталinto a portal: creates their account and mails the portal's invitation letter. The new account gets a password of its own, which only the invitation letter shows (надіслатиwithactivationa
⟨36 unchanged words⟩ "send_email":{"default":true,"description":"НадіслатиMailactivationthe
⟨736 unchanged words⟩ ','","type":"string"},"settings":{"description":"Any other setting of the field, as setting: value pairs in the product's own names — totals and averages under a column, barcode / QR code, an input mask, several files at once, a list's options side by side, pages of a long form, address help, edit in the table, how many fields share a row, a subform's rows (how many, the add link, hidden fields) and what the table shows of a subform or a list of linked records (one column or a small table of chosen columns, their order). Call get_field_types with field_type for the settings that fit one type. Example: {\"show_db_total_row\": true}. A setting that does not fit the field's type is refused by name.","type":"object"},"show_file_url_as_image":{"description":"file and image fields ⟨284 unchanged words⟩
⟨5 unchanged words⟩ from list_projects)","type":"string"},"email_template_idday":{"description":"Monday … Sunday, or Daily (default)","type":"string"},"entity_id":{"description" ⟨4 unchanged words⟩ or describe_project)","type":"string"},"export_typefile_type":{"description":",ftp,|sftpcsv","type":"string"},"periodname":{"description":"daily,Theweekly,file'smonthlyname (default: the table's name)","type":"string"},"recipients":{"description":"МасивEmailemail-адресaddresses the file is mailed to","items":{"type":"string"},"type":"array"},"report_id":{"description":"IDAзвітуreportдляofвідправкиthisзtableфільтром— only its rows are sent","type":"string"},"run_time":{"description":"Час запускуHH:MM, 24 hours (default:08:00)","type":"string"},"time_zone":{"description":"e.g. UTC+02","type":"string"}},"required":["app_id","entity_id","recipients"],"type":"object"}
СписокTheкалендарівproject'sвcalendars,проєктіeach with its sources of events and their ids (for update_calendar)
СписокTheчартівproject's(графіків)charts,вeachпроєктіwith the series it shows and their ids (for update_chart)
СписокTheмапproject'sMaps)eachвwithпроєктіits sources of markers and their ids (for update_map)
СписокTheшаблонівtemplates of a project: record, email,sms.sms,Якщоtelegram (no kindне=вказаноall,—namesповертаєonly).всіWithтипи.kind and template_id: that one template in full, with its text.
⟨19 unchanged words⟩ {"description":"record | email | sms | telegram (default:всіall)","type":"string"},"template_id":{"description":"With kind: return this one in full","type":"string"}},"required": ⟨3 unchanged words⟩
⟨11 unchanged words⟩ Sundays (weekends). Pass only what changes.It does NOT change which records`add_data_sources`oraddsdatesourcesfieldsoftheeventscalendarandshows:`remove_data_source_ids`forremovesthatsourcescreateby thecalendaridsyoulist_calendarswantshowswith(798);create_calendar,everythenotherremovesourcethisstaysoneaswithitdelete_calendar.is. Ids come from list_calendars.
{"properties":{"add_data_sources":{"description":"Sources of events to ADD to the ones the calendar has, each with date_field_id.","items":{"properties":{"date_field_id":{"description":"The date field the events stand on (id or name)","type":"string"},"date_title_field_id":{"description":"The field shown as the event's title","type":"string"},"date_title_type":{"description":"0 = fixed text, 1 = from a field","type":"integer"},"end_date_field_id":{"description":"The end date field (optional)","type":"string"},"entity_id":{"description":"The table's id or name","type":"string"},"info_window":{"description":"Fixed details text","type":"string"},"info_window_field_id":{"description":"The field shown as the event's details","type":"string"},"info_window_type":{"description":"0 = fixed text, 1 = from a field","type":"integer"},"repeat_every_year":{"type":"boolean"},"repeat_field_id":{"description":"A yes/no field: only records where it is yes repeat every year","type":"string"},"report_id":{"description":"Instead of entity_id: a report's id, to show only its records","type":"string"},"title":{"description":"Fixed title","type":"string"}},"type":"object"},"type":"array"},"app_id":{"description":"Project ID (from ⟨5 unchanged words⟩ "string"},"new_name":{"type":"string"},"remove_data_source_ids":{"description":"Ids of the sources to remove, from list_calendars","items":{"type":"string"},"type":"array"},"weekends":{"type":"boolean"} ⟨5 unchanged words⟩
⟨17 unchanged words⟩ of its vertical axis. Pass only what changes. `add_data_sources` adds series and `remove_data_source_ids` removes series by the ids list_charts shows (798); every other series stays as it is. To change one series: remove it and add the new one in the same call. It does NOT changewhichthedatahorizontal axis (what thechartvaluesshowsare grouped by): for that create the chart you want ⟨12 unchanged words⟩
{"properties":{"add_data_sources":{"description":"Series to ADD to the ones the chart has","items":{"properties":{"color":{"description":"#hex","type":"string"},"entity_id":{"description":"The table's id or name","type":"string"},"name":{"description":"The series' label","type":"string"},"property_id":{"description":"The number field to chart (id or name)","type":"string"},"report_id":{"description":"Instead of entity_id: a report's id, to chart only its records","type":"string"}},"type":"object"},"type":"array"},"app_id":{"description":"Project ID (from ⟨5 unchanged words⟩ "string"},"new_name":{"type":"string"},"remove_data_source_ids":{"description":"Ids of the series to remove, from list_charts","items":{"type":"string"},"type":"array"},"type_code":{"description":"pie, ⟨16 unchanged words⟩
⟨22 unchanged words⟩ ) and its zoom. Pass only what changes.It does NOT`add_data_sources`changeaddswhichsourcesrecordsofthemarkersmapandshows:`remove_data_source_ids`forremovesthatsourcescreateby themapidsyoulist_mapswantshowswith(798);create_map,everythenotherremovesourcethisstaysoneaswithitdelete_map.is. Ids come from list_maps.
{"properties":{"add_data_sources":{"description":"Sources of markers to ADD to the ones the map has. Each needs address_field_id, or latitude_field_id with longitude_field_id.","items":{"properties":{"address_field_id":{"description":"The field with the address (id or name)","type":"string"},"entity_id":{"description":"The table's id or name","type":"string"},"info_window":{"description":"Fixed popup text","type":"string"},"info_window_field_id":{"description":"The field shown in the marker's popup","type":"string"},"info_window_type":{"description":"1 = from a field, 2 = fixed text","type":"integer"},"latitude_field_id":{"type":"string"},"longitude_field_id":{"type":"string"},"marker_field_type":{"description":"1 = address, 2 = coordinates","type":"integer"},"marker_title_field_id":{"description":"The field shown as the marker's title","type":"string"},"marker_title_type":{"description":"1 = from a field, 2 = fixed text","type":"integer"},"report_id":{"description":"Instead of entity_id: a report's id, to show only its records","type":"string"}},"type":"object"},"type":"array"},"app_id":{"description":"Project ID (from ⟨30 unchanged words⟩ "string"},"new_name":{"type":"string"},"remove_data_source_ids":{"description":"Ids of the sources to remove, from list_maps","items":{"type":"string"},"type":"array"},"zoom":{"type":"integer"} ⟨5 unchanged words⟩
⟨8 unchanged words⟩ , colour, sign-in type (the login window)., whether people can register themselves. The answer says where the menu is now ⟨31 unchanged words⟩
⟨51 unchanged words⟩ only: never show them to the person.ThisAtoolsign-incannotmode does not let people register themselves (create their own accounts):the owner switchesthatinisthethisportal'stool'ssettings;`self_registration`; accounts are otherwise made by inviting people ( ⟨69 unchanged words⟩ from list_portals or describe_project)","type":"string"},"self_registration":{"description":"true = a visitor can create their own account on the portal's login page; false = accounts only by invitation. Pass it ONLY when the person asked for exactly this — a request for «login» or «a login window» is not one.","type":"boolean"},"subdomain":{"description":"The subdomain ⟨151 unchanged words⟩
⟨23 unchanged words⟩ what changes. `criterias` REPLACES all the report's filters.It does NOT change`group_field_ids`aREPLACESreport'sits groupingor totals(798):foranthatemptycreatelistthemakesreportityouawantplainwithlistcreate_report,again;thenaremovetotalthisoroneanwithaveragedelete_report.needs a grouping. Ids come from get_reports.
⟨15 unchanged words⟩ = descending","type":"boolean"},"average_by_group":{"description":"false removes the average; true goes with average_by_group_column_id","type":"boolean"},"average_by_group_column_id":{"description":"The number field averaged in each group (id or name); an empty string removes the average","type":"string"},"criterias":{"description":"The report's filters, ⟨58 unchanged words⟩ :"object"},"type":"array"},"group_field_ids":{"description":"The fields the records are grouped by, ALL of them (ids or names); an empty list removes the grouping","items":{"type":"string"},"type":"array"},"new_name":{"type":"string"},"only_groupname_and_count":{"description":"true = show only each group's name and how many records it holds","type":"boolean"},"per_page":{"description":"Number of records per ⟨42 unchanged words⟩ id or name to sort the records by","type":"string"},"total_by_group":{"description":"false removes the total; true goes with total_by_group_column_id","type":"boolean"},"total_by_group_column_id":{"description":"The number field summed in each group (id or name); an empty string removes the total","type":"string"}},"required": ⟨4 unchanged words⟩
Add a page of its own to a portal: a name and the page's content as HTML. It goes into the portal's menu under its name by itself — do not call add_portal_menu_item for it. For a page that shows the project's forms or tables use generate_ai_site instead.
Remove a card (widget) from a portal's dashboard. Only the card goes; the table, report or chart it showed stays. The person confirms it first.
Remove a formatting rule. The person confirms it first.
Remove a whole portal: its pages, menu, dashboard and its portal users' accounts. The tables and records stay. The person confirms it first; it cannot be undone.
Remove a page from a portal, with the menu items that lead to it. The person confirms it first. The portal's start page is refused: another start is chosen first.
The formatting rules (column styles, highlighted rows) of a project or one table: id, name, the fields, the style, the conditions. Call it before update_formatting / delete_formatting.
Change a formatting rule that exists: its name, the fields it styles, the style, the rows it applies to. settings are MERGED into the style it has (pass only what changes: «make it bold too» keeps its colour); conditions is the whole list of row conditions it keeps.
Change a reminder that exists: the date field, how many days before, the time, the time zone, who gets it, whether it repeats.
Change a saved set of search filters: its name, the sorting, the filters. filters is the WHOLE list it keeps — list_saved_views shows the ones it has; send those you keep together with the new ones.
Change a schedule that mails a table's or a report's rows as a file: its day, time, time zone, who gets it, which report, the file type.
Change an email, SMS or Telegram template that exists: its name, its text (and for email the subject, from, reply_to). Read its current text first: list_templates with kind and template_id returns it in full. A record template: update_record_template.
Change a webhook that exists: its address, method, content type, authorisation, headers, parameters. headers and params are each the WHOLE list it keeps. A password or token is never shown back.
Change a calendar: its name, or whether it shows Saturdays and Sundays (weekends). Pass only what changes. It does NOT change which records or date fields the calendar shows: for that create the calendar you want with create_calendar, then remove this one with delete_calendar. Ids come from list_calendars.
Change a chart: its name, its type (pie, doughnut, line, area, bar, column, scatter) or the title of its vertical axis. Pass only what changes. It does NOT change which data the chart shows: for that create the chart you want with create_chart, then remove this one with delete_chart. Ids come from list_charts.
Change a map: its name, where it is centred (center_type 1 = an address, 2 = coordinates, 3 = the first record) and its zoom. Pass only what changes. It does NOT change which records the map shows: for that create the map you want with create_map, then remove this one with delete_map. Ids come from list_maps.
Change a report: its name, its filters, the columns it shows, how it is sorted, how many records a page holds. Pass only what changes. `criterias` REPLACES all the report's filters. It does NOT change a report's grouping or totals: for that create the report you want with create_report, then remove this one with delete_report. Ids come from get_reports.
⟨8 unchanged words⟩ :"string"},"auth_type":{"description":"АвтентифікаціяTheпорталуportal's sign-in (вікноtheвходуlogin window):0=публічний0=public,безnoвходуsign-in, 1=Basic HTTP,2=вхід2=sign-inзаwithлогіном/паролемa login and a password","type":"integer"},"color":{"description":"КолірThe0-6colour: 0=White, 1=Black, 2=Grey, 3=Blue, 4=Green, 5=Orange,6=Red6=Red. In themes 0, 1, 3, 4, 12, 13 0 is a light menu with dark letters, and 1–6 a menu of that colour with white letters. It keeps the theme and the menu's place.","type":"integer"},"locale":{ ⟨22 unchanged words⟩ :"string"},"subdomain":{"description":"СубдоменTheбезsubdomain without .quintadb.com","type":"string"},"theme":{"description":"ТемаThe theme, which also decides where the menu is: 0=Standard (menu: a bar across the top), 1=Professional (menu: a narrow strip of icons on the left that opens on hover), 3=Professional Opened (CRM/ERPmenu: an always-open panel on the left), 4=Wide (menu: a narrow strip of icons on the left that opens on hover), 9=Fullscreen (menu: no menu bar), 11=Carbon(dark (menu: a bar across the top), 12=Left list (menu: an always-open panel on the left), 13=RightListlist (menu: an always-open panel on the right). A theme decides where the menu is,15=Jalousieso a theme change can move it. When the person said where the menu must be, that decides the theme: left → 12, right → 13, top → 0 or 11. For colours use `color`: it keeps the theme, so the menu stays where it is.","type":"integer"}},"required": ⟨4 unchanged words⟩
ОтриматиTheполяform'sформиfieldsзwithназвамиnamesтаandтипами.types.ОБОВ'ЯЗКОВОALWAYSвикликайcallпередit before create_recordтаandствореннямbeforeрозсилокbuilding a newsletter,щобtoзнатиknowточніtheназвиexactтаnames and html_nameполівof the fields. A link field (rel) also says how many rows of this form hold a link (rows_linked), how many rows the linked table has (linked_table_rows), and any links to no row or to another table; a linked_column says what it shows. When someone asks why a lookup or a linked column is empty, answer from these facts, in the person's words (never these key names): rows_linked 0 with linked_table_rows > 0 means the rows exist but none picks one yet — say so and offer to pick them; do not add a new link field.
{"properties":{"all":{"description":"true =застосувати до всіхeveryрядківrow, false =тількиonlyзаrowsумовамиthat match the conditions","type":"boolean"},"app_id":{ ⟨6 unchanged words⟩ :"string"},"conditions":{"description":"УмовиConditions (колиwhen all=false). condition: is, is_not, contains, is_empty, is_not_empty, less_than, greater_thanтощоand so on","items":{"properties":{"condition":{"type":"string"},"join":{"description":"andабоor or","type":"string"},"property_id":{"description":"НазваFieldабоnameIDorполяID","type":"string"},"search":{ ⟨5 unchanged words⟩ :"array"},"criteria_name":{"description":"ТекстовийTheописconditionsумовin words (наприкладe.g.'Сума'Amountбільшеover 1000').Обов'язковоRequiredякщоwhen all=false.","type":"string"},"entity_id":{"description":"IDформиofабоtheзвітуform or report","type":"string"},"name":{"description":"НазваTheправилаrule's name","type":"string"},"property_ids":{"description":"НазвиNamesабоorIDIDsполівofдоtheякихfieldsзастосовуєтьсяtheформатуванняstyle applies to (порожньоempty =всіallколонкиcolumns)","items":{"type":"string"},"type":"array"},"settings":{"description":"СтильThe style: background_color (#hex), text_color (#hex), bold, italic, underline, strike (boolean), font_family, font_size (pxaчислоnumber of px), all_columns (boolean)","properties":{" ⟨35 unchanged words⟩
⟨11 unchanged words⟩ {"properties":{"date_field_id":{"description":"ПолеStartдатиdateпочаткуfield","type":"string"},"date_title_field_id":{"description":"ПолеFieldдляforназвиtheподіїevent's title","type":"string"},"date_title_type":{"description":"0=з0=fixedполяtext,1=фіксований1=fromтекстa field","type":"integer"},"end_date_field_id":{"description":"ПолеEndдатиdateкінцяfield (опційноoptional)","type":"string"},"entity_id":{"description":"IDFormформиID","type":"string"},"info_window":{"description":"Фіксований текстFixed popup text (якщоifinfo_window_type=1info_window_type=0)","type":"string"},"info_window_field_id":{"description":"ПолеFieldдляforдеталейtheподіїevent's details","type":"string"},"info_window_type":{"description":"0=з0=fixedполяtext,1=фіксований1=fromтекстa field","type":"integer"},"repeat_every_year":{"description":"Show the events again every year (birthdays, yearly deadlines)","type":"boolean"},"repeat_field_id":{"description":"A yes/no field of this form: only records where it is yes repeat every year","type":"string"},"title":{"description":"ФіксованийFixedзаголовокtitle (якщоifdate_title_type=1date_title_type=0)","type":"string"}},"type" ⟨14 unchanged words⟩
ОновитиЗмінитипараметриіснуючеіснуючогоправилоaction-правилаавтоматизації форми: тригер (тригераon_create/on_update),надіїформі.(send_email/update_record/…), лист, і головне — УМОВИ (conditions) та ПОЛЯ ОНОВЛЕННЯ (update_fields). Переданий список conditions/update_fields ЗАМІНЮЄ наявний цілком; не переданий — не чіпається. Відповідь містить підсумкову структуру правила — показуй її людині з відповіді, не з власного запиту.
{"properties":{"action_id":{"description":"IDactionправилаpropertyз list_action_rules — рядком, як повернуто (пріоритет над name)","type":"string"},"app_id":{"description":"ID проєкту","type":"string"},"conditions":{"description":"ПОВНИЙ новий список умов спрацювання (замінює старий)","items":{"properties":{"condition":{"description":"is, is_not, contains, is_empty, is_not_empty, less_than, greater_than тощо","type":"string"},"field_id":{"description":"Назва або ID поля","type":"string"},"join":{"description":"and або or","type":"string"},"search":{"type":"string"}},"type":"object"},"type":"array"},"email_body":{"type":"string"},"email_column":{"description":"Назва або ID поля з email отримувача","type":"string"},"email_recipient_source":{"description":"0=вказані адреси, 1=з поля форми, 2=власники запису","type":"integer"},"emails":{"description":"Email отримувачів (через кому)","type":"string"},"entity_id":{"description":"ID форми, у якій живе правило","type":"string"},"message":{"type":"string"},"name":{"description":"Назва правила для пошуку ⟨9 unchanged words⟩ назва правила","type":"string"},"numbers":{"type":"string"},"on_create":{"type":"boolean"},"on_update":{"type":"boolean"},"redirect":{"type":"boolean"},"send_email":{"type":"boolean"},"send_sms":{"type":"boolean"},"settings":{"description":"ХешЗастаріле:налаштуваньтідлясамізлиттяпростізатрибутипоточнимихешем.(action_triggerНевідомий ключ — помилка.","type":"object"},"show_message":{"type":"boolean"},"sms_body":{"type":"string"},"subject":{"type":"string"},"update_fields":{"description":"ПОВНИЙaction_typeновий список полів,email_template_idякітощоправило виставляє в записі (замінює старий; вмикає update_record)","items":{"properties":{"field_id":{"description":"Назва або ID поля","type":"string"},"set_current_time":{"type":"boolean"},"set_current_user":{"type":"boolean"},"val":{"description":"Нове значення","type":"string"}},"type":"object"},"type":"array"},"update_record":{"type":"boolean"},"url":{"type":"string"}},"required":["app_id","entity_id" ⟨2 unchanged words⟩