@@ -211,6 +211,36 @@ def webex_adaptive_cards_guide():
211211| `Action.ShowCard` | Expand an inline nested card |
212212| `Action.ToggleVisibility` | Show/hide elements by ID |
213213
214+ ## ⚠️ Webhook Limitation — Card Submissions
215+
216+ **Action.Submit (and any interactive card action) requires a registered webhook to work.**
217+
218+ When a user clicks a submit button on an Adaptive Card, Webex posts the submission
219+ payload to the bot's registered webhook for the `attachmentActions` resource. If no
220+ such webhook exists, **the submission is silently dropped** — the bot never sees it.
221+
222+ This MCP server can *send* cards but cannot *receive* webhook events on its own. Before
223+ using interactive cards (forms, approval buttons, etc.), the user must:
224+
225+ 1. Expose a public HTTPS endpoint that can receive POST requests from Webex.
226+ 2. Register a webhook via the Webex Webhooks API:
227+ ```
228+ POST https://webexapis.com/v1/webhooks
229+ {
230+ "name": "Card Actions",
231+ "targetUrl": "https://your-bot.example.com/webhook",
232+ "resource": "attachmentActions",
233+ "event": "created"
234+ }
235+ ```
236+ 3. Parse the incoming `attachmentAction` payload in the bot's webhook handler.
237+
238+ **Always inform the user of this requirement when the card contains Action.Submit,
239+ Input.*, or any other interactive element that posts data back to the bot.**
240+
241+ Non-interactive actions (`Action.OpenUrl`, `Action.ShowCard`, `Action.ToggleVisibility`)
242+ work entirely on the client side and do **not** require a webhook.
243+
214244## Workflow: Build then Send
215245
216246### Option A — High-level builder (recommended)
@@ -919,7 +949,8 @@ def webex_design_adaptive_card_prompt():
919949
920950Follow these steps:
921951
922- 1. Read the webex://help/adaptive-cards resource for schema reference.
952+ 1. Read the webex://help/adaptive-cards resource for schema reference, including the
953+ Webhook Limitation section.
923954
9249552. Call build_webex_adaptive_card with appropriate inputs:
925956 - title: concise, action-oriented heading
@@ -936,7 +967,15 @@ def webex_design_adaptive_card_prompt():
936967 - card_body and card_actions from step 2
937968 - fallback_text: a plain-text summary for clients that don't support cards
938969
939- 5. Report the message ID and a summary of what was sent.
970+ 5. IMPORTANT — if the card contains any interactive actions (Action.Submit, Input.*
971+ elements, or any action that posts data back to the bot), explicitly warn the user:
972+ "Card submissions will not reach the bot unless you have registered an
973+ attachmentActions webhook pointing at your bot's public HTTPS endpoint. See the
974+ webex://help/adaptive-cards guide for setup instructions."
975+ Skip this warning only if all actions are non-interactive (Action.OpenUrl,
976+ Action.ShowCard, Action.ToggleVisibility).
977+
978+ 6. Report the message ID and a summary of what was sent.
940979
941980If the use case requires custom schema elements not supported by build_webex_adaptive_card
942981(e.g. Input fields, nested ShowCard actions), construct card_body manually as a list of
0 commit comments