|
| 1 | +# APPHUB.yaml — Playbook metadata for Webex App Hub |
| 2 | +# Copy this file into your Playbook folder under playbooks/<tool-slug>/ |
| 3 | +# Fill in all required fields. See CONTRIBUTING.md for field rules. |
| 4 | + |
| 5 | +# ----------------------------------------------------------------------------- |
| 6 | +# friendly_id — Unique identifier. Must end with -playbook (e.g. epic-ehr-playbook) |
| 7 | +# ----------------------------------------------------------------------------- |
| 8 | +friendly_id: "webhook-to-card-playbook" |
| 9 | + |
| 10 | +# ----------------------------------------------------------------------------- |
| 11 | +# title — Display name for the Playbook (matches ContentStack field) |
| 12 | +# ----------------------------------------------------------------------------- |
| 13 | +title: "Incoming Webhook to Webex Messaging Adaptive Card" |
| 14 | + |
| 15 | +# ----------------------------------------------------------------------------- |
| 16 | +# tag_line — Short tagline for App Hub detail page (required, max 128 chars) |
| 17 | +# ----------------------------------------------------------------------------- |
| 18 | +tag_line: "Receive HTTP webhooks and post Adaptive Card messages to Webex Messaging spaces with a bot" |
| 19 | + |
| 20 | +# ----------------------------------------------------------------------------- |
| 21 | +# description — App Hub listing / detail copy (markdown supported where CMS renders it) |
| 22 | +# ----------------------------------------------------------------------------- |
| 23 | +description: | |
| 24 | + **Bring external events into Webex Messaging without a custom client.** Monitoring tools, CI/CD |
| 25 | + pipelines, ticketing systems, and internal services already speak HTTP and JSON. This Playbook |
| 26 | + shows how to turn those **webhook payloads** into **Adaptive Card** messages—structured facts, |
| 27 | + images, and action buttons—delivered to a **space** by a **bot** using the public Messages API. |
| 28 | +
|
| 29 | + **Why use this** |
| 30 | +
|
| 31 | + - **Meet people where they work:** Operators and stakeholders stay in Webex instead of checking |
| 32 | + another dashboard or email filter. |
| 33 | + - **Richer than plain text:** Cards summarize context at a glance and can link out to runbooks, |
| 34 | + tickets, or live views. |
| 35 | + - **Small, inspectable surface:** A single Flask route and a bot token are enough to prototype; |
| 36 | + you can harden auth, signing, and hosting once the flow is proven. |
| 37 | +
|
| 38 | + **What you get** |
| 39 | +
|
| 40 | + Sample **Python** code (`POST /webhook`), environment-based configuration, a worked **rocket-launch** |
| 41 | + JSON shape you can replace with your own fields, and a deployment guide aligned with |
| 42 | + [WebexSamples/webhook-to-card](https://github.com/WebexSamples/webhook-to-card). |
| 43 | +
|
| 44 | +# ----------------------------------------------------------------------------- |
| 45 | +# product_types — Where this Playbook appears. Pick one or more. |
| 46 | +# Valid: teams | meetings | calling | rooms | contact_center |
| 47 | +# ----------------------------------------------------------------------------- |
| 48 | +product_types: |
| 49 | + - "teams" |
| 50 | + |
| 51 | +# ----------------------------------------------------------------------------- |
| 52 | +# app_context — Where the integration runs. Pick one or more. |
| 53 | +# Valid: space | in_meeting | call | device | contact_center | sidebar | mcp | a2a |
| 54 | +# ----------------------------------------------------------------------------- |
| 55 | +app_context: |
| 56 | + - "space" |
| 57 | + |
| 58 | +# ----------------------------------------------------------------------------- |
| 59 | +# categories — App Hub category slugs. Pick one or more. |
| 60 | +# Verticals: healthcare | financial-services | retail-ecommerce |
| 61 | +# App categories (use kebab-case slugs): |
| 62 | +# ai-agent-testing-observability | agent-supervisor-tools | analytics | |
| 63 | +# calendar-scheduling | collaboration-management | customer-relations | |
| 64 | +# customer-support | developer-tools | doc-management | education | |
| 65 | +# finance | government | healthcare | human-resources | internet-of-things | |
| 66 | +# marketing-sales | orchestration | platform | productivity | |
| 67 | +# project-management | recording-transcriptions | security-compliance | |
| 68 | +# self-service-bots | social-and-fun | strategy-team-planning | |
| 69 | +# workflow-automation | workforce-optimization | other |
| 70 | +# ----------------------------------------------------------------------------- |
| 71 | +categories: |
| 72 | + - "developer-tools" |
| 73 | + - "workflow-automation" |
| 74 | + - "productivity" |
| 75 | + |
| 76 | +# ----------------------------------------------------------------------------- |
| 77 | +# company_name — Your company or team name |
| 78 | +# ----------------------------------------------------------------------------- |
| 79 | +company_name: "Webex for Developers" |
| 80 | + |
| 81 | +# ----------------------------------------------------------------------------- |
| 82 | +# company_url — Your company or project URL |
| 83 | +# ----------------------------------------------------------------------------- |
| 84 | +company_url: "https://developer.webex.com" |
| 85 | + |
| 86 | +# ----------------------------------------------------------------------------- |
| 87 | +# support_url — Issues or support link (e.g. GitHub issues) |
| 88 | +# ----------------------------------------------------------------------------- |
| 89 | +support_url: "https://github.com/webex/WebexPlaybooks/issues" |
| 90 | + |
| 91 | +# ----------------------------------------------------------------------------- |
| 92 | +# product_url — Link to this Playbook in the repo (required) |
| 93 | +# ----------------------------------------------------------------------------- |
| 94 | +product_url: "https://github.com/webex/WebexPlaybooks/tree/main/playbooks/webhook-to-card" |
| 95 | + |
| 96 | +# ----------------------------------------------------------------------------- |
| 97 | +# logo — (Optional) URL to your logo image. If not provided, defaults to the |
| 98 | +# standard Webex Playbook logo. |
| 99 | +# ----------------------------------------------------------------------------- |
| 100 | +logo: "https://images.contentstack.io/v3/assets/bltd14fd2a03236233f/blta2de9daa773c6604/60f71f81e2de935fc7e35dbe/download" |
| 101 | + |
| 102 | +# ----------------------------------------------------------------------------- |
| 103 | +# estimated_implementation_time — e.g. "2-4 hours", "1 day" |
| 104 | +# ----------------------------------------------------------------------------- |
| 105 | +estimated_implementation_time: "1-2 hours" |
| 106 | + |
| 107 | +# ----------------------------------------------------------------------------- |
| 108 | +# third_party_tool — (Optional) The tool being integrated (e.g. Salesforce, Epic) |
| 109 | +# Omit for generic playbooks (e.g. "any CMS") |
| 110 | +# ----------------------------------------------------------------------------- |
| 111 | +third_party_tool: "HTTP webhooks" |
| 112 | + |
| 113 | +# ----------------------------------------------------------------------------- |
| 114 | +# privacy_url — Privacy policy URL (required; use Cisco default for Webex-authored) |
| 115 | +# ----------------------------------------------------------------------------- |
| 116 | +privacy_url: "https://www.cisco.com/c/en/us/about/legal/privacy-full.html" |
| 117 | + |
| 118 | +# ----------------------------------------------------------------------------- |
| 119 | +# submission_date — (Optional) ISO date (e.g. 2025-03-01) |
| 120 | +# ----------------------------------------------------------------------------- |
| 121 | +submission_date: "2026-04-01" |
0 commit comments