Access Grafana via the Grafana HTTP API with managed credentials. Inspect dashboards, folders, data sources, alert rules, teams, and observability resources.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Grafana API access yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Grafana
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Grafana
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Grafana │
│ (User Chat) │ │ (OAuth) │ │ (HTTP API) │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Grafana │ │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Grafana │
│ File │ │ Auth │ │ Cloud │
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Grafana again."
bash
# List dashboards
clawlink_call_tool --tool "grafana_list_dashboards" --params '{}'
# Get a dashboard
clawlink_call_tool --tool "grafana_get_dashboard" --params '{"uid": "YOUR_DASHBOARD_UID"}'
# List folders
clawlink_call_tool --tool "grafana_list_folders" --params '{}'
All Grafana tool calls are authenticated automatically by ClawLink using the configured Grafana credentials (API key or service account token).
No API key is required in chat. ClawLink stores the credentials securely and injects them into every Grafana API request on the user's behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for grafana in the list.
bash
clawlink_list_tools --integration grafana
Response: Returns the live tool catalog for Grafana.
If Grafana tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration grafanaToolDescriptionModegrafana_list_dashboardsList all dashboards the user can accessReadgrafana_get_dashboardGet a dashboard by UIDReadgrafana_create_dashboardCreate a new dashboardWritegrafana_update_dashboardUpdate an existing dashboardWritegrafana_delete_dashboardDelete a dashboardWritegrafana_get_dashboard_permissionsGet permissions for a dashboardReadgrafana_update_dashboard_permissionsUpdate dashboard permissionsWrite
ToolDescriptionModegrafana_list_foldersList all foldersReadgrafana_get_folderGet a folder by UIDReadgrafana_create_folderCreate a new folderWritegrafana_update_folderUpdate a folder's title or UIDWritegrafana_delete_folderDelete a folderWrite
ToolDescriptionModegrafana_list_datasourcesList all configured data sourcesReadgrafana_get_datasourceGet a data source by IDReadgrafana_create_datasourceCreate a new data sourceWritegrafana_update_datasourceUpdate a data sourceWritegrafana_delete_datasourceDelete a data sourceWrite
ToolDescriptionModegrafana_list_alert_rulesList all alert rulesReadgrafana_get_alert_ruleGet a specific alert rule by UIDReadgrafana_create_alert_ruleCreate a new alert ruleWritegrafana_update_alert_ruleUpdate an existing alert ruleWritegrafana_delete_alert_ruleDelete an alert ruleWrite
ToolDescriptionModegrafana_list_alert_instancesList active alert instancesRead
ToolDescriptionModegrafana_list_teamsList all teamsReadgrafana_get_teamGet a team by IDReadgrafana_create_teamCreate a new teamWritegrafana_update_teamUpdate a teamWritegrafana_delete_teamDelete a teamWritegrafana_list_team_membersList members of a teamReadgrafana_add_team_memberAdd a member to a teamWritegrafana_remove_team_memberRemove a member from a teamWrite
ToolDescriptionModegrafana_get_organizationGet current organization infoReadgrafana_list_organization_usersList users in the current organizationReadgrafana_list_usersList all users in GrafanaReadgrafana_get_userGet a user by IDRead
bash
clawlink_call_tool --tool "grafana_list_dashboards" \
--params '{
"limit": 50
}'
bash
clawlink_call_tool --tool "grafana_get_dashboard" \
--params '{
"uid": "YOUR_DASHBOARD_UID"
}'
bash
clawlink_call_tool --tool "grafana_create_dashboard" \
--params '{
"dashboard": {
"title": "Service Health Overview",
"tags": ["health", "overview"],
"timezone": "browser",
"panels": []
},
"folderUid": "YOUR_FOLDER_UID"
}'
bash
clawlink_call_tool --tool "grafana_list_folders" \
--params '{}'
bash
clawlink_call_tool --tool "grafana_list_datasources" \
--params '{}'
bash
clawlink_call_tool --tool "grafana_create_alert_rule" \
--params '{
"title": "High Error Rate",
"condition": "C",
"data": [
{"refId": "A", "queryType": "prometheus"},
{"refId": "B", "queryType": "reduce"},
{"refId": "C", "queryType": "threshold"}
],
"folderUID": "YOUR_FOLDER_UID"
}'
clawlink_list_integrations to confirm Grafana is connected.clawlink_list_tools --integration grafana to see the live catalog.clawlink_search_tools with a short query and integration grafana.text
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ list → get → call │
│ │
│ Example: List dashboards → Get details → Show results │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ describe → preview → confirm → call │
│ │
│ Example: Describe tool → Preview → User approves │
│ → Execute update │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.Status / ErrorMeaningTool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration grafana.Missing connectionGrafana is not connected. Direct the user to https://claw-link.dev/dashboard?add=grafana.DASHBOARD_NOT_FOUNDDashboard does not exist. Check the UID.INVALID_ARGUMENTInvalid parameter or missing required field. Review the tool schema with clawlink_describe_tool.UNAUTHORIZEDGrafana credentials are invalid or lack permissions. Check API key access.Write rejectedUser did not confirm a write action. Always confirm before executing writes.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
grafana.clawlink_describe_tool to verify parameter names and types before calling.clawlink_preview_tool first.Powered by ClawLink — an integration hub for OpenClaw
