The Concierge portal setup is a 20-step workflow with precise sequencing requirements (bundle shape, routing wiring, guest access flags, CORS/CSP records). Keeping it as a standalone skill lets it be invoked from
service-helpagent-coordinate
(Checkpoint 3 → Help Portal branch)
or called directly when the user already has an agent and only needs the portal.
Before asking the user any questions, verify that every skill this skill delegates to is installed:
If any skill is missing, stop immediately and tell the user which skills are absent with their exact directory names. Do not proceed until the missing skills are installed.
If
MESSAGING_CHANNEL_DEV_NAME
and
are not provided, this skill will delegate their creation to the appropriate skills (see runbook §E and §F.3). The portal site itself — the DEB bundle, branding, components, guest access, CORS/CSP — is always provisioned by this skill.
Read
references/portal-deploy-runbook.md
and follow it end-to-end. The runbook is the authoritative step-by-step guide; this SKILL.md is the router and context layer only.
-
Ask for the org alias:
yaml
AskUserQuestion:
question: "Which org should I deploy the Concierge portal to?"
header: "Org alias"
options:
- label: "Enter alias"
description: "Type the org alias (e.g. help-portal-dev, trailsignup)"
-
Query for
active agents (activation lives on
BotVersion.Status = 'Active'
, not on
— an unfiltered
SELECT ... FROM BotDefinition
returns retired/inactive bots the runbook cannot wire, so filter on active
explicitly):
bash
sf data query --target-org $ORG --json \
--query "SELECT Id, DeveloperName, MasterLabel FROM BotDefinition WHERE Id IN (SELECT BotDefinitionId FROM BotVersion WHERE Status='Active') ORDER BY MasterLabel"
- Zero rows (no bots, or only inactive/retired bots — both count as zero for wiring) → hard-stop in the same turn. Do not load the runbook, do not delegate to
service-digital-engagement-channel-configure
or service-digital-engagement-deployment-configure
, do not fabricate a , and do not present a "Create a new agent first" . Tell the user the portal needs an active agent to wire and point them at or service-helpagent-coordinate
to create one first, then re-invoke this skill.
- One or more active agents → present ALL returned agents as options via , plus a "Create a new agent first" option. Do NOT assume the user wants the only/first agent — always ask explicitly.
If the user selects "Create a new agent first": stop immediately with this message:
Creating a new agent is outside the scope of this skill. Please run the
skill (or
service-helpagent-coordinate
for a full Help Agent setup) to create your agent, then re-invoke the Concierge portal skill.
If the user selects an existing agent: capture
and
and continue.
Long-list rule: if there are more than 6 agents, paginate — show 6 at a time with a "Show more" option rather than presenting all at once.
-
Load
references/portal-deploy-runbook.md
and execute §0 top-to-bottom.
On completion, summarize what was deployed and surface the four return values above in a clearly labeled block so the user (or a calling skill) can act on them. If the active-agent query returned zero rows, skip straight to the hard-stop message from step 2 — no return values to report.