You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: add tool metadata documentation to webhook payload guides (#873)
* docs: add tool metadata documentation to webhook payload guides
Updated both "Build Your Own" pages (contextual-access and logic-extensions) to document the new optional metadata field in webhook payloads (PR #517). Added comprehensive Tool Metadata section including structure table, examples for pre/post/access hooks, and use cases. Updated external GitHub URLs to canonical repositories (oapi-codegen and openapi-ts).
Fixes#872.
* style: remove spaces around em dashes per Vale Google style
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@@ -76,7 +76,7 @@ You do not need to implement all endpoints. Only implement the ones you configur
76
76
| Field | Type | Description |
77
77
| --- | --- | --- |
78
78
|`execution_id`| string | Correlates with pre-execution hook |
79
-
|`tool`| object |`name`, `toolkit`, `version`|
79
+
|`tool`| object |`name`, `toolkit`, `version`, and optional `metadata` (see [Tool Metadata](#tool-metadata))|
80
80
|`inputs`| object | Tool inputs |
81
81
|`success`| boolean | Whether the tool call succeeded |
82
82
|`output`| any | The execution output (any JSON type) |
@@ -101,7 +101,7 @@ You do not need to implement all endpoints. Only implement the ones you configur
101
101
| Field | Type | Description |
102
102
| --- | --- | --- |
103
103
|`user_id`| string | User to check |
104
-
|`toolkits`| object | Map of toolkit name → toolkit info (tools, versions, requirements) |
104
+
|`toolkits`| object | Map of toolkit name → toolkit info. Each toolkit contains a `tools` map of tool name → version info arrays. Each version info includes `version`, `requirements`, and optional `metadata` (see [Tool Metadata](#tool-metadata)) |
105
105
106
106
### Response
107
107
@@ -112,7 +112,100 @@ Return either an allow list or a deny list (not both):
112
112
|`only`| object | If present, **only** these tools are allowed (deny list ignored) |
113
113
|`deny`| object | Tools listed here are denied (ignored if `only` is present) |
114
114
115
-
If you return neither field, the Arcade treats it as "no change" — all tools remain allowed at this hook.
115
+
If you return neither field, the Arcade treats it as "no change"—all tools remain allowed at this hook.
116
+
117
+
## Tool Metadata
118
+
119
+
Tools can include an optional `metadata` field with classification, behavioral, and custom information. Webhook servers can use this metadata to make more granular access and filtering decisions.
120
+
121
+
All metadata fields are optional and omitted from the JSON when empty, so existing webhook servers continue to work without changes.
122
+
123
+
For the full list of valid `service_domains` and `operations` values, see [Add Tool Metadata](/guides/create-tools/tool-basics/add-tool-metadata).
124
+
125
+
### Structure
126
+
127
+
| Field | Type | Description |
128
+
| --- | --- | --- |
129
+
|`metadata`| object \| absent | Container for tool metadata. Omitted when the tool has no metadata set. |
@@ -76,7 +76,7 @@ You do not need to implement all endpoints. Only implement the ones you configur
76
76
| Field | Type | Description |
77
77
| --- | --- | --- |
78
78
|`execution_id`| string | Correlates with pre-execution hook |
79
-
|`tool`| object |`name`, `toolkit`, `version`|
79
+
|`tool`| object |`name`, `toolkit`, `version`, and optional `metadata` (see [Tool Metadata](#tool-metadata))|
80
80
|`inputs`| object | Tool inputs |
81
81
|`success`| boolean | Whether the tool call succeeded |
82
82
|`output`| any | The execution output (any JSON type) |
@@ -101,7 +101,7 @@ You do not need to implement all endpoints. Only implement the ones you configur
101
101
| Field | Type | Description |
102
102
| --- | --- | --- |
103
103
|`user_id`| string | User to check |
104
-
|`toolkits`| object | Map of toolkit name → toolkit info (tools, versions, requirements) |
104
+
|`toolkits`| object | Map of toolkit name → toolkit info. Each toolkit contains a `tools` map of tool name → version info arrays. Each version info includes `version`, `requirements`, and optional `metadata` (see [Tool Metadata](#tool-metadata)) |
105
105
106
106
### Response
107
107
@@ -112,7 +112,100 @@ Return either an allow list or a deny list (not both):
112
112
|`only`| object | If present, **only** these tools are allowed (deny list ignored) |
113
113
|`deny`| object | Tools listed here are denied (ignored if `only` is present) |
114
114
115
-
If you return neither field, the Arcade treats it as "no change" — all tools remain allowed at this hook.
115
+
If you return neither field, the Arcade treats it as "no change"—all tools remain allowed at this hook.
116
+
117
+
## Tool Metadata
118
+
119
+
Tools can include an optional `metadata` field with classification, behavioral, and custom information. Webhook servers can use this metadata to make more granular access and filtering decisions.
120
+
121
+
All metadata fields are optional and omitted from the JSON when empty, so existing webhook servers continue to work without changes.
122
+
123
+
For the full list of valid `service_domains` and `operations` values, see [Add Tool Metadata](/guides/create-tools/tool-basics/add-tool-metadata).
124
+
125
+
### Structure
126
+
127
+
| Field | Type | Description |
128
+
| --- | --- | --- |
129
+
|`metadata`| object \| absent | Container for tool metadata. Omitted when the tool has no metadata set. |
0 commit comments