Skip to main content
Glama
marco-looy

Pega DX MCP Server

by marco-looy

refresh_case_action

Refresh case action form data after property changes, execute Data Transforms, and handle table row operations in modals with automatic eTag management.

Instructions

Refresh case action form data with updated values after property changes, execute Data Transforms, and handle table row operations in modals. If no eTag is provided, automatically fetches the latest eTag from the case action for seamless operation. Supports form refresh settings configured in Flow Action rules, generative AI form filling, and embedded list operations with comprehensive validation and preprocessing execution. The API validates case and action IDs, retrieves view data, and returns information about fields affected by the refresh action. Supports Pega Infinity '25 features including table row operations in modals.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
caseIDYesCase ID. Example: "MYORG-APP-WORK C-1001". Complete identifier including spaces.
actionIDYesAction ID for case/stage action (Example: "pyUpdateCaseDetails", "pyApproval"). CRITICAL: Action IDs are CASE-SENSITIVE and have no spaces even if display names do ("Edit details" → "pyUpdateCaseDetails"). Use get_case to find correct ID from availableActions array - use "ID" field not "name" field.
eTagNoOptional. Auto-fetched if omitted. For faster execution, use eTag from previous response.
refreshForNoProperty name that triggers refresh when changed. Executes Data Transform from form refresh settings.
fillFormWithAINoWhether to fill form with AI-generated sample values. Requires EnableGenerativeAI toggle. Default: false
operationNoString value indicating table row operation type for embedded list properties using modals (Pega Infinity '25+ feature). "showRow" is used when a row is being added or edited in a modal, triggering preprocessing of the interestPageActionID Action. "submitRow" is used when a row is being submitted, triggering validation and post-processing of the interestPageActionID Action. Only supported for table row operations in modals.
contentNoMap of scalar properties and embedded page properties to be merged into the case during the refresh operation. Field values provided here will overwrite any settings made from preprocessing Data Transforms. Only fields that are present in the case action's view and are editable can be effectively updated. Non-visible fields cannot be set and updates to them may be lost in subsequent operations.
pageInstructionsNoOptional list of page-related operations for embedded pages, page lists, or page groups. Required for setting embedded page references.
contextDataNoBoolean value to fetch contextData or full view response. When true, returns only context data for improved performance. When false or not provided, returns the full view response including UI metadata. Default: false.
interestPageNoTarget page specification for table row operations on embedded list properties. Example: ".OrderItems(1)" to target the first item in the OrderItems page list. This parameter is required when operation parameter is specified. Used with interestPageActionID to identify the specific embedded page and action for modal-based table operations.
interestPageActionIDNoAction ID for the embedded list operation Action rule. Example: "EmbeddedAction". This specifies the Flow Action rule that defines the preprocessing, validation, and post-processing logic for the table row operation. Required when operation parameter is specified. Only fields present in this Action's view can be modified during pre/post-processing.
originChannelNoOptional origin channel identifier for this service request. Indicates the source of the request for tracking and audit purposes. Examples: "Web", "Mobile", "WebChat". Default value is "Web" if not specified.
sessionCredentialsNoOptional session-specific credentials. If not provided, uses environment variables. Supports two authentication modes: (1) OAuth mode - provide baseUrl, clientId, and clientSecret, or (2) Token mode - provide baseUrl and accessToken.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed11 schema fields changedv1.0.0
    • changedInput schema / properties / actionID / description
      Previous value: -"Name of the case action - ID of the flow action rule. This corresponds to the Flow Action rule configured in the Pega application where form refresh settings are defined. Example: \"pyUpdateCaseDetails\", \"CompleteReview\", \"Approve\"."New value: +"Action ID for case/stage action (Example: \"pyUpdateCaseDetails\", \"pyApproval\"). CRITICAL: Action IDs are CASE-SENSITIVE and have no spaces even if display names do (\"Edit details\" → \"pyUpdateCaseDetails\"). Use get_case to find correct ID from availableActions array - use \"ID\" field not \"name\" field."
    • changedInput schema / properties / caseID / description
      Previous value: -"Full case handle (case ID) to perform refresh on. Format: {OrgID}-{AppName}-{CaseType} {CaseNumber}. Example: \"ON6E5R-DIYRecipe-Work-RecipeCollection R-1008\". Must be a complete case identifier including spaces and special characters."New value: +"Case ID. Example: \"MYORG-APP-WORK C-1001\". Complete identifier including spaces."
    • changedInput schema / properties / eTag / description
      Previous value: -"Required eTag unique value representing the most recent save date time (pxSaveDateTime) of the case. This must be equal to the eTag header from the response of the most recent case update request, or from a get_case_action request for this case action. Used for optimistic locking to prevent concurrent modification conflicts."New value: +"Optional. Auto-fetched if omitted. For faster execution, use eTag from previous response."
    • changedInput schema / properties / fillFormWithAI / description
      Previous value: -"Boolean value indicating whether to fill form with sample values using generative AI. This parameter works in conjunction with the EnableGenerativeAI toggle. When EnableGenerativeAI is turned on and fillFormWithAI=true, the system will attempt to generate appropriate form values using AI. Default: false."New value: +"Whether to fill form with AI-generated sample values. Requires EnableGenerativeAI toggle. Default: false"
    • changedInput schema / properties / pageInstructions / description
      Previous value: -"List of page-related operations to be performed on embedded pages, page lists, or page group properties included in the case action's view during the refresh. These operations allow manipulation of complex data structures within the case. Each instruction specifies the operation type and target page structure. Only pages included in the case action's view can be modified."New value: +"Optional list of page-related operations for embedded pages, page lists, or page groups. Required for setting embedded page references."
    • addedInput schema / properties / pageInstructions / items / description
      Added value: +"Page operation for embedded pages. Use REPLACE instruction to set embedded page references with full object including pzInsKey. Example: {\"instruction\": \"REPLACE\", \"target\": \"PageName\", \"content\": {\"Property\": \"value\", \"pyID\": \"ID-123\", \"pzInsKey\": \"CLASS-NAME ID-123\"}}"
    • addedInput schema / properties / pageInstructions / items / properties
      Added value: +{
      +  "content": {
      +    "description": "Content to set on the embedded page (required for UPDATE and REPLACE)",
      +    "type": "object"
      +  },
      +  "instruction": {
      +    "description": "Page instruction type. UPDATE (add fields to page), REPLACE (replace entire page), DELETE (remove page), APPEND (add item to page list), INSERT (insert item in page list), MOVE (reorder page list items)",
      +    "enum": [
      +      "UPDATE",
      +      "REPLACE",
      +      "DELETE",
      +      "APPEND",
      +      "INSERT",
      +      "MOVE"
      +    ],
      +    "type": "string"
      +  },
      +  "target": {
      +    "description": "Target embedded page name",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / pageInstructions / items / required
      Added value: +[
      +  "instruction",
      +  "target"
      +]
    • changedInput schema / properties / refreshFor / description
      Previous value: -"Name of the property which, when changed, triggers refresh after executing the Data Transform configured under form refresh settings of the flow action. When provided, the corresponding Data Transform is executed to provide updated default values. Replaces the deprecated pyRefreshData Data Transform approach. Only change property events are supported in form refresh settings."New value: +"Property name that triggers refresh when changed. Executes Data Transform from form refresh settings."
    • addedInput schema / properties / sessionCredentials
      Added value: +{
      +  "description": "Optional session-specific credentials. If not provided, uses environment variables. Supports two authentication modes: (1) OAuth mode - provide baseUrl, clientId, and clientSecret, or (2) Token mode - provide baseUrl and accessToken.",
      +  "properties": {
      +    "accessToken": {
      +      "description": "Direct access token (required for token mode)",
      +      "type": "string"
      +    },
      +    "apiVersion": {
      +      "default": "v2",
      +      "description": "API version (optional, defaults to v2)",
      +      "type": "string"
      +    },
      +    "baseUrl": {
      +      "description": "Pega base URL (required if providing credentials)",
      +      "type": "string"
      +    },
      +    "clientId": {
      +      "description": "OAuth2 client ID (required for OAuth mode)",
      +      "type": "string"
      +    },
      +    "clientSecret": {
      +      "description": "OAuth2 client secret (required for OAuth mode)",
      +      "type": "string"
      +    },
      +    "sessionId": {
      +      "description": "Optional session ID. If not provided, a new session will be created.",
      +      "type": "string"
      +    },
      +    "tokenExpiry": {
      +      "description": "Token expiry in seconds from now (optional for token mode)",
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "caseID",
      -  "actionID",
      -  "eTag"
      -]New value: +[
      +  "caseID",
      +  "actionID"
      +]
  2. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of transparency. It discloses key behavioral traits: validation of case and action IDs, auto-fetching of eTag if missing, execution of Data Transforms, and support for modal table operations. It also notes that field values override preprocessing Data Transforms, indicating mutability. However, it does not mention error behavior, idempotency, or rate limits, which are minor gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of about 4-5 sentences, concise and front-loaded with the main purpose. While it packs a lot of information, it remains readable. It could benefit from more structured formatting (e.g., bullet points for features), but it is not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 parameters, no output schema, nested objects), the description provides a good overview but lacks specificity about the response format. It only says 'returns information about fields affected by the refresh action,' which is vague. It does not cover error scenarios or guarantee of completeness, leaving some gaps for a complex operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining high-level concepts like 'form refresh settings configured in Flow Action rules' and 'generative AI form filling', which contextualize parameters like 'refreshFor' and 'fillFormWithAI'. It does not repeat schema descriptions but enriches understanding of the tool's operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Refresh case action form data with updated values after property changes, execute Data Transforms, and handle table row operations in modals.' It identifies the specific resource (case action form data) and the primary verbs (refresh, execute, handle). While there is a sibling tool 'refresh_assignment_action', the description distinguishes this by focusing on case actions and mentioning Pega Infinity '25 features, making the purpose specific and distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context for when to use the tool (after property changes to refresh form) but does not explicitly state when not to use it or mention alternatives. For example, it does not differentiate from 'refresh_assignment_action' or 'perform_case_action' which might be similar. The guidelines are implied rather than explicit, leaving room for confusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marco-looy/pega-dx-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server