Skip to main content

Keyboard shortcuts

Go to (press G then…)

  • Dashboard G D
  • Leads G L
  • Customers G C
  • Contacts (peOple) G O
  • Projects G P
  • Tasks G T
  • Marketing campaigns G M
  • Quotations G Q
  • Sales orders G S
  • Service desK G K
  • Invoices G I
  • Suppliers G U
  • Purchase orders G E
  • Competitors G V
  • Reports G R
  • Activity G A
  • Chat G H
  • Inbox G N
  • Products G B
  • Organisation settings (Gear) G G
  • Help centre (Wiki) G W

Create new (G, section, then N)

  • New lead G L N
  • New customer G C N
  • New quotation G Q N
  • New invoice G I N
  • New sales order G S N
  • New service desk case G K N
  • New task G T N
  • New project G P N
  • New purchase order G E N
  • New competitor G V N

On the current page

  • New N
  • Edit E
  • Focus search /

Within a list

  • Next / previous row J / K
  • Open focused row Enter
  • Toggle select on row X

General

  • Global search (all records) ⌘K
  • Open this cheat sheet ?
  • Close dialog / clear chord Esc
Press N after any creatable section (also suppliers, products, campaigns) to open its new form. Shortcuts are ignored while typing in inputs. Press Esc to close this dialog or clear a pending chord.
All topics 35

Marketing automation

Campaigns & journeys

Admin & Agent only

Campaigns let you group leads, contacts, or customers into segments, automate outreach with journeys (drag-and-drop flows of triggers, waits, emails, tasks, conditions, webhooks, and goals), and measure performance end-to-end. Marketing email is sent through a dedicated email account you connect (SMTP, SendGrid, or Microsoft 365 via OAuth). Opens, clicks, bounces, and unsubscribes flow back into the CRM when the sender supports event webhooks (SendGrid in V1 — SMTP and Microsoft 365 do not yet surface delivery events).

The campaigns list showing campaign names, channel and statuses (draft, active, paused, completed)

Creating a campaign

Go to Campaigns → New campaign . Set a name, status (draft, scheduled, active, paused, completed, archived), optional budget, and start / end dates. The budget feeds the ROI calculation on the Performance tab. Viewers can view campaigns but cannot create, edit, or archive them.

Members & attribution

Attach leads or customers to a campaign manually (lead/customer form → Campaign field) or in bulk — select rows in the Leads or Customers grid, click Add to campaign in the bulk action bar, pick a campaign. Idempotent: re-running on the same set will not create duplicate member rows. Anything created via a campaign journey is attributed automatically. The Performance tab counts leads attributed, qualified, won, lost, plus quotation / sales order / invoice rollups.

Audience readiness (who can receive email)

Open a campaign and switch to the Members tab for a plain-language readout of your audience — no spreadsheet needed. It loads the first time you open the tab (and refreshes after a bulk add) and answers one question: “if I send now, who actually gets it?”

  • Total audience — everyone attached to the campaign, with the lead / contact / customer mix shown.
  • Ready to receive email — members with a valid address who are not suppressed and have opted in.
  • Held back, by reason — so you know exactly what to fix: no email address on file, suppressed (previously unsubscribed, bounced, or reported spam), or not opted in to marketing email.

This doesn't change who a send reaches — consent and suppression are still enforced automatically at send time. It just makes the numbers visible up front, so a campaign audience is a clear list rather than a black box. If your organisation requires confirmed (double) opt-in, the panel notes that the confirmed-opt-in step still applies on top of the ready count.

Email accounts (senders)

Before any campaign can send email you must connect at least one sender at Campaigns → Email accounts → New . Three kinds:

  • SMTP — host, port, username, password, TLS mode. Use for your own mail server or a vendor that gives SMTP credentials.
  • SendGrid API — paste an API key. The webhook URL shown on the account detail page must be pasted into your SendGrid dashboard so we receive opens / clicks / bounces.
  • Microsoft 365 OAuth — click Connect Microsoft 365 on the new-account form to complete the consent flow. Beagle stores the refresh token securely; access tokens are refreshed on the fly. Use the Re-authenticate button on the account detail page if Microsoft rotates the token.

New accounts auto-queue a verification probe and show the result on the detail page. The page also surfaces a Sender domain health panel (SPF / DMARC / DKIM advisory) so you can spot deliverability issues before sending. Stored credentials are never displayed back — the page only shows that a value is configured.

Segments

Segments are saved filters over leads, contacts, or customers. Build conditions like lead_status in [qualified, contacted] or country = "GB". The form previews the matching set live so you can size the audience before saving. Segments power journey audiences and bulk-add to target lists.

Email templates

Reusable subject + HTML / text bodies with merge variables. The preview pane renders sample data inside a sandboxed iframe — safe even for HTML emails copied from external editors. Marketing-category templates must reference {{unsubscribe_url}} somewhere in the body — save is rejected without it. Templates can be archived to hide them from the picker without affecting historical sends.

Journeys (drag-and-drop flows)

A journey wires together triggers (e.g. lead created), waits (timed delays), emails (send one of your templates), tasks (create a CRM task for the team), conditions (branch on a field), A/B splits, webhooks (POST to an external URL), goals, end terminators, and side-effect nodes (update_field, add_to_campaign). Open the canvas via Campaigns → Open builder from any campaign's Journeys tab.

  • Edit on the draft version. Once you're happy, click Publish — the graph is validated (must have a trigger and a reachable goal) and becomes the live version. Existing enrolments keep running on the version they started on.
  • Quiet hours: configure start / end in HH:MM plus an optional IANA timezone (e.g. Europe/London). Emails that would fire inside the window are deferred to the end of the window.
  • Re-enrollment: each journey is either once_per_entity (default — any prior enrollment, active or terminal, blocks duplicates) or every_time (the same record can re-enrol on every trigger fire). Duplicates under the default are skipped silently.

Performance tab

Live counts of leads attributed / qualified / won / lost, quotations created / sent / accepted, sales orders, and (for Admins and Agents) invoiced revenue, budget, net, and ROI. Members see the activity numbers but not the financial row.

Tracking tab

Funnel by status + event (sent, delivered, opened, clicked, unsubscribed, bounced) plus per-template and per-account breakdowns. A/B variant summary appears when any journey in the campaign uses an A/B split.

Things to know before you send

  • Consent and unsubscribes are honoured automatically. Recipients who unsubscribe, bounce permanently, or report spam are added to a suppression list and skipped on every subsequent send across all campaigns.
  • Org-level + campaign-level + journey-level defaults. If a journey node doesn't pick an explicit sender, we fall back to the journey default, then the campaign's default email account, then the org default.
  • Daily and hourly quotas can be set per email account. Sends past the quota are snoozed automatically until the window resets.
  • Webhook signatures are verified. Forged event traffic is rejected at the controller before any DB write. Signature verification is currently implemented for SendGrid only — SMTP and Microsoft 365 senders do not push event data back, so opens / clicks / bounces will not populate for those kinds in V1.
  • Open + click tracking are wired automatically when a template is rendered: every <a href> is rewritten through Beagle's signed click-redirect, and a 1×1 open pixel is injected at the bottom of the HTML body.
  • List-Unsubscribe support. Every marketing send carries RFC 8058 one-click unsubscribe headers in addition to the in-body link, so Gmail and Outlook surface the native unsubscribe affordance.