1. Install the snippet
After you finish checkout, you’ll see a snippet that looks like this:
<script src="https://calgaryapp.com/embed.js" data-key="dst_YOUR_KEY_HERE" defer></script>Paste it just before the closing </body> tag on every page of your website. That’s it. Within a few seconds, a chat bubble appears in the bottom-right corner of every page.
</body>? Putting the script at the end of the body means your page renders first; the widget loads after. Visitors see your content immediately and the bubble pops in once the page is interactive.2. Per-platform instructions
Squarespace
- Settings → Advanced → Code Injection
- Paste the snippet in the Footer box
- Save. Visit your site — bubble appears immediately
Wix
- Settings → Custom Code → + Add Custom Code
- Paste snippet, Code placement: Body — end, Apply to: All pages
- Apply, then publish your site
WordPress (no plugin)
- Appearance → Theme File Editor →
footer.php - Paste the snippet just before
<?php wp_footer(); ?> - Save
WordPress (with WPCode or Insert Headers and Footers plugin — recommended)
- Install & activate WPCode (or similar)
- Add snippet, scope: Footer
- Paste, save, activate
Shopify
- Online Store → Themes → ⋯ → Edit code
- Open
theme.liquid - Paste snippet just before
</body> - Save
Plain HTML
Just paste the snippet before </body> on every page (or in your shared footer if you use one).
3. Customize Dusty
Everything in this section is editable from your dashboard at calgaryapp.com/business/dashboard?key=YOUR_KEY.
Brand color
Sets the chat bubble background, the user-message bubble, and the Send button. Any 3- or 6-digit hex value (e.g. #0066cc).
Position
Bottom-right (default) or bottom-left.
Greeting
The first thing Dusty says when a visitor opens the chat. Default: “Hi! I’m Dusty. Ask me anything about your business name.”
Suggested prompts
Up to 4 buttons that appear above the input. Tap to auto-fill the question. Good ones: “What are your hours?” “Do you take reservations?” “Where do I park?”
4. Teach Dusty about your business
Dusty’s answers get dramatically better when you give it specifics. Four ways to do that, in order of impact:
- Description. One paragraph that captures the essence. Dusty uses this as context for every single answer.
- Knowledge base. Verbatim question + answer pairs. If a question matches one in your KB, Dusty reads back your exact wording.
- Voice examples. Up to 5 (question, answer) demos that teach Dusty your tone. Claude follows examples about 5× better than tone instructions.
- Custom facts. Free-form key/value pairs (e.g. “reservations_email: book@yourplace.com”). Use this for the small operational facts that don’t fit anywhere else.
5. Troubleshoot
The bubble isn’t appearing on my site
- Check the snippet is actually in your HTML (View Source → search for
embed.js) - Open browser DevTools → Console. Any errors?
[Dusty]prefix means it’s our log. - Confirm your subscription is active in the dashboard. If your trial ended and payment failed, the widget pauses with a friendly message.
- If on Squarespace/Wix, make sure you saved + published (not just saved as draft)
Dusty is giving generic / wrong answers
- Open your dashboard, scroll to “What Dusty knows about you”
- Make sure your description, hours, address, phone are filled in
- For any answer that’s consistently wrong, add it to the Knowledge Base verbatim
- Changes go live within ~10 seconds — refresh your site and try again
Dusty mentioned a competitor in cross-promo I don’t want
Turn off “Cross-promote network venues” in your dashboard. Dusty stops recommending other Calgary spots and stays focused on you.
I’m getting too many off-topic questions
Add a Voice Example with an off-topic prompt and a polite redirect — e.g. “Q: What’s the weather? A: I’m here to help with [Your Business] — try Environment Canada for the forecast! What can I tell you about us?” Dusty patterns on it for similar requests.
I lost my dashboard URL
Visit calgaryapp.com/business/recover, enter your email, and we’ll send the dashboard link to your inbox.
I want to cancel
On the dashboard, click Manage billing. That opens the Stripe-hosted portal where you can cancel immediately (no charge if you’re still in the trial, prorated otherwise). Your data is kept for 90 days in case you come back.
6. Privacy & security
- The widget runs in a Shadow DOM — it can’t see your page’s cookies, localStorage, or other scripts.
- Conversations are logged so you can see what visitors ask. We don’t sell or share that data with anyone.
- The underlying LLM is Claude Haiku — Anthropic’s API does not train on these conversations.
- You can export 90 days of conversations as CSV from your dashboard at any time.
- Cancel any time. We keep your data for 90 days after cancellation in case you come back, then permanently delete it.
- HTTPS-only. The api_key in the URL is the credential — treat it like a password.
Still stuck? Email hello@calgaryapp.com — Jordan reads every one.
← Back to Dusty for business