# Getting started

> From an empty account to search or chat on your site.

Signup creates a **Default** knowledge base for you. You add a source, wait until it is Ready, then create a widget and paste a snippet.

If you run [WordPress](/docs/wordpress), [Shopify](/docs/shopify), or [Laravel](/docs/laravel), start with that integration instead. Those packages sync content and can place the widgets for you.

## 1. Add content

In the dashboard, open your knowledge base and add a source. See [Ingestion](/docs/ingestion) for every method.

A knowledge base can mix sources. Add the ones that hold the answers visitors will ask for.

## 2. Wait until Ready

Opening the source shows progress while pages are read and embedded. Leave the page open if you like. It updates live.

A finished crawl or upload is not the same as Ready. Search and chat only use pages that have finished indexing.

## 3. Create a widget

From the knowledge base, create a **chat** widget or a **search** widget. Point it at the sources it should use.

On **Setup**, add the domain of the site that will host the embed (for example `example.com`). Browser requests are authorised by that origin.

## 4. Paste the snippet

The widget's **Install** tab has a ready-made snippet. Paste it before `</body>`.

Chat bubble:

```html
<script src="https://datalumo.app/widget/v1/datalumo.js"></script>
<script>
  Datalumo.chat('ORG_ID/WIDGET_ID').mount();
</script>
```

Search box:

```html
<div id="search" style="min-height: 2.5rem"></div>
<script src="https://datalumo.app/widget/v1/datalumo.js"></script>
<script>
  Datalumo.search('ORG_ID/WIDGET_ID', { target: '#search' }).mount();
</script>
```

The key looks like `{organisation}/{widget}`. It is safe to put in HTML.

For variants, identity, and headless mode, see [Install](/docs/sdk).

## What you'll need

- A Datalumo account. The first 100 answers are free.
- At least one source with content.
- The site domain added on the widget.

## Next

- [Chat](/docs/chat) and [Search](/docs/search) for dashboard settings
- [Chat actions](/docs/chat-actions) to let a chatbot search an allowlisted host or call a webhook
- [Authentication](/docs/authentication) if you are building a custom client
