> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dmly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up your workspace

> The order to do things in to go from an empty DMLY workspace to a working WhatsApp inbox, team and first automation.

A new workspace starts empty. No channel is connected, no contacts exist, and nothing is
automated. This page is the shortest path from that to DMLY actually working, in the order
that matters — each step depends on the one above it.

<Note>
  DMLY has no setup wizard or progress tracker in the app. This checklist is it. Work down
  the list, and keep this page open in a tab.
</Note>

Set aside about an hour of your own time. Two things also depend on other people, so start
them early: connecting WhatsApp needs Meta's approval of your number, and your WhatsApp
message templates are reviewed by Meta on their schedule, not yours. Both are called out
below.

<Steps>
  <Step title="Fill in your business details">
    Open the menu at the **bottom of the left sidebar** (your name and avatar), select
    **Settings**, and stay on the first tab: **Business Details**.

    Fill in **Business Name**, **Business Email**, **Business Phone**, **Currency**, your
    **Business Address**, and upload a **Logo**.

    Do this first because these details are not decoration — they are printed on your
    invoices and receipts, used on your public booking page, and your **Business Email**
    becomes the Reply-To address on outgoing email. Setting them now means everything you
    create later is already branded correctly.

    Your workspace name *is* your business name — there is only one field, and changing it
    changes both.

    [Business details →](/account/business-details)
  </Step>

  <Step title="Connect WhatsApp">
    In the left sidebar, go to **Configurations → Integrations**. The **Channels** tab is
    open by default. Select **Add account**, then **WhatsApp**.

    You get two ways to connect:

    * **Configure WhatsApp via Embedded Signup — Simple (10 mins)**, then **Connect a WhatsApp number**. Use this one.
    * **Bring your own WhatsApp Cloud API keys — Complex (30 mins)**, then **Configure**. Only if you already run your own Meta app.

    Connect a channel before anything else, because almost nothing else works without one.
    Contacts, Broadcasts, Automation, Meetings and Growth Tools are all tied to a
    channel — with none connected they show **Connect a channel first** instead of the real
    screen.

    <Tip>
      Not ready for WhatsApp yet? **Telegram** is fully self-serve — paste a **Bot token**
      and you are connected. A **Live Chat** widget is also self-serve, but someone has to
      paste a snippet into your website before it appears. Either is a fine way to see the
      Inbox working today, but come back and do WhatsApp.
    </Tip>

    [Connect WhatsApp →](/channels/whatsapp) · [All channels →](/channels/overview)
  </Step>

  <Step title="Let Meta review your message templates">
    Nothing to click here — but start the clock now.

    The moment a live WhatsApp number connects, DMLY submits its built-in `dmly_` message
    templates to Meta for review. WhatsApp only lets you message someone outside a 24-hour
    window using a template Meta has **approved**, so until that review comes back:

    * Your WhatsApp broadcasts have nothing to send. The template picker lists **approved**
      templates only — a template that is Draft, Pending or Rejected simply is not in the
      dropdown.
    * Notifications that would go out over WhatsApp fall back to a plain message if the
      contact messaged you in the last 24 hours. Outside that window, they are skipped
      entirely rather than sent.

    Review is Meta's, not DMLY's, and it is out of your hands. It usually comes back in
    **under 24 hours**. Plan your first broadcast around that rather than the other way
    round.

    To check where they stand, go to **Templates** in the sidebar and select **Refresh
    templates** — that re-syncs each template's status from Meta and re-submits any that
    never went.

    [Message templates →](/broadcasts/message-templates) · [WhatsApp rules and limits →](/broadcasts/whatsapp-rules-and-limits)
  </Step>

  <Step title="Send yourself a test message">
    From your own phone, message the number, page or bot you just connected. Then open
    **Unified Inbox** in the sidebar and check it arrived.

    Do not skip this. Connecting a channel and *receiving* on it are two different things —
    the connection can look fine while inbound messages never arrive, and you would rather
    find that out now than when a customer does. If the message lands in the Inbox, your
    channel is genuinely live.

    <Accordion title="Nothing arrives in the Inbox">
      Check the channel is listed on **Configurations → Integrations → Channels**, and that
      its card has no red dot — that dot means **Unauthorized**, and the channel needs
      connecting again. If the channel is there with no red dot and messages still do not
      appear, inbound delivery is a setup problem on the Meta or Telegram side rather than
      something you can fix from this screen — contact support with the channel name and the
      time you sent the test.
    </Accordion>

    [Inbox overview →](/inbox/overview)
  </Step>

  <Step title="Invite your team">
    Open the same bottom-of-sidebar menu and select **Team Members**, then **Invite member**.
    Enter their email address, pick a **Role**, and select **Invite**.

    Do this after the channel is live so your team's first login shows them real
    conversations rather than an empty state.

    There are three base roles:

    * **Admin** — "Can access and edit everything."
    * **Member** — "Can access and edit everything except configuration section."
    * **Viewer** — read-only: they can see the messaging modules but can't change anything.

    If none of them fits, build your own permission set under **Team Roles** (**New role**), then
    pick it in the invite modal's **Custom role** dropdown — the default there is
    **None — use the base role above**. DMLY ships no ready-made custom roles, so anything
    you see in that list is one your workspace created.

    People join by clicking the emailed invitation — there is no way to add someone directly.
    Your plan caps how many members and pending invitations a workspace can hold.

    [Team members →](/account/team-members) · [Roles and permissions →](/account/roles-and-permissions)
  </Step>

  <Step title="Turn on your first automation">
    Go to **Automation** in the sidebar and build a flow.

    Start with one — a greeting or an out-of-hours reply. It is the first thing that makes
    DMLY work while you are not watching, and it is the cheapest way to learn the flow
    builder before you rely on it for anything expensive.

    Whatever you connected in step 2 can run it. Automation works on every channel type —
    unlike **Broadcasts**, **Templates** and **Growth Tools**, which are each limited to
    particular channels. It does still need a channel, though: with none connected it shows
    **Connect a channel first**, like the rest of the list in step 2.

    [Automation overview →](/automation/overview) · [Flow builder →](/automation/flow-builder) · [Templates →](/automation/templates)
  </Step>

  <Step title="Bring in your contacts">
    Go to **Contacts** in the sidebar and select **Import**, which opens a page headed
    **Import contacts**. Take the **Download sample** file first and match your columns to
    it — that one habit prevents most failed imports.

    Contacts come last on purpose. Anyone who messages you becomes a contact automatically,
    so this step is about your existing list, not about getting started. Import it once your
    channel is live and your team can answer, so any replies land somewhere useful.

    <Warning>
      Importing a list is not consent to broadcast to it. WhatsApp holds you to the number's
      opt-in, not your CSV. The **Unsubscribe** tag ships locked for exactly this reason and
      cannot be deleted — respect it.
    </Warning>

    [Import contacts from CSV →](/contacts/import-csv) · [Tags and segments →](/contacts/tags-and-segments)
  </Step>
</Steps>

## Where to go next

<Columns cols={2}>
  <Card title="Learn the Inbox" icon="inbox" href="/inbox/overview">
    Assign chats to teammates, set conversation status, and save quick replies for the
    questions you answer twenty times a day.
  </Card>

  <Card title="Send your first broadcast" icon="bullhorn" href="/broadcasts/create-campaign">
    Once a template is approved, send a campaign to a segment of your contacts.
  </Card>

  <Card title="Take bookings" icon="calendar-check" href="/appointments/overview">
    Add your services as Offerings and let clients book appointments themselves.
  </Card>

  <Card title="Get paid" icon="credit-card" href="/finance/overview">
    Invoices, payments and payment links you can share straight into a WhatsApp chat.
  </Card>

  <Card title="Collect Google reviews" icon="star" href="/reputation/overview">
    Connect your Google Business Profile and ask happy clients for a review over WhatsApp.
  </Card>

  <Card title="Find your way around" icon="compass" href="/getting-started/navigating-dmly">
    A tour of the sidebar, the profile switcher and where settings actually live.
  </Card>
</Columns>
