Skip to main content
Waveguide
Docs navigation

About my business

Every Waveguide agent has a persona file called SOUL.md — a markdown document loaded into every session as standing instructions. It’s how the agent knows who you are, how you like things written, and what matters most. Edit it any time from Dashboard → About my business; changes apply from the next session.

The setup wizard seeds SOUL.md from your answers (name, industry, primary goal, timezone), so you start with something sensible rather than a blank page.

Learn from a URL

On About my business you can paste a public website or profile URL (your site, Yelp, Google Business, Shopify, Etsy, LinkedIn, or a personal page). Waveguide reads public pages, drafts identity and voice, imports key logos/images into Media, and shows a review draft before anything is saved.

The review is centered on a business card (name, one-liner, customers, tone). Offerings, media thumbnails, standing-instructions draft, and evidence sit in expandable sections so you can skim first. While a draft is open, the rest of the page (Identity, Media, send windows, standing instructions) is hidden so the only job is accept or discard.

  • Accept all — fills Identity fields and merges a standing-instructions draft into SOUL.md.
  • Fill empty fields only — keeps what you already wrote; fills blanks.
  • Discard — throws away the draft (and media from that run).

Send windows, do-not-contact lists, and escalation rules are never changed by enrichment — those stay human-authored. Site copy is never written into owner voice samples.

Operators can disable the feature by setting control-plane SOUL_ENRICHMENT_ENABLED=false (and the dashboard SOUL_ENRICHMENT_ENABLED flag in feature-flags.ts).

Media library

Media holds logos and images for drafts you approve. You can:

  • Browse a thumbnail grid (Logo vs other images),
  • Open an image to preview it large, edit its label or role (logo, social share, hero, product, or image), and save,
  • Upload PNG / JPEG / WebP / GIF (drag-and-drop or Choose files; max 2MB each), or
  • Import them via Learn from a URL (reviewed before commit).

Remove deletes the file from storage. To replace a file, remove it and upload again. Uploads are stored as unattached library items (not tied to an enrichment job). While a Learn-from-URL draft is open for review, Media is hidden so accept/discard stays the only job.

What belongs in SOUL.md

Who you are. Your name or project, what you offer, who you serve, anything a competent new marketing hire should know on day one.

Voice. How the agent writes when it drafts emails and creative on your behalf. “Friendly but not chummy. Short sentences. Never use exclamation marks. Sign off as ‘The Acme Team’.”

Priorities. What the growth loop optimizes for. “Booked estimates over raw lead volume. Weekend leads are gold — respond within minutes.”

Boundaries. Things the agent should never do even where technically allowed. “Never mention discounts unprompted. Never contact leads after 8pm local.”

Example

# Acme Plumbing — SOUL

## Business
Family-owned plumbing company in Austin, TX. Residential repair and
remodels. Average job $850. We win on speed and trust, not price.

## Voice
Plain, warm, competent. Texan-friendly but professional. No emoji.
Sign emails "— Dana at Acme Plumbing".

## Priorities
1. Speed-to-lead: every new lead gets a reply within 10 minutes.
2. Booked jobs > lead volume. Push toward a scheduled estimate.
3. Retargeting warm traffic beats cold prospecting for us.

## Boundaries
- Never quote a price for anything; always "free estimate".
- No contact between 9pm and 7am Central.
- Emergencies (words like "flooding", "burst") escalate to me
  immediately, any hour.

Calendar booking

On About my business the Calendar booking card sets how meetings get booked:

ModeBehavior
Waveguide bookerNative public page at /book/{slug} using Google Calendar free/busy + your bookable windows
CalendlyDeep booking via a connected Calendly event type (required); public page may redirect to Calendly
External linkShare a Calendly/other URL only (agent shares the link; no API book)

Also set meeting length, buffer between meetings, event title, and optionally enable the public booking page. Operators can hide native page controls with dashboard BOOKING_NATIVE_ENABLED=false (mirror of control-plane BOOKING_NATIVE_ENABLED).

Tips

  • Write to a person, not a computer. SOUL.md is read by a capable model — the same clear brief you’d give a smart contractor works best.
  • Short beats long. A tight page outperforms a rambling ten. The agent re-reads this every session.
  • Update it when you correct the agent. If you deny an approval and tell it why in Slack, also encode the lesson here — that makes it permanent.
  • Boundaries are belt, not suspenders. Hard limits (spend caps, approval tiers) are enforced by the platform regardless of what SOUL.md says. Persona shapes judgment; the proxy enforces law.