Skip to content
AI & Agents
Skill

/io-events-registration

Use when the user wants to subscribe to Adobe I/O Events, create an event registration, set up a webhook, configure event delivery, or manage existing registrations — phrases like "subscribe to events", "register for events", "set up webhook", "listen to events", "event

From plugin
skills
322176 skills5 MCP

Claude Code

$ npx -y skills add adobe/skills --skill io-events-registration --agent claude-code

SKILL.md

io-events-registration.SKILL.md
name: io-events-registration
description: Use when the user wants to subscribe to Adobe I/O Events, create an event registration, set up a webhook, configure event delivery, or manage existing registrations — phrases like "subscribe to events", "register for events", "set up webhook", "listen to events", "event registration", "I/O Events", "configure journal", "set up event delivery", "delete registration", "remove event registration", "unsubscribe from events", "list registrations", "update registration", "disable registration", "enable registration", "trace events", "debug delivery", "check event delivery", "why didn't I receive events", "event trace", "webhook verification failed", "re-verify webhook", "retry webhook", "webhook not verified", "webhook challenge", "add event to registration", "subscribe to more events", "add event type", "read journal", "fetch events", "poll journal", "get journal events".
license: Apache-2.0

I/O Events Registration Flow

Guide the user through creating an event registration to receive events from Adobe services.

**Before starting:** invoke the `dev-console-context` skill.

Steps

Step 1 — Org, Project, Workspace

1. Call `get_organisations` → ask user to pick org. Store both `id` (numeric) and `code` (IMS org code). 2. Ask: *"Do you want to use an existing project or create a new one?"*

**If existing project:**

  • Call `get_projects` with `filterBy: "me"` → show as numbered list → user picks project.

**If new project:**

  • Ask for a **title** only. Derive `name` automatically (strip non-alphanumeric, camelCase, truncate to 20 chars).
  • Call `create_project` with `projectType: "default"`, the derived `name`, and title.
  • The response returns `projectId` and `workspaceId` directly — the default workspace is **Production**. Use these directly.

3. For existing projects: call `list_workspaces` → auto-select if only one workspace (Production), otherwise ask user to pick.

---

Step 2 — Pick event provider

Call **both** in parallel:

  • `list_event_providers` with both `consumerOrgId` (org `id` field) and `imsOrgCode` (org `code` field)
  • `get_provider_metadata` with `imsOrgCode` (the org `code` field)

**Map and enrich:** 1. From `list_event_providers`, collect the unique `provider_metadata` values across all returned providers. 2. Filter `get_provider_metadata` results to **only those whose `id` matches one of the collected `provider_metadata` values** — discard the rest. 3. For display, use the enriched metadata (`group`, `label`, `description`, `type`) for the filtered entries only.

Show the enriched list grouped by `group` — **only providers actually available to this org**:

Creative Cloud:
  1. Adobe Illustrator Cloud Docs — OAuth S2S or User Auth
Adobe Services:
  2. Adobe Admin Console Audit Logs — OAuth S2S only

**Credential type display** — map `providerMetadata.type` field:

  • `entp` → show **"OAuth S2S only"**
  • `adobeid` → show **"User Auth only"**
  • `entp_and_adobeid` → show **"OAuth S2S or User Auth"**

Ask the user to pick one provider category.

After picking, if `has_multiple_providers: true` → show instances (from `list_event_providers` filtered by `providerMetadataId`) and let the user pick one or more. If `has_multiple_providers: false` → auto-select the single instance.

---

Step 3 — Pick event types

For each selected provider `id`, call `list_provider_events`.

Combine all returned event types. Show and ask user to pick one or more:

1. Cloud Doc Deleted   (ai_cloud_docs_deleted)
2. Cloud Doc Created   (ai_cloud_docs_created)
3. Cloud Doc Updated   (ai_cloud_docs_updated)

---

Step 4 — Pick credential

Use the `type` from the selected provider metadata to determine which credential types are valid:

| Provider metadata `type` | Valid credentials to show | |---|---| | `entp` | OAuth S2S only | | `adobeid` | User Auth (AdobeId) only | | `entp_and_adobeid` | Both OAuth S2S and User Auth |

**4a. Ask credential type first** (based on provider `type`):

  • If `entp` → skip asking, proceed with OAuth S2S automatically
  • If `adobeid` → skip asking, proceed with User Auth automatically
  • If `entp_and_adobeid` → ask:
  This provider supports multiple credential types. Which would you like to use?
  1. OAuth Server-to-Server
  2. User Auth (AdobeId)

**4b. If OAuth S2S selected:**

  • Call `get_credentials` and check if one exists (`flow_type: "entp"` or `integration_type: "oauth_server_to_server"`)
  • If exists → use it, call `get_credential_secrets` with `id_integration` to get `client_id`
  • If not → **follow the OAuth S2S credential creation steps from the `dev-console-subscribe-api` skill** (`### OAuth Server-to-Server` section), then call `get_credential_secrets`

**4c. If User Auth selected:**

Ask for platform: WebApp, SinglePageApp, NativeApp, or apiKey.

  • Call `get_credentials` and check if a User Auth credential exists for that platform (`flow_type: "adobeid"`)
  • If exists → use it, call `get_credential_secrets` to get `client_id`
  • If not → **follow the User Auth credential creation steps from the `dev-console-subscribe-api` skill** (`### User Auth — AdobeId` section) for the chosen platform, then call `get_credential_secrets`

---

Step 5 — Pick delivery type

Ask the user to pick **one** delivery type:

How would you like to receive events?
1. Journal         — poll events from a journal endpoint (Adobe manages the queue)
2. Webhook         — push events to a URL in real time
3. AWS EventBridge — deliver events to AWS
4. Runtime Action  — invoke an App Builder runtime action

**If Journal selected:** no extra inputs needed.

**If Webhook selected:** 1. Ask for **webhook URL** 2. Ask: *"Single events or batches?"* → Single = `"webhook"`, Batch = `"webhook_batch"`

**If AWS EventBridge selected:**

  • Ask for **AWS Region** and **AWS Account ID**
  • `delivery_type: "aws_eventbridge"`, goes into `destination_metadata: { aws_region, aws_account_id }
Read more
@adobe
Ships withskills

Repository of Adobe skills for AI coding agents.

322176 skills5 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
322
Star history of adobe/skills on GitHub, a chart by star-history.com

Other skills on skills.

aa-conversion-funnel-analysis

aa-conversion-funnel-a…

Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have the worst leakage. Use this skill…

@adobe@adobeInstall Skill
aa-executive-briefing

aa-executive-briefing

Generates a concise, executive-ready performance summary covering key metrics, trends, and what's driving movement. Use this…

@adobe@adobeInstall Skill
aa-kpi-pulse

aa-kpi-pulse

Produces a compact KPI digest showing how key metrics changed over a period and what's driving the movement. Use this skill when…

@adobe@adobeInstall Skill
aa-top-movers-watchlist

aa-top-movers-watchlis…

Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric…

@adobe@adobeInstall Skill
cja-dimension-analysis

cja-dimension-analysis

Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user wants to analyze one or more dimensions…

@adobe@adobeInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw11d393k
@openclaw@openclawInstall Skill

Questions about io-events-registration.

Which coding agents can use io-events-registration?
io-events-registration installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.