Workspace Setup Recipes¶
Three concrete walk-throughs of how to set up a workspace for different team shapes. Each one is a numbered list of steps that map directly to tabs and dialogs in Workspace Settings. Use them as starting points and tune to your team's needs.
1. Marketing team workspace¶
Goal: a workspace where your marketing team drafts landing pages, manages copy, and pulls campaign data from existing tools. The AI should know your brand voice and have one-click access to Slack, Notion, and analytics.
- Create the workspace. Dashboard → workspace switcher → New workspace. Name it (e.g., "Marketing"), pick a color chip, and create. You are the owner.
- Invite the team. Workspace Settings → Members → Invite member. Add the team's emails, set them all to Member by default. Promote your head of marketing to Admin so they can manage credentials when you are out.
- Connect Slack. Workspace Settings → Integrations → search "Slack" → Connect. Authorize via OAuth in the popup. After the redirect, the integration appears in Connected with a green health badge.
- Connect Notion. Same flow with the Notion card. Pick the workspace pages the integration is allowed to read; Doable respects Notion's per-page sharing.
- Connect your analytics tool. Google Analytics, Plausible, PostHog, or Mixpanel: each lives in the Integrations catalog. For OAuth-based ones (GA, Mixpanel) you authorize once; for API-key based ones (Plausible, PostHog) you paste the read-only key.
- Teach the AI your brand voice. Workspace Settings → Knowledge bases → workspace knowledge file. Paste in your brand voice doc: tone, banned words, your top three product taglines, your audience persona, do/don't examples. The AI will fold this into every prompt across every project in the workspace.
- Add a "draft a landing page" skill. Workspace Settings → Skills → Add skill. Name:
landing-page-draft. Body: paste your favorite landing-page brief template ("hook, three benefits, social proof, CTA"). Allowed tools: keep the build tools (create_file,edit_file). Save. From now on, anyone in the workspace can picklanding-page-draftfrom the skill picker and the AI will follow that template. - Set the default model. Workspace Settings → AI → workspace default model. For marketing copy, a strong general model (Claude Sonnet, GPT-4o) is a good baseline. Toggle off any models you have not vetted for brand-safety from the allowed-models list.
2. Design team workspace¶
Goal: a workspace where designers prototype interactive pages, annotate work-in-progress with sticky comments, and ship the result as a preview link to stakeholders. The AI should commit semantic changes back to code rather than raw CSS.
- Create the workspace as in recipe 1, named "Design" (or per-product if you run several design teams).
- Invite the design team as Members. Workspace Settings → Members. Designers as Member. Anyone who only needs to see-and-comment (PMs, marketing reviewers) goes in as Viewer: they can open projects but cannot run AI turns or edit files, which is exactly what you want for review.
- Connect Figma. Workspace Settings → Integrations → Figma → Connect. Authorize OAuth. With Figma connected, the AI can read frame metadata and (depending on the Figma file's sharing) export node images, so you can prompt "Build a React component from this Figma frame".
- Pin Visual Edit + Design Comments in your team's onboarding. No setting needed: Visual Edit lives in every project under the Design tab (Palette icon) of the editor, and Design Comments are the Figma-style sticky pins you drop on the live preview. Add a one-paragraph note in the workspace knowledge file telling new members where to find them.
- Make "AI Save" the default workflow. When a designer changes margins, colors, or typography via the Design panel's property editors, two save options appear: Save (writes raw computed CSS) and AI Save (sends the diff to the AI for a semantic refactor). Tell your team to prefer AI Save so the codebase stays clean. The setting lives in the editor; there is no workspace-wide toggle.
- Connect your handoff tool. If the team uses Linear or Jira for tickets, connect under Integrations. If they paste reviews into Slack, you already have Slack from recipe 1, so re-use it.
- Add a design-system skill. Workspace Settings → Skills → Add skill named
design-system-component. Body: your component-library naming conventions, your tokens, the import path for your design-system package, your accessibility requirements. Designers attach this skill when they prompt "Build me a new card variant" and the AI follows your conventions automatically. - Set up a preview-as-deliverable culture. Train the team to use the editor's Deploy button → Preview environment. The deploy dialog streams build logs and surfaces a
<slug>.doable.melink they can paste into a Slack review thread. This becomes the "deliverable" rather than a Figma export; stakeholders click and interact.
3. Engineering team workspace¶
Goal: a workspace where engineers build production apps, every project syncs to GitHub, CI/CD is wired up, the AI is constrained by a strict sandbox allowlist, and every member has MFA enabled.
- Create the workspace named "Engineering". Make at least one teammate a second Owner immediately: never run a production workspace with a single owner.
- Mandate MFA. Workspace-level MFA enforcement is not a workspace-admin setting today (platform admins manage MFA defaults globally). Instead, walk the team through Account Settings → MFA and confirm each member's enrollment in the workspace audit log; every enrollment leaves a record. If the platform admin has shipped a workspace-required-MFA toggle, enable it from the audit/security area. TBD in current builds.
- Connect GitHub. Workspace Settings → Integrations → GitHub → Connect. Authorize the OAuth app for the relevant org. Make sure the OAuth app permissions include the repos this team will be syncing.
- Per-project GitHub sync. This part is per-project, not per-workspace. In each project, open the editor toolbar's GitHub button → Connect repo. Pick the repo, pick the branch, and Doable will commit on every meaningful change. Document this in the workspace knowledge file so every new project follows the same convention.
- Wire CI/CD via integrations. If you use GitHub Actions, the per-repo sync above is enough; your existing workflows run on push. If you use a separate CI provider (CircleCI, Buildkite), connect it under Integrations and use a "build started" / "build failed" Slack channel.
- Lock down the sandbox. Workspace Settings → Sandbox:
- Tool default action:
deny. The AI can only call tools you have explicitly allowed. - Network default action:
deny. The AI can only reach destinations you have explicitly allowed. - Add allow-rules for what your codebase actually needs (
npm,pnpmregistry, your private package registry, your CI webhook host). The per-rule UI is in flight (migration 073); if your build only shows the defaults toggle, ask your platform admin to drive the rule set on your behalf in the interim. - See security/sandboxing.md and security/egress-firewall.md.
- Pin allowed models. Workspace Settings → AI → Allowed models. Restrict to the models you have approved for code generation (e.g., Claude Sonnet, GPT-4o, your enterprise Copilot seat). Block anything you have not vetted.
- Enable workspace audit habit. Workspace Settings → Audit. Bookmark this tab and review weekly. You are looking for: AI actions reaching unexpected destinations, AI sessions in unexpected projects, role changes, and MFA resets. Every workspace-admin action is also recorded here, so the log catches your own mistakes too.
If you operate multiple environments (dev / staging / prod) per project, configure those in the editor's Environments panel. Workspace defaults for environment variables are project-scoped, not workspace-scoped, but you can document the conventions in the workspace knowledge file so every project follows the same pattern.