{
  "schemaVersion": "1.0",
  "exampleDataPolicy": "Synthetic examples only. Replace placeholders with identifiers returned by the selected server. These workflows do not grant permission to execute.",
  "workflows": [
    {
      "id": "read_records_mcp",
      "intent": "Discover and read authorized records",
      "requiredScopes": ["data:read"],
      "steps": [
        {
          "tool": "erp_identity_get",
          "arguments": {},
          "assert": "Tenant and user match the intended connection"
        },
        {
          "tool": "erp_objects_list",
          "arguments": {},
          "save": "Choose a readable object apiName from data.records"
        },
        {
          "tool": "erp_objects_describe",
          "arguments": { "path": { "objectApiName": "DiscoveredObject" } },
          "substitute": {
            "DiscoveredObject": "exact apiName from previous response"
          }
        },
        {
          "tool": "erp_records_list",
          "arguments": {
            "path": { "objectApiName": "DiscoveredObject" },
            "query": { "take": 5, "includeTotal": true }
          },
          "assert": "Only use readable fields; continue with nextCursor if needed"
        }
      ]
    },
    {
      "id": "retrieve_one_component_mcp",
      "intent": "Retrieve one known metadata component without applying it",
      "requiredScopes": ["setup:read"],
      "steps": [
        {
          "tool": "erp_metadata_retrieve",
          "arguments": {
            "body": {
              "package": {
                "version": 1,
                "types": [
                  {
                    "name": "CustomField",
                    "members": ["Pedido__c.observaciones__c"]
                  }
                ]
              }
            }
          },
          "substitute": {
            "Pedido__c.observaciones__c": "known existing component fullName"
          },
          "assert": "Review all returned files, including preserved project configuration and destructive manifests"
        }
      ]
    }
  ],
  "queryExamples": {
    "filters": {
      "logic": "and",
      "conditions": [
        {
          "id": "f1",
          "field": "name",
          "operator": "contains",
          "value": "Ejemplo"
        }
      ]
    },
    "sort": [{ "id": "name", "desc": false }],
    "encoding": "Serialize filters and sort as JSON strings before putting them into REST query parameters or MCP query arguments. Verify field availability first."
  }
}
