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

# Quickstart

> Connect a store, import contacts, verify a domain and send your first campaign.

This guide takes you from an empty workspace to a live send. Budget about 15 minutes — most of it is DNS propagation and warmup running in the background.

<Note>
  You need a Senderz workspace. Sign up at
  [app.senderz.app/register](https://app.senderz.app/register), or install
  Senderz from the [Shopify App Store](/en/integrations/shopify) to provision
  a workspace automatically.
</Note>

## 1. Connect your store

Your store is the source of contacts, orders and behavioural events. Connect it first so everything else has data to work with.

<Steps>
  <Step title="Open onboarding">
    On first login the onboarding wizard opens on the **Integrations** step.
    You can return to it any time from **Settings → Integrations**.
  </Step>

  <Step title="Pick your platform">
    <Tabs>
      <Tab title="Shopify">
        Click **Connect Shopify**, approve the OAuth scopes, and you land
        back in Senderz. Customer and order history back-fill automatically.
        See the [Shopify guide](/en/integrations/shopify).
      </Tab>

      <Tab title="WooCommerce">
        Enter your store URL and approve the Auth Endpoint, or paste API keys
        manually. See the [WooCommerce guide](/en/integrations/woocommerce).
      </Tab>

      <Tab title="Konimbo / Magento">
        Paste an access token from your store admin. See
        [Konimbo](/en/integrations/konimbo) or [Magento](/en/integrations/magento).
      </Tab>

      <Tab title="Wix">
        Install the Senderz app from the Wix App Market. See the
        [Wix guide](/en/integrations/wix).
      </Tab>
    </Tabs>
  </Step>

  <Step title="Watch the back-fill">
    Existing customers import in the background; new customers arrive by
    webhook. Order history (last 60 days) back-fills so lifetime value and
    predictive scores work on day one.
  </Step>
</Steps>

## 2. Import contacts (optional)

If you have a list outside your store, upload it.

<Steps>
  <Step title="Go to Contacts → Import">
    Upload a **CSV, TSV, Excel (.xlsx/.xls)** file up to 10 MB.
  </Step>

  <Step title="Map your columns">
    Every upload routes through the mapping step. Senderz auto-maps common
    headers (including Shopify consent columns) — confirm the map before you
    start.
  </Step>

  <Step title="Let validation run">
    Each row is validated for syntax, MX records and quality (disposable,
    role, duplicate). Only valid and risky rows import; rejects are counted
    with reasons.
  </Step>
</Steps>

<Warning>
  Consent on import is conservative. A row is opt-in only if the file carries
  a truthy consent signal — SMS is never auto-subscribed. See
  [Consent & compliance](/en/audience/consent).
</Warning>

## 3. Verify a sending domain

Marketing email must send from a verified domain you control.

<Steps>
  <Step title="Add your domain">
    Go to **Domains → Add domain** and enter the domain you send from
    (for example `mail.yourstore.com`).
  </Step>

  <Step title="Publish DNS records">
    Senderz shows the SPF, DKIM, DMARC, return-path and tracking records to
    add. If your DNS provider supports it, use **Auto-configure** to write
    them for you.
  </Step>

  <Step title="Wait for verification">
    A background job checks DNS every minute — no need to click Verify. Once
    all records resolve, the domain flips to **Verified** and warmup starts
    automatically.
  </Step>
</Steps>

<Info>
  The DKIM private key is generated in AWS KMS and never leaves it. Signing
  happens at the send worker. See [Domains & authentication](/en/deliverability/domains).
</Info>

## 4. Send your first campaign

<Steps>
  <Step title="Create a campaign">
    **Campaigns → New**. Choose the **email** channel.
  </Step>

  <Step title="Pick an audience">
    Select a segment, or send to everyone who is subscribed. Suppressed and
    unsubscribed contacts are removed automatically.
  </Step>

  <Step title="Choose content">
    Start from a gallery template or your own. Email content opens the block
    builder; SMS opens the composer.
  </Step>

  <Step title="Schedule">
    Send now, schedule for later, or use **best-time** (per-recipient
    send-time optimisation) or **throttled** rollout.
  </Step>

  <Step title="Review and send">
    The review step shows the frozen audience size and a send-test option.
    Ship it.
  </Step>
</Steps>

## 5. Automate with a flow

Campaigns are one-off. Flows react to events forever.

<Steps>
  <Step title="Create a flow">
    **Flows → New**. Add a trigger node — for example **abandoned cart** or
    **order placed**.
  </Step>

  <Step title="Add channel nodes">
    Drop email, SMS, push or voice nodes and wait timers. Branch on
    conditions with the segment filter.
  </Step>

  <Step title="Publish">
    Publishing enrols matching contacts on every future trigger. The same
    pipeline gates apply at send time.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="Core concepts" icon="diagram-project" href="/en/getting-started/concepts">
    Understand the data model before you build.
  </Card>

  <Card title="Segments" icon="filter" href="/en/audience/segments">
    Build behavioural audiences with RFM and predictive scores.
  </Card>

  <Card title="Deliverability" icon="shield-check" href="/en/deliverability/domains">
    Domains, sender IDs and warmup.
  </Card>

  <Card title="API reference" icon="code" href="/en/api-reference/introduction">
    Automate with events, transactional sends and webhooks.
  </Card>
</CardGroup>
