# create_approval_rule

Create an approval rule that automatically generates approval requests when a record matches given conditions (requires WRITE_ENABLED=true).

Agent View of the PolicyLayer registry record for `create_approval_rule`. HTML page: https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/create-approval-rule

## Facts

- Tool: `create_approval_rule`
- Server: NowAIKit — ServiceNow AI Toolkit (`nowaikit`) — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit.md
- Install: `npx -y nowaikit`
- Homepage: https://github.com/aartiq/nowaikit
- 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": "create_approval_rule",
    "arguments": {}
  }
}
```

## Why create_approval_rule is rated Medium

This tool creates new approval rules in ServiceNow, which is a reversible write operation that modifies system configuration. The 'high' severity reflects that misconfigured approval rules could disrupt business workflows, bypass intended approval processes, or create excessive approval requests. However, this is not destructive (rules can be modified/deleted) and not financial (no direct money movement).

From the tool's own definition: "Tool description states 'Create an approval rule' which is a creation operation, and requires 'WRITE_ENABLED=true' indicating data modification capability. The tool creates automation rules that generate approval requests when conditions are met."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on NowAIKit — ServiceNow AI Toolkit (409)

- `cmdb_reconcile` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/cmdb-reconcile.md
- `delete_attachment` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/delete-attachment.md
- `delete_record` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/delete-record.md
- `delete_system_property` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/delete-system-property.md
- `delete_uib_page` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/delete-uib-page.md
- `remove_user_from_group` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/remove-user-from-group.md
- `rollback_changes` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/rollback-changes.md
- `rollback_deployment` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/rollback-deployment.md
- `visualize_aggregate` — Destructive — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/visualize-aggregate.md
- `batch_request` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/batch-request.md
- `categorize_incident` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/categorize-incident.md
- `commit_changeset` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/commit-changeset.md
- `create_business_rule` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/create-business-rule.md
- `create_flow_action` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/create-flow-action.md
- `create_scheduled_job` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/create-scheduled-job.md
- `execute_background_script` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/execute-background-script.md
- `execute_playbook` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/execute-playbook.md
- `execute_script` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/execute-script.md
- `fire_event` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/fire-event.md
- `fluent_build` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/fluent-build.md
- `fluent_explain` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/fluent-explain.md
- `fluent_init` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/fluent-init.md
- `fluent_validate` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/fluent-validate.md
- `ml_detect_anomalies` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/ml-detect-anomalies.md
- `ml_train_anomaly_detector` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/ml-train-anomaly-detector.md
- `ml_train_change_risk` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/ml-train-change-risk.md
- `ml_train_incident_classifier` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/ml-train-incident-classifier.md
- `publish_changeset` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/publish-changeset.md
- `run_aggregate_query` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/run-aggregate-query.md
- `run_atf_suite` — Execute — https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit/run-atf-suite.md
- …and 379 more: https://policylayer.com/tools/nowaikit-servicenow-ai-toolkit.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=nowaikit-servicenow-ai-toolkit · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/nowaikit-servicenow-ai-toolkit
