Skip to content

Add Copilot Studio WorkData pattern for structured AI-assisted form and entity collection #160

Description

@jirihoracek-creator

Problem or Use Case

Copilot Studio agents often need to help users complete structured, multi-turn forms or assessments where the AI orchestrator should inspect current state, extract missing information from natural language, ask follow-up questions, and persist collected evidence.

There are two common variants:

  1. Fixed questionnaire matrix: predefined rows where each row is a question/checklist item and answer/status/evidence columns are gradually filled until complete.
  2. Dynamic entity collection: homogeneous table where user or AI can add as many records as needed, such as AI features, risks, stakeholders, or requirements. A seed/example row may expose schema to orchestrator, then be removed on first real insert.

Without reusable guidance, these topics are easy to scatter across topic list, hard to name consistently, and error-prone to author manually.

Proposed Solution

Add reusable WorkData authoring pattern to Copilot Studio Author plugin.

Pattern should generate or guide creation of three topics per structured data section:

  • WorkData
    Initialize: OnActivity Message topic that initializes or seeds AI-visible global variable when blank.
  • WorkData
    Record: OnRecognizedIntent setter/upsert topic with AutomaticTaskInput inputs and shouldPromptUser=false. For fixed questionnaire data, update existing row by key. For dynamic collections, add new row or patch existing row by key.
  • WorkData
    Get: OnRecognizedIntent getter/status topic returning full current table/record for review and completeness checks.

Also include naming guidance, global variable guidance, agent instruction snippets, optional Dataverse JSON save/load guidance, and examples for fixed questionnaire matrices and dynamic entity collections.

Skill attached

SKILL.md

openai.yaml

workdata-pattern.md

Alternatives Considered

No response

Area

Skills

Additional Context

Pattern has been used in AI Act assessment agent that collects information / evidence for AI Act assessment. If the user does not provide any details, it leads them through the questionnaire and collects information. In case the details are provided by the user (e.g. a tool description), it extracts all the required information, records it and then only asks for the missing details.

Examples:

  • SystemDetails: fixed questionnaire matrix with question_code, question_name, question_description, user_answer. Record topic updates answer by question_code.
  • FeatureDetails: dynamic collection of AI feature records. Initializer seeds EXAMPLE row to show schema. Record topic removes example row on first real insert, generates feature_number, and patches only non-empty fields on update.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions