Mural is a collaborative whiteboard platform for visual thinking and team collaboration. This integration provides managed OAuth through ClawLink, so you can browse workspaces, rooms, murals, and widgets without handling API keys or tokens yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Mural
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Mural
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Mural API │
│ (User Chat) │ │ (OAuth) │ │ │
└─────────────────┘ └──────────────┘ └──────────────────┘
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
List your workspaces and browse murals:
text
clawlink_execute_tool --integration mural --tool mural_get_workspaces
Search for a specific mural by name:
text
clawlink_execute_tool --integration mural --tool mural_search_murals --args '{"query": "sprint retro", "workspaceId": "ws-123"}'
Add a sticky note to a mural:
text
clawlink_execute_tool --integration mural --tool mural_create_sticky_note --args '{"muralId": "mur-456", "stickies": [{"x": 100, "y": 200, "text": "Action item: Update docs"}]}'
Mural uses OAuth 2.0 managed by ClawLink. No API keys are needed. When you connect Mural through the ClawLink dashboard, you authorize access via a standard OAuth login flow. The connection is stored securely and refreshed automatically.
Connect at: https://claw-link.dev/dashboard?add=mural
List connections:
text
clawlink_list_integrations
Verify connection:
text
clawlink_execute_tool --integration mural --tool mural_get_current_user
Reconnect: If a connection expires, visit the dashboard URL above and reconnect Mural.
ToolDescriptionModemural_authorization_requestInitiate OAuth 2.0 authorization processReadmural_get_current_userRetrieve authenticated user profile informationRead
ToolDescriptionModemural_get_workspaceRetrieve details of a specific workspace by IDReadmural_get_workspacesList all workspaces the authenticated user belongs toRead
ToolDescriptionModemural_get_roomRetrieve details of a specific room by IDReadmural_list_roomsList all rooms within a workspaceReadmural_list_open_roomsList discoverable open rooms in a workspaceReadmural_search_roomsSearch rooms within a workspace by name or descriptionReadmural_list_room_usersList members and guests for a roomRead
ToolDescriptionModemural_list_room_muralsList all murals within a roomReadmural_list_workspace_muralsList all murals in a workspace owned or joined by the userReadmural_list_recent_muralsList recently opened murals in a workspaceReadmural_search_muralsSearch murals within a workspace by query textReadmural_create_sticky_noteCreate one or more sticky notes on a muralWritemural_get_mural_widgetsRetrieve all widgets within a specified muralReadmural_get_files_for_muralRetrieve file widgets attached to a muralRead
ToolDescriptionModemural_list_foldersList all folders within a roomRead
ToolDescriptionModemural_list_templatesRetrieve all default Mural templatesReadmural_list_workspace_templatesList default and custom templates for a workspaceReadmural_list_recent_templatesRetrieve recently used templates in a workspaceReadmural_search_templatesSearch templates within a workspace by name or keywordRead
ToolDescriptionModemural_list_tagsRetrieve all tags in a muralRead
List workspaces and get murals:
json
{
"tool": "mural_get_workspaces",
"args": {}
}
Search for murals containing "roadmap":
json
{
"tool": "mural_search_murals",
"args": {
"query": "roadmap",
"workspaceId": "workspace-uuid-here"
}
}
Add sticky notes to a mural:
json
{
"tool": "mural_create_sticky_note",
"args": {
"muralId": "mural-uuid-here",
"stickies": [
{"x": 100, "y": 200, "text": "First note"},
{"x": 300, "y": 400, "text": "Second note", "shape": "circle"}
]
}
}
Get all widgets in a mural:
json
{
"tool": "mural_get_mural_widgets",
"args": {
"muralId": "mural-uuid-here"
}
}
Browse room members:
json
{
"tool": "mural_list_room_users",
"args": {
"roomId": "room-uuid-here"
}
}
clawlink_list_integrations to confirm mural is connected.clawlink_list_tools --integration mural to see the live catalog.mural_get_workspaces to discover available workspaces.mural_list_rooms to navigate rooms within a workspace.mural_list_room_murals or mural_search_murals to find specific murals.text
Read Flow:
get_workspaces → get_room / list_rooms → list_room_murals → get_mural_widgets
Write Flow:
get_workspaces → search_murals → create_sticky_note (confirm required)
stickies parameter, not strings or nested objects.mural_search_murals tool returns murals the user owns or is a member of, not all murals in the workspace.Status / ErrorMeaning401 UnauthorizedOAuth token expired; reconnect Mural from the dashboard403 ForbiddenUser lacks access to the requested workspace, room, or mural404 Not FoundInvalid workspace, room, or mural ID429 Too Many RequestsRate limit exceeded; retry after a short delay
Run clawlink_list_tools --integration mural to verify the integration is active. If empty, reconnect at https://claw-link.dev/dashboard?add=mural.
Ensure you pass valid UUIDs for workspaceId, roomId, and muralId. These are obtained from parent-level listing tools.
Verify the stickies parameter is a flat array of objects with x, y, and text fields. Do not wrap in extra objects or pass as strings.
Powered by ClawLink -- an integration hub for OpenClaw
