Install
openclaw skills install @informat365/informatUse when operating the 织信/Informat platform, including apps, tables, workflows, automations, scripts, APIs, dashboards, records, listeners, schedules, or platform-generated files.
openclaw skills install @informat365/informatThe current session message prefix provides:
informatclawThreadIdcall_informat.jsYou must use these absolute paths:
node "<absolute call_informat.js path from the runtime instruction>" <method> --threadId <informatclawThreadId> ...cat "<absolute Informat skill directory from the runtime instruction>/references/..."Do not use Read on /root/.informatclaw/config/skills/informat; do not use $INFORMAT_CONFIG_DIR, {baseDir}, /data/workspace/informat, or guessed paths; do not write or rely on scripts/.env.
Total 215 methods. The parameter definition file for each method is under {baseDir}/references/.
📚 Reference Documentation Directory:
{baseDir}/references/doc/contains complete platform development documentation:
references/doc/markdown/directory: Official platform core feature documentation (AI Assistant, API, Automation, Dashboard, Expression, Scheduled Tasks, Scripts, Data Tables, Tasks, Websites, etc.)references/doc/markdown/script/directory: Script API reference documentation, categorized by module (bpmn.md, table.md, http.md, etc.). Consult these first when developing scripts
Based on method name prefix, the system automatically selects the corresponding agent interface:
| Prefix | Interface Type | Required Parameters |
|---|---|---|
_wb_ | Workbench Agent | No extra parameters |
_company_ | Team Agent | No extra parameters |
| Common methods | Common Agent | No extra parameters |
| Other | Application Agent | --appId |
⚠️ The script has a built-in gate: before the first operation of a kind, read its domain design doc + parameter schema, otherwise the script refuses to run and returns a hint. The two proofs (_doc_ack = doc read, _ack = schema read) are merged into one — bring whichever the hint asks for, and one retry clears it:
# Step 1: Read the parameter schema (understand required/enum/type/nested structure)
cat {baseDir}/references/system_create_table_module.json
# Step 2: Read the domain design doc (the matching .md under references/doc/markdown/; take its header DOCKEY: <token>)
cat {baseDir}/references/doc/markdown/informat.table.md
# Step 3: Write the parameter file; per the hint add _doc_ack (=DOCKEY token) and/or _ack (=this method's REQUIRED param names, comma-separated)
# Both are "already read" proofs, stripped before sending to the backend. _ack only needs the REQUIRED names (not all).
echo '{"id":"t1","name":"Table","fields":[],"_doc_ack":"tbl-2e7a9","_ack":"id,name,fields"}' > params.json
# Step 4: Execute (the script still validates required/enum/type locally — the real safety net against fabricated args)
node {baseDir}/scripts/call_informat.js _create_table_module --appId <appId> --threadId <threadId> --file params.json
# Common/team/workbench methods (no --appId); read-only (query/list/read) and zero-arg methods skip the gate, need no _ack
node {baseDir}/scripts/call_informat.js _get_current_time --threadId <threadId>
The gate fires once per domain: _doc_ack/_ack proofs are tracked per domain (table/automatic/workflow/dashboard…) — after the first build method in a domain clears the gate, the rest of that domain's methods are no longer gated (e.g. after the 1st table, the next 11 tables pass straight through), backed by the step-4 local validation.
Handling gate feedback:
[First operation of this kind: please read the documentation and parameter definitions before calling] (exit 3) → first build in this domain. Per the hint, take the DOCKEY from the .md as _doc_ack, and the REQUIRED param names from the schema as _ack, then re-call with the business args (bring whatever the hint lists; one retry clears it). Never guess tokens/param names without reading.[Parameter validation failed: xxx] (exit 4) → missing required / illegal enum / wrong type. Fix per the schema and retry. This is the main defense against fabricated args after relaxing the gate — fix it carefully.[Before saving this script: read the SDK reference for each informat.* module it uses] (exit 5) → only _save_informat_script: the script/<module>.md for an informat.<module>.* used in the script (e.g. informat.table.*) has not been read this session. Read each script/<module>.md listed to verify exact signatures (argument count/order/position; common errors: tableId placed inside query, update written with three args), then re-call with _sdk_read=<comma-separated module names>. Each module is gated only once per session.[Before this operation: read the expression reference, as the payload contains a platform expression ${...}] (exit 6) → any write method whose arguments contain a platform expression ${...} (automation step values, formula fields, flow conditions, etc.) while informat.expression.md has not been read this session. Informat expressions are a platform DSL (UEL), not JavaScript; their syntax and available functions are defined by that document. Read informat.expression.md, then re-call with _expr_ack=<the DOCKEY token in the document header>. Gated only once per session (the ${} in _save_informat_script and _codestudio_* are native JS template literals and do not trigger this gate).[Blueprint not yet complete: finishing is not permitted] (exit 7) → only during full-app orchestration: you called _app_check_setting but some component category is below its built count. Continue creating the missing components listed (linked to the blueprint, not added as filler) then finish. Built counts are tallied automatically by name (covering table/automatic/script/api/workflow/dashboard/listener/schedule — once listeners or scheduled tasks are confirmed by the user during §2 alignment they must be declared in plan.targets and actually built, not silently dropped as "optional extensions" at build time); a verbal "done" cannot bypass it. To genuinely drop an item, re-register targets via _plan_set and explain.[Build artifact rejected: it violates the <domain> design rules] (exit 10) → build-artifact validation (anti context-decay): at the moment of building, deterministic per-domain rules are checked, independent of whether the document is still remembered. Covers dashboard (enableCardStyle must be true / Number card xPosition·yPosition both center / subTitle ≠ name / orderByList sort entries must be {field,type:asc|desc} objects, not a "count#desc" string / a card's width must fit the current row's remaining columns: the 24-column grid flows by order+width, so a width that overflows the row wraps and leaves a gap — fill each row to 24 and build cards in visual order / a ProChart must have a data source: proChartSetting.dataset non-empty with each entry binding a real tableId or expression, and series non-empty, else the chart is blank), automatic (each step's required references validated against the schema: OutputBpmnProcess needs bpmnModuleId+bpmnProcessDefineId+bpmnProcessStartFormTableId+bpmnProcessStartFormFieldList, OutputRecordCreate needs recordCreateTableId, CallScript needs scriptId+func, SetReturnValue needs valueVar, If needs expression+If.true/If.false branches; interaction-output steps need display content: OutputToast needs toastValueVar, OutputConfirm needs confirmTitleVar or confirmDialogTitleVar, OutputNotification needs messageVar or message, else a blank box pops on the client; funcSettingList must be non-empty), bpmn (a UserTask needs assignee+formSetting.tableId+at least one button / a return edge must not form a cycle from all-unconditional flows — carry a conditionExpression or use a TaskMoveToActivity button), listeners (eventList elements must be event-ID strings not objects / no top-level tableId / invokeType must have its executor), table (business fields must not be named id·seq / relation fields need a real target tableId), schedule (invokeType must have its executor / cron type needs a cron). The message includes a compact checklist; fix the payload per the checklist and re-call — no re-reading required. Fires only on an actual violation and never on legitimate variation._plan_set command (call_informat.js _plan_set --appId <id> --threadId <threadId> '{"targets":{...}}'), do not write the file yourself — the process often changes into a read-only directory, so a self-written file cannot be located and the gates fail.# 1. Query all application list
node {baseDir}/scripts/call_informat.js _company_app_list --threadId <threadId>
# 2. Find the target application ID from the returned results, use for subsequent calls
node {baseDir}/scripts/call_informat.js _query_app_define_designer --appId <appId> --threadId <threadId>
The server injects INFORMAT_HOST, INFORMAT_AGENT_TOKEN, and INFORMAT_AGENT_THREAD_ID at runtime. Calls only need to explicitly pass --threadId as described above. Never write or rely on scripts/.env.
INFORMAT_AGENT_TOKEN can be obtained at: /workbench/account/aiAgentApiKey
When you generate any file (Excel, PPT, PDF, Word, CSV, images, etc.) that users need to download:
_wb_upload_file to upload the file to platform storagedownloadUrl to the user as the download link# Example: Upload Excel after generation (base64 encoding, recommended for Docker compatibility)
# 1. Base64 encode the file and write params
node -e "const fs=require('fs');const b64=fs.readFileSync('/path/to/report.xlsx').toString('base64');fs.writeFileSync('params.json',JSON.stringify({fileName:'report.xlsx',fileContent:b64}))"
# 2. Call upload
node {baseDir}/scripts/call_informat.js _wb_upload_file --threadId <threadId> --file params.json
# Returns { "downloadUrl": "https://...", "fileName": "report.xlsx" }
# 3. Provide downloadUrl to the user
On receiving a request, do intent analysis first and split into two kinds — do NOT treat every request as a complete application:
_codestudio_* (AICodeStudio, a complete Vue 3 project). Follow the AICodeStudio guidance under "Website Resource - Website (Designer)": query or create the module, read informat.codestudio.md, write the Vue project, compile it, and preview it. Consider _website_* only for purely static display pages. Do not apply the default "data tables + dashboards + workflow" bundle to these requests unless the user explicitly also wants a backend business application.Iron rules:
_subtable_create_tool_bar_btn) or which listener/scheduled task — an action component that is created but not bound to an entry is unreachable by the user and equivalent to invalid configuration. Listeners/scheduled tasks are optional extensions; ask once during alignment when relevant, and build them only when meaningful and user-confirmed._plan_set (by default only the required three: call_informat.js _plan_set --appId <id> --threadId <threadId> '{"targets":{"table":N,"dashboard":N,"workflow":1}}'; if the user confirmed optional components, append automatic/script/api/listener/schedule counts; dashboard counts cards; do not write the file yourself — the script saves it to a session-stable location); ② read all module design docs the targets touch (table→informat.table.md, dashboard→informat.dashboard.uipreset.md, workflow→informat.bpmn.md; optional components: automatic→informat.automatic.md, script→informat.script.md, api→informat.api.md, listener→informat.listeners.md, schedule→informat.schedule.md) so modeling is grounded in documents; ③ execute components one by one in the order below and pass _app_check_setting._app_check_setting self-check→prompt the user to publish._app_check_setting checks built counts against plan.json (auto-counted by the script); below target it exits 7 and blocks, so the gaps must be filled before finishing — do not finish after only the major parts are done.cat informat_progress/<appId>.md to resume; after each step rewrite it (keep only Done-summary/Next/Key-IDs, bounded, no unbounded appending). It lets you resume quickly across conversations._app_check_setting returns any issue item (e.g. "module Ref not found …"), the script exits 9 and blocks. Those issues mean tables/modules are not actually attached to the app and publishing will fail — fix each one (recreate the missing module, rename conflicts), re-run the self-check until it returns an empty list, and only then report completion. Do not finish while unresolved issues remain, and do not falsely claim "build complete".Create/save/edit/delete calls that write app structure (create table _create_table_module, create fields, create dashboard cards _save_dashboard_*, create workflow nodes/flows _bpmn_*, _automatic_save_define, _api_create_define, _save_informat_script, etc.) must be executed one at a time, strictly sequentially. Never issue several at once with & / background / parallel batches.
Reason: each such call, on the backend, is "load the whole app module tree → add itself → save the whole tree back". Running several in parallel makes them overwrite each other, so tables/modules are created but not attached to the app module tree (invisible in the left panel, publish reports refNotFound). Actual incident: a for f in …; do node … & done; wait that created 8 tables in parallel ended up with only 2 surviving.
Iron rule: issue one write call, wait for its response, then issue the next. When many tables/cards are needed, loop sequentially — no &. (The script has a serialization lock as a backstop, but do not parallelize intentionally — it only queues and adds latency.)
Before performing any create or modify operation, you must first query the system's existing structure and obtain real IDs. Never fabricate any ID or field name.
Querying the list alone is not enough - you must further query the complete field structure of each related table. Because creating relational fields requires the target table's field IDs, knowing only the table ID is insufficient.
1. _company_app_list -> Get all existing applications including unique app identifiers
1. _query_table_list_designer -> Get all existing tables and their IDs
2. For each table that might be referenced, call
_query_table_define_designer -> Get the complete field list (field IDs, field types, option values, etc.)
This step cannot be skipped because relational fields require the target table's field IDs
3. cat {baseDir}/references/system_create_table_module.json -> Read parameter documentation
4. Use the queried real table IDs and field IDs to construct parameters and create the new table
Why you must query each table's field structure:
Default table-modeling rules (see top of informat.table.md; the build doc gate will require reading it):
1. _query_table_list_designer -> Get all table IDs
2. For the target data source table, call
_query_table_define_designer -> Get all field IDs and field types for the table
Without querying field structure, you cannot correctly configure aggregation fields, group fields, and filter conditions
3. _read_informat_dashboard_document -> Get dashboard documentation
4. _read_informat_dashboard_ui_preset -> Get UI presets (when the user does not explicitly specify styles, you must fill cardStyle per the presets;
all cards in the same dashboard must use the same theme palette; before creating multiple cards, pick one of the 6 layout templates first)
5. Read the parameter documentation for the card type:
cat {baseDir}/references/system_save_dashboard_prochart_card.json (chart)
or system_save_dashboard_number_card.json (number)
or system_save_dashboard_record_card.json (record)
or system_save_dashboard_pivot_card.json (pivot)
or system_save_dashboard_table_card.json (table)
6. Use the queried real field IDs to construct card parameters
7. Dashboard cards must be tested after publishing to confirm the user-side view is not blank, misaligned, or stuck on a no-data placeholder
1. _query_app_define_designer -> Get module list and existing automation groups
2. _query_table_list_designer -> Get all table IDs
3. For each table involved in the automation, call
_query_table_define_designer -> Get field IDs (field mapping and filter conditions in automation steps require real field IDs)
4. _automatic_doc -> Get automation documentation
5. cat {baseDir}/references/system_automatic_save_define.json -> Read parameter documentation
6. Use the queried real IDs to construct automation steps
1. cat references/doc/markdown/informat.bpmn.md -> workflow design doc (required; calling _bpmn_* is gated by the doc-read gate)
2. _query_app_define_designer -> Get module list
3. _query_table_list_designer + _query_table_define_designer -> Get tables and fields
4. _read_informat_expression_doc -> Get expression documentation (assignee/flow conditions are expressions)
5. Read the corresponding parameter documentation
6. Create in order: module -> process definition -> start configuration -> _bpmn_query_process_define to get StartEvent id -> multiple approval nodes (full form fields + approve/reject buttons + x/y) -> sequence flows (branch via multiple conditional flows from one source + one default) -> bind start button on the main table
The workflow must be multi-node, branched, fully wired, and table-bound — not a single node
1. _query_informat_script_list -> Get existing scripts and directories
2. _read_informat_script_sdk -> Get script SDK documentation
3. [Mandatory] Before calling any informat.<module>.*, you must Read {baseDir}/references/doc/markdown/script/<module>.md (e.g. table.md, bpmn.md, http.md) to verify exact signatures (argument count/order/position) — do not write from memory; on save, call_informat.js validates this and blocks with exit 5 if unread. Common errors: informat.table.queryList is (tableId, query), not tableId placed inside query; update is (tableId, data) with two args and the id inside data
4. First use _create_informat_script_directory to create directories by function (api/service/utils/mapper, etc.), and split scripts by responsibility into the right directory — never place all functions in a single js file
5. Read cat {baseDir}/references/system_save_informat_script.json
6. Create or edit script (when editing, must pass the existing script ID, do not create duplicates)
1. _query_table_list_designer -> Find the target table
2. _query_table_define_designer -> Get the complete field list of the table
3. _read_informat_expression_doc -> If expression configuration is needed
4. Read cat {baseDir}/references/system_edit_table_field.json
5. Use real tableId and fieldId to operate
1. _query_all_table_list -> Get published table IDs
2. _query_table_define -> Get published field structure
3. Read the corresponding parameter documentation
4. Use real field IDs to construct record data
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [User] | _wb_set_curr_appid | Set current session context application ID | references/system_wb_set_curr_appid.json MUST READ |
| [User] | _wb_process_define_list | Get workflow list available to current user | none |
| [User] | _wb_get_process_define | Get specified workflow process definition configuration | references/system_wb_get_process_define.json MUST READ |
| [User] | _wb_get_table_info | Get specified data table structure information | references/system_wb_get_table_info.json MUST READ |
| [User] | _wb_get_login_info | Get my login info including user info and system configuration | none |
| [User] | _wb_create_instance | Create and start workflow process instance | references/system_wb_create_instance.json MUST READ |
| [User] | _wb_query_instance_list | Query all process instances initiated by current user (cross-app) | references/system_wb_query_instance_list.json MUST READ |
| [User] | _wb_query_instance_info | Query workbench process instance details | references/system_wb_query_instance_info.json MUST READ |
| [User] | _wb_query_task_list | Query workbench workflow task list (cross-app) | references/system_wb_query_task_list.json MUST READ |
| [User] | _wb_query_task_info | Query workbench workflow task details | references/system_wb_query_task_info.json MUST READ |
| [User] | _wb_complete_task | Complete (approve) workbench workflow task | references/system_wb_complete_task.json MUST READ |
| [User] | _wb_ask_ai | Ask AI assistant | references/system_wb_ask_ai.json MUST READ |
| [User] | _wb_upload_file | Upload file to platform storage and return download URL | references/system_wb_upload_file.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Team] | _company_app_list | Query application list | none |
| [Team] | _company_app_create | Create application | references/system_company_app_create.json MUST READ |
| [Team] | _company_app_update | Update team application info (name, group, etc.) | references/system_company_app_update.json MUST READ |
| [Team] | _company_app_group_list | Get application group list | none |
| [Team] | _company_app_group_create | Create application group | references/system_company_app_group_create.json MUST READ |
| [Team] | _company_app_group_update | Update application group | references/system_company_app_group_update.json MUST READ |
| [Team] | _company_app_group_delete | Delete application group (dangerous operation) | references/system_company_app_group_delete.json MUST READ |
| [Team] | _company_department_list | Get team department list | none |
| [Team] | _company_department_create | Create a new department in the company | references/system_company_department_create.json MUST READ |
| [Team] | _company_department_update | Update an existing department in the company | references/system_company_department_update.json MUST READ |
| [Team] | _company_department_delete | Delete an existing department in the company (dangerous operation) | references/system_company_department_delete.json MUST READ |
| [Team] | _company_role_list | Query role list | none |
| [Team] | _company_role_create | Create a new role in the company | references/system_company_role_create.json MUST READ |
| [Team] | _company_role_update | Update an existing role in the company | references/system_company_role_update.json MUST READ |
| [Team] | _company_role_delete | Delete an existing role in the company (dangerous operation) | references/system_company_role_delete.json MUST READ |
| [Team] | _company_role_permission_list | Query available role permissions | none |
| [Team] | _company_member_list | Query team member list | references/system_company_member_list.json MUST READ |
| [Team] | _company_member_list_count | Get the total count of company members | none |
| [Team] | _company_member_create | Add existing account as team member | references/system_company_member_create.json MUST READ |
| [Team] | _company_member_create_new | Create new account and add as team member | references/system_company_member_create_new.json MUST READ |
| [Team] | _company_member_update | Update team member | references/system_company_member_update.json MUST READ |
| [Team] | _company_member_delete | Delete team member (dangerous operation) | references/system_company_member_delete.json MUST READ |
| [Team] | _company_member_info | Query team member details | references/system_company_member_info.json MUST READ |
| [Team] | _company_get_ai_model_list | Get team AI model list | none |
| [Team] | _company_knowledgebase_search | Search team knowledge base by keyword | references/system_company_knowledgebase_search.json MUST READ |
| [Team] | _company_knowledgebase_list | List team knowledge-base folders available to the current account | references/system_company_knowledgebase_list.json MUST READ |
| [Team] | _company_expert_list | Query team expert list | references/system_company_expert_list.json MUST READ |
| [Team] | _company_expert_get | Get complete team expert configuration | references/system_company_expert_get.json MUST READ |
| [Team] | _company_expert_save | Create or update a team expert | references/system_company_expert_save.json MUST READ |
| [Team] | _company_expert_team_get | Get complete team expert team configuration | references/system_company_expert_team_get.json MUST READ |
| [Team] | _company_expert_team_save | Create or update a team expert team | references/system_company_expert_team_save.json MUST READ |
[Designer] = Draft environment. [User] = Published environment.
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _api_create_define | Create API definition (optional parentId to group it) | references/system_api_create_define.json MUST READ |
| [Designer] | _api_create_directory | Create API group directory (deduped by name, returns dir id for parentId) | references/system_api_create_directory.json MUST READ |
| [Designer] | _api_delete_define | Delete API definition (dangerous operation) | references/system_api_delete_define.json MUST READ |
| [Designer] | _api_doc | Query Informat API documentation | none |
| [Designer] | _api_query_define_designer | Query single API detailed definition | references/system_api_query_define_designer.json MUST READ |
| [Designer] | _api_query_define_list | Query API definition list under application | none |
| [Designer] | _api_update_define | Update API definition, updateFieldList declares fields to modify | references/system_api_update_define.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _app_check_setting | Validate draft configuration legality before publishing | none |
| [Designer] | _app_create_role | Create application role | references/system_app_create_role.json MUST READ |
| [Designer] | _app_query_role_by_id | Query application role details by role key (permissionList returns module key format) | references/system_app_query_role_by_id.json MUST READ |
| [Designer] | _app_update_role | Update application role name and remark, updateFieldList declares fields to modify | references/system_app_update_role.json MUST READ |
| [Designer] | _app_permission_list | Query custom app permissions (table moduleId returns table key) | none |
| [Designer] | _app_permission_create | Create custom app permission (pass table key as moduleId for table modules) | references/system_app_permission_create.json MUST READ |
| [Designer] | _app_permission_update | Update custom app permission, updateFieldList declares fields to modify | references/system_app_permission_update.json MUST READ |
| [Designer] | _app_permission_delete | Delete custom app permission and remove it from roles | references/system_app_permission_delete.json MUST READ |
| [Designer] | _app_delete_draft_define | Delete draft version Define (irreversible) | references/system_app_delete_draft_define.json MUST READ |
| [Designer] | _app_get_define_list | Get application definition object list | references/system_app_get_define_list.json MUST READ |
| [Designer] | _app_get_define_object | Get single definition object details | references/system_app_get_define_object.json MUST READ |
| [Designer] | _app_get_define_type | Get supported definition object types | none |
| [Designer] | _app_define_object_log_count | Query design change log count | references/system_app_define_object_log_count.json MUST READ |
| [Designer] | _app_get_draft_define_count | Draft change count statistics | none |
| [Designer] | _app_get_draft_define_list | Draft object list | none |
| [Designer] | _app_publish | Publish application to production | references/system_app_publish.json MUST READ |
| [Designer] | _app_set_themestyle | Set application theme style (query _app_themestyle_doc first) | references/system_app_set_themestyle.json MUST READ |
| [Designer] | _app_update_basic_info | Update application basic information (theme color, menu colors, navigation bar style, etc.) | references/system_app_update_basic_info.json MUST READ |
| [Designer] | _app_themestyle_doc | Query application theme style documentation | none |
| [Designer] | _query_app_define_designer | Query designer application configuration (module list, roles, APIs, automation groups, etc.) | none |
| [Designer] | _create_module_group | Create module group | references/system_create_module_group.json MUST READ |
| [Designer] | _update_module_and_group_order | Update module sorting | references/system_update_module_and_group_order.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _create_table_module | Create data table (must query existing tables and field structures first) | references/system_create_table_module.json MUST READ |
| [Designer] | _create_table_field_group | Create data table field group | references/system_create_table_field_group.json MUST READ |
| [Designer] | _update_table_field_group | Update data table field group | references/system_update_table_field_group.json MUST READ |
| [Designer] | _table_save_filter_condition | Set data table view filter condition | references/system_table_save_filter_condition.json MUST READ |
| [Designer] | _table_save_datasource_dbview | Save database view table SQL configuration | references/system_table_save_datasource_dbview.json MUST READ |
| [Designer] | _table_create_tool_bar_button | Create data table toolbar button (supports calling script or automation) | references/system_table_create_tool_bar_button.json MUST READ |
| [Designer] | _table_list_tool_bar_button | Query data table toolbar button list | references/system_table_list_tool_bar_button.json MUST READ |
| [Designer] | _table_update_tool_bar_button | Update data table toolbar button | references/system_table_update_tool_bar_button.json MUST READ |
| [Designer] | _table_delete_tool_bar_button | Delete data table toolbar button | references/system_table_delete_tool_bar_button.json MUST READ |
| [Designer] | _table_create_form_tool_bar_btn | Create data table form toolbar button (supports calling script or automation) | references/system_table_create_form_tool_bar_btn.json MUST READ |
| [Designer] | _table_list_form_tool_bar_btn | Query data table form toolbar button list | references/system_table_list_form_tool_bar_btn.json MUST READ |
| [Designer] | _table_update_form_tool_bar_btn | Update data table form toolbar button | references/system_table_update_form_tool_bar_btn.json MUST READ |
| [Designer] | _table_del_form_tool_bar_btn | Delete data table form toolbar button | references/system_table_del_form_tool_bar_btn.json MUST READ |
| [Designer] | _subtable_create_tool_bar_btn | Create subtable toolbar button (Relation/LookupList fields only, supports add row, delete, call script or automation) | references/system_subtable_create_tool_bar_btn.json MUST READ |
| [Designer] | _subtable_list_tool_bar_btn | Query subtable toolbar button list | references/system_subtable_list_tool_bar_btn.json MUST READ |
| [Designer] | _subtable_update_tool_bar_btn | Update subtable toolbar button | references/system_subtable_update_tool_bar_btn.json MUST READ |
| [Designer] | _subtable_delete_tool_bar_btn | Delete subtable toolbar button | references/system_subtable_delete_tool_bar_btn.json MUST READ |
| [Designer] | _query_table_list_designer | Query all tables in designer (including unpublished, does not return field structure) | none |
| [Designer] | _query_table_define_designer | Query designer data table field structure | references/system_query_table_define_designer.json MUST READ |
| [Designer] | _query_table_field_designer | Query single field detailed configuration | references/system_query_table_field_designer.json MUST READ |
| [Designer] | _edit_table_field | Edit field (must query table structure to get real IDs first) | references/system_edit_table_field.json MUST READ |
| [Designer] | _edit_table_module | Modify data table module information | references/system_edit_table_module.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _bpmn_create_module | Create workflow module | references/system_bpmn_create_module.json MUST READ |
| [Designer] | _bpmn_create_process_define | Create process definition | references/system_bpmn_create_process_define.json MUST READ |
| [Designer] | _bpmn_update_start_setting | Update process start configuration | references/system_bpmn_update_start_setting.json MUST READ |
| [Designer] | _bpmn_create_or_update_node | Create/update process node | references/system_bpmn_create_or_update_node.json MUST READ |
| [Designer] | _bpmn_create_or_update_flow | Create/update sequence flow | references/system_bpmn_create_or_update_flow.json MUST READ |
| [Designer] | _bpmn_delete_node | Delete process node | references/system_bpmn_delete_node.json MUST READ |
| [Designer] | _bpmn_delete_flow | Delete sequence flow | references/system_bpmn_delete_flow.json MUST READ |
| [Designer] | _bpmn_query_process_define | Query process definition details | references/system_bpmn_query_process_define.json MUST READ |
| [Designer] | _bpmn_query_process_define_list | Query process definition list under module | references/system_bpmn_query_process_define_list.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _automatic_create_group | Create automation group (query _query_app_define_designer first to avoid duplication) | references/system_automatic_create_group.json MUST READ |
| [Designer] | _automatic_delete_group | Delete automation group | references/system_automatic_delete_group.json MUST READ |
| [Designer] | _automatic_update_group | Edit automation group | references/system_automatic_update_group.json MUST READ |
| [Designer] | _automatic_save_define | Save automation configuration (must query table structure to get field IDs before creation) | references/system_automatic_save_define.json MUST READ |
| [Designer] | _automatic_query_define | Query automation configuration | references/system_automatic_query_define.json MUST READ |
| [Designer] | _automatic_run_once | Execute automation immediately (high risk, confirm first) | references/system_automatic_run_once.json MUST READ |
| [Designer] | _automatic_doc | Read automation documentation | none |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _create_dashboard_module | Create dashboard module | references/system_create_dashboard_module.json MUST READ |
| [Designer] | _query_dashboard_list_designer | Query all dashboards | none |
| [Designer] | _query_dashboard_card_list | Query dashboard card list | references/system_query_dashboard_card_list.json MUST READ |
| [Designer] | _query_dashboard_card_detail | Query card details | references/system_query_dashboard_card_detail.json MUST READ |
| [Designer] | _delete_dashboard_card | Delete dashboard card | references/system_delete_dashboard_card.json MUST READ |
| [Designer] | _save_dashboard_number_card | Create/edit number card (query table structure to get field IDs first) | references/system_save_dashboard_number_card.json MUST READ |
| [Designer] | _save_dashboard_prochart_card | Create/edit chart card (query table structure to get field IDs first) | references/system_save_dashboard_prochart_card.json MUST READ |
| [Designer] | _save_dashboard_record_card | Create/edit record card (Record type, displays data source table records with filter/sort/column config/pagination, columnList required) | references/system_save_dashboard_record_card.json MUST READ |
| [Designer] | _save_dashboard_pivot_card | Create/edit pivot card (Pivot type, cross-grouping by row/column dimensions with value field aggregation, colFieldId required) | references/system_save_dashboard_pivot_card.json MUST READ |
| [Designer] | _save_dashboard_table_card | Create/edit table card (Table type, data source is automation or expression, does not read data tables directly) | references/system_save_dashboard_table_card.json MUST READ |
| [Designer] | _read_informat_dashboard_document | Informat dashboard chart documentation | none |
| [Designer] | _read_informat_dashboard_ui_preset | Read dashboard UI preset documentation (7 theme palettes, 6 layout templates, card style presets, beautified defaults per chart type; must call before every card create/edit) | none |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _create_informat_script_directory | Create script directory | references/system_create_informat_script_directory.json MUST READ |
| [Designer] | _save_informat_script | Save script (must pass existing ID when editing) | references/system_save_informat_script.json MUST READ |
| [Designer] | _query_informat_script_list | Query script list | none |
| [Designer] | _query_informat_script_content | Query script content | references/system_query_informat_script_content.json MUST READ |
| [Designer] | _execute_informat_script_designer | Execute script in designer | references/system_execute_informat_script_designer.json MUST READ |
| [Designer] | _script_save_git_config | Save script Git repository configuration | references/system_script_save_git_config.json MUST READ |
| [Designer] | _script_pull_from_git | Pull scripts from Git repository to application | none |
| [Designer] | _script_push_to_git | Push application scripts to Git repository | references/system_script_push_to_git.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _schedule_create_define | Create scheduled task | references/system_schedule_create_define.json MUST READ |
| [Designer] | _schedule_update_define | Update scheduled task | references/system_schedule_update_define.json MUST READ |
| [Designer] | _schedule_delete_define | Delete scheduled task | references/system_schedule_delete_define.json MUST READ |
| [Designer] | _schedule_query_define_designer | Query scheduled task details | references/system_schedule_query_define_designer.json MUST READ |
| [Designer] | _schedule_query_define_list | Query scheduled task list | none |
| [Designer] | _schedule_run_once | Trigger once immediately | references/system_schedule_run_once.json MUST READ |
| [Designer] | _schedule_doc | Query scheduled task documentation | none |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _i18n_query_define_designer | Query internationalization configuration | none |
| [Designer] | _i18n_save_define_designer | Save translation definition | references/system_i18n_save_define_designer.json MUST READ |
| [Designer] | _i18n_save_locale_designer | Save language list | references/system_i18n_save_locale_designer.json MUST READ |
| [Designer] | _i18n_set_app_name | Set application internationalized name | references/system_i18n_set_app_name.json MUST READ |
| [Designer] | _i18n_set_module_name | Set module internationalized name | references/system_i18n_set_module_name.json MUST READ |
| [Designer] | _i18n_set_table_field_name | Set field internationalized name | references/system_i18n_set_table_field_name.json MUST READ |
| [Designer] | _i18n_set_field_option_name | Set option value internationalized name | references/system_i18n_set_field_option_name.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _website_create_module | Create website module (query first to avoid duplication) | references/system_website_create_module.json MUST READ |
| [Designer] | _website_create_directory | Create resource directory | references/system_website_create_directory.json MUST READ |
| [Designer] | _website_save_resource | Create/edit resource (query ID first when editing) | references/system_website_save_resource.json MUST READ |
| [Designer] | _website_delete_resource | Delete resource | references/system_website_delete_resource.json MUST READ |
| [Designer] | _website_query_define_designer | Query website module details | references/system_website_query_define_designer.json MUST READ |
| [Designer] | _website_query_list_designer | Query all website modules | none |
| [Designer] | _website_query_resource | Query resource details | references/system_website_query_resource.json MUST READ |
| [Designer] | _website_preview | Preview website | references/system_website_preview.json MUST READ |
| [Designer] | _website_read_informat_doc | Read website designer documentation | none |
| [Designer] | _codestudio_list_modules | List existing AICodeStudio modules of the current app (query before creating; reuse when possible) | none |
| [Designer] | _codestudio_create_module | Create AICodeStudio module (full Vue3 project, returns moduleId) | references/system_codestudio_create_module.json MUST READ |
| [Designer] | _codestudio_list_files | List all source files of the module | references/system_codestudio_list_files.json MUST READ |
| [Designer] | _codestudio_read_file | Read a single source file | references/system_codestudio_read_file.json MUST READ |
| [Designer] | _codestudio_write_file | Create/overwrite a single source file | references/system_codestudio_write_file.json MUST READ |
| [Designer] | _codestudio_create_script | Create/update a script for the module (auto ai_{moduleId}_ prefix + comment + group) | references/system_codestudio_create_script.json MUST READ |
| [Designer] | _codestudio_create_api | Create/update an API for the module (auto ai/{moduleId}/ prefix + group) | references/system_codestudio_create_api.json MUST READ |
| [Designer] | _codestudio_compile | Compile and return structured build errors (always call after writing; self-fix from errors) | references/system_codestudio_compile.json MUST READ |
| [Designer] | _codestudio_preview | Get the preview URL | references/system_codestudio_preview.json MUST READ |
Frontend/website choice guidance: For interactive, component-based frontends with routing/state/charts → prefer
_codestudio_*(AICodeStudio, full Vue3 project); use_website_*only for purely static display pages. Pick one per requirement; do not mix. ★ Query before creating: Before calling_codestudio_create_module, you MUST first call_codestudio_list_modulesto check whether the current app already has a suitable AICodeStudio module — reuse its moduleId if so. Do not create duplicate modules in the same app. ★★ Before building a codestudio app, you MUST readreferences/doc/markdown/informat.codestudio.mdin full (the end-to-end guide: create module → query tables → create scripts → create APIs → write Vue → compile → preview, covering script signature / error envelope / callApi unwrap / file-write boundary / npm whitelist and every known pitfall). Calling_codestudio_*without reading it almost always fails. ★ codestudio data-binding rule: When a codestudio module needs to read/write platform table data, scripts/APIs MUST be created via_codestudio_create_script/_codestudio_create_api(backend auto-applies theai_{moduleId}_/ai/{moduleId}/prefix + grouping, and same-name scripts / same-path APIs update the original resource). Do NOT use raw_save_informat_script/_api_create_define, and do NOT createxxx2/list2to bypass duplicates — otherwise resources won't be attributed to the module or will pollute the app with duplicates. In Vue,callApi(path)uses the full path returned by_codestudio_create_api.
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _aiassistant_create | Create AI assistant module | references/system_aiassistant_create.json MUST READ |
| [Designer] | _aiassistant_update | Update AI assistant module | references/system_aiassistant_update.json MUST READ |
| [Designer] | _aiassistant_delete | Delete AI assistant module | references/system_aiassistant_delete.json MUST READ |
| [Designer] | _aiassistant_doc | Query AI assistant documentation | none |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _app_listener_create | Create a new listener definition | references/system_app_listener_create.json MUST READ |
| [Designer] | _app_listener_update | Update listener definition, updateFieldList declares fields to modify | references/system_app_listener_update.json MUST READ |
| [Designer] | _app_listener_delete | Delete listener definition (if it's a directory, all listeners under it will also be deleted) | references/system_app_listener_delete.json MUST READ |
| [Designer] | _app_listener_list | Query listener definition list under current application (tree structure, includes directories and sub-listeners) | none |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Designer] | _survey_create_module | Create survey module | references/system_survey_create_module.json MUST READ |
| [Designer] | _survey_create_item | Create survey question | references/system_survey_create_item.json MUST READ |
| [Designer] | _survey_update_item | Update survey question | references/system_survey_update_item.json MUST READ |
| [Designer] | _survey_delete_item | Delete survey question | references/system_survey_delete_item.json MUST READ |
| [Designer] | _survey_query_define_designer | Query survey configuration | references/system_survey_query_define_designer.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [User] | _query_app_define | Query published application configuration (module list, roles, APIs, etc.) | none |
| [User] | _query_app_user | Query current user's roles and permissions in this application (admin has all permissions without permissionList; non-admin returns moduleKey_PermissionName format) | none |
| [User] | _query_app_user_list | Query account information (ID, email, supervisor, department) | references/system_query_app_user_list.json MUST READ |
| [Team] | _wb_create_user_schedule | Create a team scheduled task (UserSchedule/t_user_schedule), not an application designer scheduled task | references/system_wb_create_user_schedule.json MUST READ |
| [User] | _app_member_create | Add existing team members to the current application | references/system_app_member_create.json MUST READ |
| [User] | _app_member_update | Update application member role information | references/system_app_member_update.json MUST READ |
| [User] | _app_member_delete | Remove a member from the current application (dangerous operation) | references/system_app_member_delete.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [User] | _query_all_table_list | Query all published data tables (does not return field structure) | none |
| [User] | _query_table_define | Query published table field structure (for record operations) | references/system_query_table_define.json MUST READ |
| [User] | _query_table_record_list | Query data table records by condition | references/system_query_table_record_list.json MUST READ |
| [User] | _query_table_record_list_count | Count records matching conditions | references/system_query_table_record_list_count.json MUST READ |
| [User] | _table_record_batch_insert | Batch insert records (query table structure to get field IDs first) | references/system_table_record_batch_insert.json MUST READ |
| [User] | _table_record_batch_update | Batch update records | references/system_table_record_batch_update.json MUST READ |
| [User] | _table_record_batch_delete | Batch delete records (dangerous operation) | references/system_table_record_batch_delete.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [User] | _bpmn_create_instance | Create and start workflow process instance (query process definition first) | references/system_bpmn_create_instance.json MUST READ |
| [User] | _bpmn_query_instance_list | Query process instances initiated by current user | references/system_bpmn_query_instance_list.json MUST READ |
| [User] | _bpmn_query_instance_info | Query process instance details | references/system_bpmn_query_instance_info.json MUST READ |
| [User] | _bpmn_query_task_list | Query workflow tasks assigned to current user | references/system_bpmn_query_task_list.json MUST READ |
| [User] | _bpmn_query_task_info | Query workflow task details | references/system_bpmn_query_task_info.json MUST READ |
| [User] | _bpmn_complete_task | Complete (approve) workflow task | references/system_bpmn_complete_task.json MUST READ |
| [User] | _bpmn_process_define_list | Get process definition list | none |
| [User] | _bpmn_get_process_define | Get process definition details | references/system_bpmn_get_process_define.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [User] | _query_all_textindex_list | Query search engine module list | none |
| [User] | _textindex_search | Search engine keyword search | references/system_textindex_search.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [User] | _knowledgebase_search | Knowledge base keyword search | references/system_knowledgebase_search.json MUST READ |
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [User] | _send_notification | Send in-app notification | references/system_send_notification.json MUST READ |
The following methods do not require
--appId, call them directly.
| Side | Method Name | Description | Parameter Document |
|---|---|---|---|
| [Common] | _app_get_web_url | Get application Web root URL | none |
| [Common] | _app_doc | Query application documentation | none |
| [Common] | _javascript_eval | Execute JavaScript code | references/system_javascript_eval.json MUST READ |
| [Common] | _render_html | Render HTML content | references/system_render_html.json MUST READ |
| [Common] | _web_content | Get web URL content | references/system_web_content.json MUST READ |
| [Common] | _get_current_time | Get current time | none |
| [Common] | _get_current_user | Get current user | none |
| [Common] | _read_informat_expression_doc | Informat expression documentation | none |
| [Common] | _read_informat_script_sdk | Informat script SDK documentation | none |
| [Common] | _list_informat_markdown | List all available Markdown documents | none |
| [Common] | _read_informat_markdown | Read specified Markdown document content (supports subdirectories like script/) | references/system_read_informat_markdown.json MUST READ |
| [Common] | _read_office_file | Read Office document content | references/system_read_office_file.json MUST READ |
| [Common] | _send_system_email | Send email | references/system_send_system_email.json MUST READ |
Note:
_send_notification(send notification) and_read_informat_dashboard_document(dashboard documentation) are Application Agent methods and must be called with--appId.
Consult directly without API calls, under {baseDir}/references/doc/ directory:
Core Feature Documentation (doc/markdown/ directory):
| Document Filename | Description |
|---|---|
informat.aiassistant.md | AI Assistant Development Documentation |
informat.api.md | Open API Documentation |
informat.app.md | Application Documentation |
informat.bpmn.md | Workflow design doc (six-step creation order + approval-node depth config + branching gateways + countersign/or-sign + x/y layout + table start button; must-read before building a workflow; calling _bpmn_* is gated by the doc-read gate) |
informat.app.role.md | Application Role Permission Documentation |
informat.app.themestyle.md | Application Theme Style Documentation |
informat.automatic.md | Automation Process Documentation |
informat.company.md | Team Documentation (members, roles, organization structure) |
informat.dashboard.md | Dashboard Development Documentation |
informat.dashboard.uipreset.md | Dashboard UI Preset Documentation (theme palettes, layout templates, card style presets) |
informat.expression.md | Expression Syntax Documentation |
informat.listeners.md | App Listener Documentation |
informat.schedule.md | Scheduled Task Documentation |
informat.script.md | Script Development Overview |
informat.table.md | Data Table Design Documentation |
informat.website.md | Website Designer Documentation |
informat.codestudio.md | AI Code Studio end-to-end guide (build a full Vue app via _codestudio_*: module→script→API→Vue→compile→preview) |
Script API Documentation (doc/markdown/script/ directory): Categorized by module (bpmn.md, table.md, http.md, etc.), with method descriptions, parameter definitions, and sample code.
Q: Application module identifier already exists? The module ID is already in use, you need to use a different one.
Q: How to get the module list of an application? Use _query_app_define_designer.
Q: Application access URL? {host}/app/{appId}