# publish_flow

Publish (activate) a draft flow or subflow. [Write]

Agent View of the PolicyLayer registry record for `publish_flow`. HTML page: https://policylayer.com/tools/servicenow-mcp-server/publish-flow

## Facts

- Tool: `publish_flow`
- Server: ServiceNow MCP Server (`@aartiq/servicenow-mcp`) — https://policylayer.com/tools/servicenow-mcp-server.md
- Install: `npx -y @aartiq/servicenow-mcp`
- Homepage: https://github.com/aartiq/servicenow-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity verified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "publish_flow",
    "arguments": {}
  }
}
```

## Why publish_flow is rated Medium

Publishing a flow activates automation that can affect business processes and data handling. This is reversible (flows can be unpublished/deactivated) and modifies the state of system workflows rather than deleting or executing arbitrary code. The severity is medium because activated flows can have broad effects depending on their configuration, but the action itself is non-destructive and can be undone.

From the tool's own definition: "Tool name 'publish_flow' with description 'Publish (activate) a draft flow or subflow' indicates creation/modification of active automation workflows. The explicit **[Write]** tag in the description confirms this classification."

## Use case

AI agents use publish_flow to create or update resources in ServiceNow MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your ServiceNow MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches ServiceNow MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "publish_flow": {
      "limits": [
        {
          "counter": "publish_flow_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on ServiceNow MCP Server (364)

- `delete_attachment` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/delete-attachment.md
- `delete_system_property` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/delete-system-property.md
- `delete_uib_page` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/delete-uib-page.md
- `remove_user_from_group` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/remove-user-from-group.md
- `rollback_deployment` — Destructive — https://policylayer.com/tools/servicenow-mcp-server/rollback-deployment.md
- `commit_changeset` — Execute — https://policylayer.com/tools/servicenow-mcp-server/commit-changeset.md
- `create_business_rule` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-business-rule.md
- `create_flow_action` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-flow-action.md
- `create_scheduled_job` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-scheduled-job.md
- `create_script_include` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-script-include.md
- `create_ui_action` — Execute — https://policylayer.com/tools/servicenow-mcp-server/create-ui-action.md
- `execute_background_script` — Execute — https://policylayer.com/tools/servicenow-mcp-server/execute-background-script.md
- `fire_event` — Execute — https://policylayer.com/tools/servicenow-mcp-server/fire-event.md
- `ml_detect_anomalies` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-detect-anomalies.md
- `ml_train_anomaly_detector` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-train-anomaly-detector.md
- `ml_train_change_risk` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-train-change-risk.md
- `ml_train_incident_classifier` — Execute — https://policylayer.com/tools/servicenow-mcp-server/ml-train-incident-classifier.md
- `publish_changeset` — Execute — https://policylayer.com/tools/servicenow-mcp-server/publish-changeset.md
- `run_aggregate_query` — Execute — https://policylayer.com/tools/servicenow-mcp-server/run-aggregate-query.md
- `run_atf_suite` — Execute — https://policylayer.com/tools/servicenow-mcp-server/run-atf-suite.md
- `run_atf_test` — Execute — https://policylayer.com/tools/servicenow-mcp-server/run-atf-test.md
- `run_discovery_scan` — Execute — https://policylayer.com/tools/servicenow-mcp-server/run-discovery-scan.md
- `run_security_playbook` — Execute — https://policylayer.com/tools/servicenow-mcp-server/run-security-playbook.md
- `run_transform_map` — Execute — https://policylayer.com/tools/servicenow-mcp-server/run-transform-map.md
- `scan_vulnerabilities` — Execute — https://policylayer.com/tools/servicenow-mcp-server/scan-vulnerabilities.md
- `switch_update_set` — Execute — https://policylayer.com/tools/servicenow-mcp-server/switch-update-set.md
- `test_flow` — Execute — https://policylayer.com/tools/servicenow-mcp-server/test-flow.md
- `trigger_agentic_playbook` — Execute — https://policylayer.com/tools/servicenow-mcp-server/trigger-agentic-playbook.md
- `trigger_flow` — Execute — https://policylayer.com/tools/servicenow-mcp-server/trigger-flow.md
- `trigger_scheduled_job` — Execute — https://policylayer.com/tools/servicenow-mcp-server/trigger-scheduled-job.md
- …and 334 more: https://policylayer.com/tools/servicenow-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=servicenow-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/servicenow-mcp-server
