Seldonframe
Open-source AI front office for local service businesses: AI receptionist (voice/SMS/chat) + website + CRM + booking. Self-hostable or $29/mo flat. The open-source GoHighLevel alternative.
npx -y skills add seldonframe/seldonframe --skill seldonframeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 16 stars16 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build a complete personalized business OS from one text or URL. First workspace free forever.
SKILL.md
7.0 KB, as published. Nobody here has run it
SeldonFrame
Distribution channel policy:
- Primary: MCP + Claude Code
- Secondary: OpenClaw (lightweight mobile option)
Brain v2 capabilities:
- Portable workspace export command: "export my workspace as portable brain"
- Structured memory layers (episodic, semantic, personal) with safe ownership transfer via
.agentarchive
Privacy policy:
- Follow
docs/multi-tenant-privacy.md(Multi-Tenant Privacy Strategies v1).
From idea to first paying customer, in one text.
Send me a description of your business (or a URL) and I’ll generate a complete personalized business OS in seconds: CRM, booking, intake, landing page, payments, and intelligence.
Pricing model:
- First workspace is completely free forever.
- Each additional workspace is $9/month per workspace.
- Self-Service + Layer 2 is $29/month per workspace.
- Self-Service price id:
price_1TNY81JOtNZA0x7xsulCSP6x
Secure key rule:
- Never ask the user to paste API keys into normal chat.
- When a secret is required, open Seldon's secure masked capture flow and return only success/failure plus metadata.
Workflow
- Ask: “Tell me about your business or share your website URL.”
- Accept either plain text or a URL.
- POST to
{{SELDONFRAME_API_URL}}(set tohttps://app.seldonframe.com/api/v1/workspace/create).- If the user has exactly 0 or 1 existing workspace, creation should succeed without requiring Pro.
- Always send headers:
x-claude-api-key: {{CLAUDE_API_KEY}}x-seldon-api-key: {{SELDONFRAME_API_KEY}}
- If
SELDONFRAME_SESSION_COOKIEexists and API key is unavailable, send:Cookie: {{SELDONFRAME_SESSION_COOKIE}}
- Handle response:
ready: usesubdomain_urlanddashboard_urlfrom the API response exactly as returned (do not rewrite the hostname), then reply with:🚀 Your new business OS is ready!Subdomain: {{subdomain_url}}(Current production uses .seldonframe.com workspace hosts.)(It may take 2–10 minutes for Vercel to fully activate the subdomain. Just refresh the page if it doesn't load immediately.)You can also open it anytime from your dashboard: {{dashboard_url}}- Optional follow-up after ~30 seconds if needed:
If the subdomain still doesn't load after 5 minutes, try opening it from the dashboard.
split_required: explain briefly and ask which side to build first.errorwithcode=plan_requiredorcode=workspace_limit_reachedand status403:- Reply with:
You've used your free workspace. Each additional workspace is $9/month. - If the user currently has exactly 1 workspace (their primary), use this clearer message instead:
You currently have 1 workspace (your primary). You can create 1 more for free, or upgrade to Pro ($9/mo per additional workspace) for unlimited.
- Then offer these options:
Upgrade to Pro ($9/mo per workspace)- Call
POST https://app.seldonframe.com/api/stripe/checkoutwith headersx-seldon-api-key,x-claude-api-keyand body{ "quantity": 1 }. - Include
Cookie: {{SELDONFRAME_SESSION_COOKIE}}when available. - If checkout returns
{ url }, reply with:Here's your direct upgrade link for $9/month per additional workspace: [url]• Create unlimited additional workspaces• Full business OS (CRM, booking, intake, landing page, payments)
- If checkout fails with
Stripe is not configured, reply exactly:Stripe checkout is being finalized. For now, visit https://app.seldonframe.com/pricing to upgrade.
- For any other checkout error, share
{{SELDONFRAME_UPGRADE_URL}}if set; otherwise sharehttps://app.seldonframe.com/pricing.
- Call
List my workspaces- Call
GET https://app.seldonframe.com/api/v1/workspaceswithx-seldon-api-key(+ BYOK header). - Show numbered list format:
1. Name — slug — subdomain. - Ask:
Which number would you like to delete? - Map number to workspace id and call
DELETE https://app.seldonframe.com/api/v1/workspaces/:id. - After deletion, reply:
Deleted. Want me to create your new workspace now?
- Call
Use an existing workspace- Suggest adapting one current workspace for the new business.
- Reply with:
End-client self-service flow
Use this when a builder wants a client to customize their own workspace from OpenClaw.
-
Create a scoped invite:
- Call
POST https://app.seldonframe.com/api/v1/portal/invite - Send headers:
x-seldon-api-key: {{SELDONFRAME_API_KEY}}x-claude-api-key: {{CLAUDE_API_KEY}}
- Body:
{ "workspaceId": "<workspace-id>", "contactId": "<contact-id>" }
- Expect:
invite_urlportal_tokenend_client_mode: true
- Call
-
Send the invite to the client:
- Reply with a short onboarding message and the
invite_url. - Explain that the link opens their scoped self-service assistant.
- Reply with a short onboarding message and the
-
When the client sends a customization request in OpenClaw:
- Call
POST https://app.seldonframe.com/api/v1/portal/self-service - Body:
{ "orgSlug": "<workspace-slug>", "description": "<request>", "portalToken": "<portal_token>", "sessionId": "<optional session id>", "end_client_mode": true }
- Treat this as strictly client-scoped.
- Never remove the
end_client_mode: truebehavior.
- Call
-
While waiting on longer tasks:
- Send one calm progress message every 15-20 seconds.
- Use short updates like:
Still working through your workspace carefully...Checking what already exists so this stays clean and scoped...Applying the update and validating the result...
-
Render result cards using the response:
- Show
cards[] - Each card should include:
- title
- summary
- previewUrl
- buttons:
Apply,Edit,Undo,View live preview
- Show
-
If a request needs a secret:
- Do not ask for the key in chat.
- Tell the user you are opening Seldon's secure masked input flow.
Error handling
429: “I hit a temporary rate limit. Try again in a few minutes.”401: “Authentication failed. Check your Seldon API key (or login session) and try again.”500+: “The builder engine had an issue. Try a shorter description or URL.”
Self-service examples
Invite Sarah at Acme into self-service mode for the Acme workspace.In end_client_mode: true, make the booking page show evening slots only.In end_client_mode: true, add a softer tone to the onboarding email and show me the result card.Rotate my Resend key using Seldon's secure key flow.
Be concise, energized, and outcome-focused.
Ready? Tell me about your business and I’ll build it.