{
  "name": "CitrixDaaSActionsConnector",
  "apiVersion": "2025-07-01-preview",
  "type": "Microsoft.SecurityInsights/dataConnectorDefinitions",
  "location": "{{location}}",
  "kind": "Customizable",
  "properties": {
    "connectorUiConfig": {
      "id": "CitrixDaaSActionsConnector",
      "title": "Citrix DaaS Audit & Sessions (via Codeless Connector Framework)",
      "publisher": "Microsoft",
      "descriptionMarkdown": "Ingest configuration audit logs and session activity from Citrix DaaS (Citrix Virtual Apps and Desktops service). Provides audit trails for security investigations, compliance monitoring, and operational troubleshooting.",
      "graphQueries": [
        {
          "metricName": "Config Operations",
          "legend": "All Config Operations",
          "baseQuery": "CitrixDaaSConfigOps_CL"
        },
        {
          "metricName": "Failed Operations",
          "legend": "Failed Operations",
          "baseQuery": "CitrixDaaSConfigOps_CL | where IsSuccessful == false"
        },
        {
          "metricName": "Sessions",
          "legend": "CitrixDaaSSessions_CL",
          "baseQuery": "CitrixDaaSSessions_CL"
        }
      ],
      "sampleQueries": [
        {
          "description": "Get sample of 20 recent operations",
          "query": "CitrixDaaSConfigOps_CL\n| take 20"
        }
      ],
      "dataTypes": [
        {
          "name": "CitrixDaaSConfigOps_CL",
          "lastDataReceivedQuery": "CitrixDaaSConfigOps_CL\n| where TimeGenerated > ago(6h)\n| summarize Time = max(TimeGenerated)\n| where isnotempty(Time)"
        },
        {
          "name": "CitrixDaaSSessions_CL",
          "lastDataReceivedQuery": "CitrixDaaSSessions_CL\n| where TimeGenerated > ago(6h)\n| summarize Time = max(TimeGenerated)\n| where isnotempty(Time)"
        }
      ],
      "connectivityCriteria": [
        {
          "type": "HasDataConnectors"
        }
      ],
      "availability": {
        "isPreview": false,
        "status": 1
      },
      "permissions": {
        "resourceProvider": [
          {
            "provider": "Microsoft.OperationalInsights/workspaces",
            "permissionsDisplayText": "Read and Write permissions are required.",
            "providerDisplayName": "Workspace",
            "scope": "Workspace",
            "requiredPermissions": {
              "write": true,
              "read": true,
              "delete": true,
              "action": false
            }
          }
        ],
        "customs": [
          {
            "name": "Citrix Cloud API Access",
            "description": "Required permissions: Citrix Cloud API client credentials with read access to CVAD Manage APIs"
          }
        ]
      },
      "instructionSteps": [
        {
          "title": "Configure Citrix Cloud API Access",
          "description": "Follow these steps to enable API access:\n\n1. Log in to **Citrix Cloud** console\n2. Navigate to **Identity and Access Management** > **API Access**\n3. Click **Create Client** (Secure Client)\n4. Copy the **Client ID** and **Client Secret**\n5. Note your **Customer ID** and **Site ID** (Instance ID)\n\nTo collect logs from multiple Citrix tenants, add a separate connection for each tenant. Every record is tagged with its **CitrixCustomerId** so you can differentiate tenants.",
          "instructions": [
            {
              "type": "DataConnectorsGrid",
              "parameters": {
                "mapping": [
                  {
                    "columnName": "Citrix Customer ID",
                    "columnValue": "properties.addOnAttributes.CitrixCustomerId"
                  },
                  {
                    "columnName": "Data Type",
                    "columnValue": "properties.dataType"
                  }
                ],
                "menuItems": [
                  "DeleteConnector"
                ]
              }
            },
            {
              "type": "ContextPane",
              "parameters": {
                "label": "Add Citrix tenant",
                "title": "Add Citrix DaaS Connection",
                "subtitle": "Connect to the Citrix DaaS REST API",
                "contextPaneType": "DataConnectorsContextPane",
                "instructionSteps": [
                  {
                    "instructions": [
                      {
                        "type": "Markdown",
                        "parameters": {
                          "content": "## Authentication\n\nProvide the Citrix Cloud API credentials for the tenant. These are used to obtain a bearer token for the CVAD Manage APIs."
                        }
                      },
                      {
                        "type": "Textbox",
                        "parameters": {
                          "label": "Base API URL",
                          "placeholder": "https://api.cloud.com/cvad/manage",
                          "type": "text",
                          "name": "baseApiUrl",
                          "validations": {
                            "required": true
                          }
                        }
                      },
                      {
                        "type": "Textbox",
                        "parameters": {
                          "label": "Citrix Customer ID",
                          "placeholder": "Enter your Citrix-CustomerId",
                          "type": "text",
                          "name": "customerId",
                          "validations": {
                            "required": true
                          }
                        }
                      },
                      {
                        "type": "Textbox",
                        "parameters": {
                          "label": "Citrix Site ID (Instance ID)",
                          "placeholder": "Enter your Citrix-InstanceId",
                          "type": "text",
                          "name": "siteId",
                          "validations": {
                            "required": true
                          }
                        }
                      },
                      {
                        "type": "Textbox",
                        "parameters": {
                          "label": "OAuth Client ID",
                          "placeholder": "Enter your OAuth Client ID",
                          "type": "text",
                          "name": "clientId",
                          "validations": {
                            "required": true
                          }
                        }
                      },
                      {
                        "type": "Textbox",
                        "parameters": {
                          "label": "OAuth Client Secret",
                          "placeholder": "Enter your OAuth Client Secret",
                          "type": "password",
                          "name": "clientSecret",
                          "validations": {
                            "required": true
                          }
                        }
                      },
                      {
                        "type": "InfoMessage",
                        "parameters": {
                          "text": "Create a separate connection for each Citrix tenant you want to collect logs from.",
                          "visible": true,
                          "inline": true
                        }
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      ],
      "isConnectivityCriteriasMatchSome": false
    }
  }
}