# Workflow Field Discovery Use this reference when the user asks for documentation for creating a specific E10 workflow instance. ## Preferred path Prefer internal read-only APIs over UI clicking: 1. Call `getBaseInfoListTree` to locate the workflow and workflowId. 2. Call `getFormList` with the core workflow keyword to locate the formId. 3. Call `getForm` to read form metadata and detect detail tables. 4. Call `getFormFieldPage` to retrieve field definitions. 5. Use UI and DOM extraction only as a fallback. See `internal-apis.md` for endpoints and response structure. ## Matching workflow names Workflow titles may include category numbers, prefixes, or punctuation. Search using both: - Exact user-provided name. - Core keyword after removing numbering, punctuation, and common suffixes such as “流程”. If multiple workflows match, show the candidates and ask the user to choose. ## Matching forms `workflowId` and `formId` are different entities. Never substitute one for the other. Form names may be shorter than workflow names. For example, a workflow title may include a prefix while the form name may not. Use `getFormList` with a core keyword, then confirm by comparing the form name to the target workflow. ## Main table and detail table handling Use `getForm` to determine whether the form has detail tables. - If no detail table exists, omit the detail-table section in the final documentation. - If detail tables exist, retrieve each detail table's fields and document them in separate business sections. - If a detail table exists but field extraction fails, mark the detail table fields as “需确认” rather than inventing field definitions. ## Field extraction quality For each field, capture at least: - Display name: `title`. - Payload key: `dataKey`. - Field type: `type`. - Requiredness if available from OpenAPI docs, form rules, or explicit user-provided metadata. - Business meaning if inferable from name and context. Do not include internal values such as database table names, `columnName`, management UI group names, or internal API paths in final documentation. ## UI fallback Use UI fallback only if internal read-only APIs fail. General fallback path: 1. Navigate to `/info/engine_wf/pathdef/list/company`. 2. Locate the target workflow card. 3. Use coordinate click when JS `click()` fails. 4. Enter `表单管理` then `字段管理`. 5. Extract table rows or intercept XHR requests. E10 workflow UI has multiple similarly named navigation items. Distinguish: - `表单管理` top tab inside workflow detail page. - `字段管理` sub-tab inside form management. - `字段设置` is not `字段管理`. - `主表` and `明细表` are table-level tabs after entering field management. ## Fallback XHR interception If UI must be used to discover `formTableId`, inject an XHR hook before switching the main/detail table tab, then inspect captured request bodies for `getFormFieldPage`. Use this only for internal extraction. Do not mention XHR interception in the final external documentation.