How Publishing Works
Click Publish
Click the Publish button in the top-right corner of the Workshop Cloud interface. A popover opens showing your deployment settings and the URL your app will be available at.
Configure visibility
Choose who can access your published app:
- Public — Anyone with the URL can use your app. No sign-in required.
- Private — Only people you explicitly invite by email can access it. Requires a paid plan.
Deploy
Click Publish in the popover. Workshop packages your project files, injects any required secrets and connector credentials, and deploys everything to serverless infrastructure.Deployment typically takes 30 seconds to 2 minutes depending on project size and dependencies. The maximum timeout is 5 minutes.
Custom Project URLs
Every published app gets a unique URL based on your project’s slug — an auto-generated identifier likegentle-elephant-alice. The resulting URL follows the pattern:
Slug names must be 3-50 characters, lowercase letters, numbers, and hyphens only. No leading, trailing, or consecutive hyphens. Each slug must be globally unique.
Public vs Private Apps
Public Apps
- Select “Anyone on the internet” in the Visibility dropdown
- No sign-in required for visitors
- Available on all plans including the free Discover tier
Private Apps
- Select “Only people invited” in the Visibility dropdown
- Invite specific people by email in the “Who can access” section
- Visitors who aren’t invited see an “Access Restricted” page
- A visitor opens your private app URL
- If they’re not signed in, they’re redirected to a sign-in page showing your app name and your identity as the owner
- They sign in with Google or request an email magic link
- After signing in, they’re redirected back to your app automatically
Private apps require a paid plan. On the Build plan, you can invite up to 5 viewers and publish 1 private app. The Scale plan offers unlimited viewers and private apps.
What Happens During Deployment
When you click Publish, Workshop performs these steps:- File packaging — Your project files are collected and uploaded to the deployment infrastructure
- Secret injection — Any secrets you’ve configured (API keys, database credentials) are securely injected into the deployment environment
- Connector credentials — If your project uses managed connectors (Workshop-provided AI connectors), fresh API keys are auto-generated for the deployment
- App startup — Your app’s start command is auto-detected and executed (Streamlit run command or FastAPI server)
- URL routing — Traffic is routed to your app through the project slug URL
Updating a Published App
After making changes to your project, click Update in the Publish popover to push the latest version. The deployment URL stays the same — visitors see the new version once the update completes.Stopping a Published App
To take your app offline:- Open the Publish popover
- Click Stop
- Confirm the action
Viewing Published Apps
On the Projects page, published apps display a green Live indicator with the deployment URL. You can filter your projects by the Live tag to see only published apps. Clicking the URL opens the app in a new tab.Hide Workshop Branding
On paid plans, you can remove the Workshop badge from your published apps. Toggle the Hide branding option in the Publish popover’s advanced settings. Private apps can always hide branding regardless of plan.Plan Limits
| Feature | Discover (Free) | Build | Scale |
|---|---|---|---|
| Public apps | Unlimited | Unlimited | Unlimited |
| Private apps | Not available | 1 | Unlimited |
| Invited viewers (per private app) | N/A | 5 | Unlimited |
| Custom slug rename | No | Yes | Yes |
| Hide branding | No | Yes | Yes |
Troubleshooting
Deployment timed out
Deployment timed out
Deployments have a 5-minute timeout. If your app has many large dependencies, it may take longer to install them. Try simplifying your requirements or breaking the project into smaller pieces.
App shows 'Temporarily Unavailable'
App shows 'Temporarily Unavailable'
Can't set visibility to Private
Can't set visibility to Private
Private visibility requires a paid plan. On the Build plan, you’re limited to 1 private app — if you already have one, you’ll need to upgrade to Scale or make the existing private app public first.
Slug rename is disabled
Slug rename is disabled
You can only rename a slug when the app is stopped. Stop the app first, rename the slug, then republish.