embd.co. Every deploy
gets an immutable commit URL and a moving branch URL. Deploys from the app’s production branch also
update its production URL.
Set up a project
1
Choose the project slug
Open Hosting in the Embeddables dashboard and enroll the project. The project slug must be
3–16 characters: lowercase letters, numbers, and single hyphens.The slug becomes part of every
embd.co hostname for the project. It cannot be changed after it
has been set, so choose a durable value.2
Register an app
Add an app in the dashboard. Its slug must be 3–12 characters and follows the same lowercase
rules as the project slug. An app slug cannot be changed.Set the production branch to the branch that should deploy automatically to production. It
defaults to
main. The repository path is optional.3
Create a deploy key
Create a project deploy key and save the returned
edk_… value as the
EMBEDDABLES_DEPLOY_KEY secret in your CI provider.4
Deploy from CI
Add the Embeddables Deploy action. It uploads the app and returns the
branch and commit preview URLs.
Hostnames
For project slugacme and app slug storefront:
Branch names are converted to DNS-safe labels and include a short hash. Commit URLs use the first
seven characters of the commit SHA. Use the URLs returned by a deploy instead of constructing them.
Production behavior
A successful deploy creates or reuses its immutable commit URL. It updates the moving branch URL unless that branch already serves a newer commit. When the git branch matches the app’s production branch, the same deploy also points production at that commit unless production already serves a newer commit. You can manually promote any existing preview, including an older commit for rollback. The productionembd.co hostname and every active custom domain move
together.
Manage hosting programmatically
- Use the Admin SDK reference to build hosting controls into an operator dashboard.
- Use the MCP reference to manage hosting from an MCP client.

