|
| 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: "wxcc-token-java-sample-playbook" |
| 9 | + |
| 10 | +# ----------------------------------------------------------------------------- |
| 11 | +# title — Display name for the Playbook (matches ContentStack field) |
| 12 | +# ----------------------------------------------------------------------------- |
| 13 | +title: "Webex Contact Center — Java OAuth token sample" |
| 14 | + |
| 15 | +# ----------------------------------------------------------------------------- |
| 16 | +# tag_line — Short tagline for App Hub detail page (required, max 128 chars) |
| 17 | +# ----------------------------------------------------------------------------- |
| 18 | +tag_line: "Java OAuth2 for WxCC: self-contained token for Flow Builder, WxCC APIs—inspect at /userinfo" |
| 19 | + |
| 20 | +# ----------------------------------------------------------------------------- |
| 21 | +# description — App Hub listing / detail copy (Markdown supported for formatting) |
| 22 | +# ----------------------------------------------------------------------------- |
| 23 | +description: | |
| 24 | + A **Java / Spring Boot** sample that completes the **OAuth 2.0 authorization code** |
| 25 | + flow against Webex, exchanges the code for tokens using the parameters WxCC expects, |
| 26 | + and exposes the result for quick API testing. |
| 27 | +
|
| 28 | + **Why use this playbook** |
| 29 | +
|
| 30 | + - **Avoid guesswork on token shape:** Webex Contact Center APIs often need a |
| 31 | + **self-contained** access token. The sample adds the right token-exchange |
| 32 | + parameters so you are not debugging opaque 401s before your first successful call. |
| 33 | + - **Working reference in your stack:** If your team ships on **Java 17** and |
| 34 | + **Spring Security OAuth2**, you can copy patterns (client config, redirect URI, |
| 35 | + session-backed login) instead of translating from another language or framework. |
| 36 | + - **Fast path to a testable token:** After login, call **`/userinfo`** to see |
| 37 | + claims and copy a **Bearer** token into Postman, curl, **Webex Contact Center |
| 38 | + Flow Builder** HTTP activities, or your own middleware—useful when you are |
| 39 | + validating scopes, org entitlements, or WxCC endpoints inside real contact-center |
| 40 | + flows. |
| 41 | + - **Secrets stay out of source:** Client ID and secret are loaded from **environment |
| 42 | + variables**, aligning with how you will configure staging and production apps. |
| 43 | +
|
| 44 | + **What it does** |
| 45 | +
|
| 46 | + - Redirects the browser to Webex for sign-in, handles the callback, and stores |
| 47 | + the session server-side. |
| 48 | + - Performs token exchange with **`self_contained_token=true`** where applicable. |
| 49 | + - Serves a small static UI after login and a **`GET /userinfo`** JSON endpoint for |
| 50 | + inspection and tooling. |
| 51 | +
|
| 52 | + **Contact center (not generic OAuth)** |
| 53 | +
|
| 54 | + - Tokens from this sample are intended for **Webex Contact Center** scenarios: |
| 55 | + calling **WxCC REST/GraphQL** APIs and supplying **`Authorization: Bearer`** |
| 56 | + from **Flow Builder** or other automation that runs in your CC deployment. |
| 57 | + - **`product_types: contact_center`** reflects that focus: same OAuth stack as |
| 58 | + broader Webex, but scope defaults and token exchange match WxCC integration |
| 59 | + patterns from the official WxCC samples. |
| 60 | +
|
| 61 | +# ----------------------------------------------------------------------------- |
| 62 | +# product_types — Where this Playbook appears. Pick one or more. |
| 63 | +# Valid: teams | meetings | calling | rooms | contact_center |
| 64 | +# ----------------------------------------------------------------------------- |
| 65 | +product_types: |
| 66 | + - "contact_center" |
| 67 | + |
| 68 | +# ----------------------------------------------------------------------------- |
| 69 | +# app_context — Where the integration runs. Pick one or more. |
| 70 | +# Valid: space | in_meeting | call | device | contact_center | sidebar | mcp | a2a |
| 71 | +# ----------------------------------------------------------------------------- |
| 72 | +app_context: |
| 73 | + - "contact_center" |
| 74 | + |
| 75 | +# ----------------------------------------------------------------------------- |
| 76 | +# categories — App Hub category slugs. Pick one or more. |
| 77 | +# Verticals: healthcare | financial-services | retail-ecommerce |
| 78 | +# App categories (use kebab-case slugs): |
| 79 | +# ai-agent-testing-observability | agent-supervisor-tools | analytics | |
| 80 | +# calendar-scheduling | collaboration-management | customer-relations | |
| 81 | +# customer-support | developer-tools | doc-management | education | |
| 82 | +# finance | government | healthcare | human-resources | internet-of-things | |
| 83 | +# marketing-sales | orchestration | platform | productivity | |
| 84 | +# project-management | recording-transcriptions | security-compliance | |
| 85 | +# self-service-bots | social-and-fun | strategy-team-planning | |
| 86 | +# workflow-automation | workforce-optimization | other |
| 87 | +# ----------------------------------------------------------------------------- |
| 88 | +categories: |
| 89 | + - "developer-tools" |
| 90 | + - "security-compliance" |
| 91 | + |
| 92 | +# ----------------------------------------------------------------------------- |
| 93 | +# company_name — Your company or team name |
| 94 | +# ----------------------------------------------------------------------------- |
| 95 | +company_name: "Webex for Developers" |
| 96 | + |
| 97 | +# ----------------------------------------------------------------------------- |
| 98 | +# company_url — Your company or project URL |
| 99 | +# ----------------------------------------------------------------------------- |
| 100 | +company_url: "https://developer.webex.com" |
| 101 | + |
| 102 | +# ----------------------------------------------------------------------------- |
| 103 | +# support_url — Issues or support link (e.g. GitHub issues) |
| 104 | +# ----------------------------------------------------------------------------- |
| 105 | +support_url: "https://github.com/webex/WebexPlaybooks/issues" |
| 106 | + |
| 107 | +# ----------------------------------------------------------------------------- |
| 108 | +# product_url — Link to this Playbook in the repo (required) |
| 109 | +# ----------------------------------------------------------------------------- |
| 110 | +product_url: "https://github.com/webex/WebexPlaybooks/tree/main/playbooks/wxcc-token-java-sample" |
| 111 | + |
| 112 | +# ----------------------------------------------------------------------------- |
| 113 | +# logo — (Optional) URL to your logo image. If not provided, defaults to the |
| 114 | +# standard Webex Playbook logo. |
| 115 | +# ----------------------------------------------------------------------------- |
| 116 | +logo: "https://images.contentstack.io/v3/assets/bltd14fd2a03236233f/blta2de9daa773c6604/60f71f81e2de935fc7e35dbe/download" |
| 117 | + |
| 118 | +# ----------------------------------------------------------------------------- |
| 119 | +# estimated_implementation_time — e.g. "2-4 hours", "1 day" |
| 120 | +# ----------------------------------------------------------------------------- |
| 121 | +estimated_implementation_time: "2-4 hours" |
| 122 | + |
| 123 | +# ----------------------------------------------------------------------------- |
| 124 | +# third_party_tool — (Optional) The tool being integrated (e.g. Salesforce, Epic) |
| 125 | +# Omit for generic playbooks (e.g. "any CMS") |
| 126 | +# ----------------------------------------------------------------------------- |
| 127 | + |
| 128 | +# ----------------------------------------------------------------------------- |
| 129 | +# privacy_url — Privacy policy URL (required; use Cisco default for Webex-authored) |
| 130 | +# ----------------------------------------------------------------------------- |
| 131 | +privacy_url: "https://www.cisco.com/c/en/us/about/legal/privacy-full.html" |
| 132 | + |
| 133 | +# ----------------------------------------------------------------------------- |
| 134 | +# submission_date — (Optional) ISO date (e.g. 2025-03-01) |
| 135 | +# ----------------------------------------------------------------------------- |
| 136 | +submission_date: "2026-04-01" |
0 commit comments