twentythree-skills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -0
- package/bin/add.js +103 -0
- package/package.json +46 -0
- package/skills/SKILL.md +211 -0
- package/skills/reference/action.md +233 -0
- package/skills/reference/analytics.md +337 -0
- package/skills/reference/app.md +160 -0
- package/skills/reference/audience.md +377 -0
- package/skills/reference/category.md +123 -0
- package/skills/reference/collector.md +103 -0
- package/skills/reference/comment.md +225 -0
- package/skills/reference/openupload.md +138 -0
- package/skills/reference/player.md +192 -0
- package/skills/reference/poll.md +174 -0
- package/skills/reference/presentation.md +99 -0
- package/skills/reference/protection.md +131 -0
- package/skills/reference/session.md +98 -0
- package/skills/reference/setting.md +115 -0
- package/skills/reference/site.md +94 -0
- package/skills/reference/spot.md +188 -0
- package/skills/reference/tag.md +93 -0
- package/skills/reference/thumbnail.md +224 -0
- package/skills/reference/user.md +216 -0
- package/skills/reference/video.md +631 -0
- package/skills/reference/webhook.md +151 -0
- package/skills/reference/webinar.md +1371 -0
- package/skills/workflows/upload-and-publish.md +146 -0
- package/skills/workflows/webinar-lifecycle.md +209 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: webhook
|
|
3
|
+
description: Subscribe to and manage TwentyThree platform event webhooks (video uploads, webinar events, recording completions, etc.)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# TwentyThree Webhook Commands
|
|
7
|
+
|
|
8
|
+
> Webhooks deliver platform events (video upload complete, webinar started, recording finished, etc.) to a URL you control.
|
|
9
|
+
> Every example uses `--json` for machine-readable output.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
Auth scope varies: **read** (list, events, sample), **write** (subscribe, unsubscribe).
|
|
14
|
+
Run `twentythree auth credentials` if not already configured.
|
|
15
|
+
Verify: `twentythree auth status --json`
|
|
16
|
+
|
|
17
|
+
> For any flag not listed here, run `twentythree webhook <cmd> --agent` to get the complete flag list, types, and defaults.
|
|
18
|
+
|
|
19
|
+
## Commands
|
|
20
|
+
|
|
21
|
+
### webhook list
|
|
22
|
+
|
|
23
|
+
**Auth scope:** read **Side effects:** none **Output:** table (ID, Event, Target URL)
|
|
24
|
+
|
|
25
|
+
No additional flags.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# List all webhook subscriptions for the workspace
|
|
29
|
+
twentythree webhook list --json
|
|
30
|
+
|
|
31
|
+
# Review subscriptions before adding or removing
|
|
32
|
+
twentythree webhook list --json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### webhook subscribe
|
|
38
|
+
|
|
39
|
+
**Auth scope:** write **Side effects:** creates **Output:** key-value (webhook_id)
|
|
40
|
+
|
|
41
|
+
| Flag | Required | Default | Description |
|
|
42
|
+
|------|----------|---------|-------------|
|
|
43
|
+
| `--target-url` | yes | — | URL to receive webhook POST requests |
|
|
44
|
+
| `--event` | yes | — | Event type to subscribe to (use `webhook events` to discover) |
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Subscribe to video upload events
|
|
48
|
+
twentythree webhook subscribe --event video.uploaded --target-url https://example.com/hook --json
|
|
49
|
+
|
|
50
|
+
# Subscribe to a webinar started event discovered via webhook events
|
|
51
|
+
twentythree webhook subscribe --event webinar.started --target-url https://example.com/hook --json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### webhook unsubscribe
|
|
57
|
+
|
|
58
|
+
**Auth scope:** write **Side effects:** destructive **Output:** key-value
|
|
59
|
+
|
|
60
|
+
> **Warning: This action removes the webhook subscription.** The target URL will stop receiving events for the specified webhook. Use `webhook list` to confirm the correct subscription ID before unsubscribing.
|
|
61
|
+
|
|
62
|
+
| Flag | Required | Default | Description |
|
|
63
|
+
|------|----------|---------|-------------|
|
|
64
|
+
| `--webhook-id` | no | — | Webhook subscription ID (at least one of `--webhook-id` or `--target-url` required) |
|
|
65
|
+
| `--target-url` | no | — | Target URL to unsubscribe (at least one of `--webhook-id` or `--target-url` required) |
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Unsubscribe by webhook ID
|
|
69
|
+
twentythree webhook unsubscribe --webhook-id 12345 --json
|
|
70
|
+
|
|
71
|
+
# Unsubscribe by target URL (removes all subscriptions pointing to that URL)
|
|
72
|
+
twentythree webhook unsubscribe --target-url https://example.com/hook --json
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### webhook events
|
|
78
|
+
|
|
79
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Event)
|
|
80
|
+
|
|
81
|
+
Lists all available webhook event types. Use this to discover valid event names before subscribing. Pass `--test-authentication` to include test authentication events.
|
|
82
|
+
|
|
83
|
+
| Flag | Required | Default | Description |
|
|
84
|
+
|------|----------|---------|-------------|
|
|
85
|
+
| `--test-authentication` | no | false | Include test authentication events |
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# List all available webhook event types
|
|
89
|
+
twentythree webhook events --json
|
|
90
|
+
|
|
91
|
+
# Include test authentication events to validate workspace credentials
|
|
92
|
+
twentythree webhook events --test-authentication --json
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### webhook sample
|
|
98
|
+
|
|
99
|
+
**Auth scope:** read **Side effects:** none **Output:** key-value
|
|
100
|
+
|
|
101
|
+
Returns a sample JSON payload for the given event type. Useful for consumer-side schema validation before subscribing. Pass the event name as a positional argument.
|
|
102
|
+
|
|
103
|
+
No additional flags — pass the event name as a positional argument.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Get a sample payload for video.uploaded events
|
|
107
|
+
twentythree webhook sample video.uploaded --json
|
|
108
|
+
|
|
109
|
+
# Redirect sample payload to a file for schema inference
|
|
110
|
+
twentythree webhook sample video.uploaded --json > sample-video-uploaded.json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Common Patterns
|
|
116
|
+
|
|
117
|
+
### Discover-then-subscribe (canonical flow)
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# 1. Discover available events
|
|
121
|
+
twentythree webhook events --json
|
|
122
|
+
|
|
123
|
+
# 2. Inspect a sample payload for one event
|
|
124
|
+
twentythree webhook sample video.uploaded --json
|
|
125
|
+
|
|
126
|
+
# 3. Subscribe
|
|
127
|
+
twentythree webhook subscribe --event video.uploaded --target-url https://example.com/hook --json
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Audit and clean up stale subscriptions
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# List all current webhook subscriptions
|
|
134
|
+
twentythree webhook list --json
|
|
135
|
+
|
|
136
|
+
# Remove a stale subscription by ID
|
|
137
|
+
twentythree webhook unsubscribe --webhook-id <id> --json
|
|
138
|
+
|
|
139
|
+
# Or remove all subscriptions pointing to a decommissioned endpoint
|
|
140
|
+
twentythree webhook unsubscribe --target-url https://old-endpoint.example.com/hook --json
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Test authentication before subscribing
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Confirm workspace credentials are valid for webhook subscription
|
|
147
|
+
twentythree webhook events --test-authentication --json
|
|
148
|
+
|
|
149
|
+
# If authentication passes, proceed with subscription
|
|
150
|
+
twentythree webhook subscribe --event webinar.started --target-url https://example.com/hook --json
|
|
151
|
+
```
|