Account & Settings
Your account: your plan and billing, your profile and login, the company context that grounds every AI draft, and your data controls.
Overview
Settings is where you manage the account itself, everything that isn't a run. It's the home for your identity and your money, not a work surface.
Plan & billing
- Your roles. The roles this account holds, linking to Your roles for renewals, setup links, and per-role rollups.
- What you own. The fuller ledger: every role, plugin and bundle on the account with its source and expiry. Change plan and Subscription sit under it, with the Stripe portal for invoices, payment method and cancellation.
- Upgrade to a team. Legacy Solo subscribers can upgrade in place to Team on Cron, one yearly subscription ($1,250/year, 5 seats: you plus 4 teammates). Stripe prorates the rest of your current billing period; seats are then managed in Team admin.
- Entitlements. The union of everything you have bought or been granted, roles and plugins alike. This is what the runtime checks before it runs.
- Change plan. Contextual self-serve plan changes, no support email needed:
- Complete the Full Suite. If you own individual products (or the Core+GTM bundle), the card offers the Full Suite for the difference, everything you've already paid at list price is credited automatically at checkout, and you always pay at least $1. Your existing licenses stay perpetual.
- Switch to yearly billing. Monthly All-Access members get a one-click switch to yearly (Stripe prorates the change).
- Manage / cancel membership. Opens the Stripe Customer Portal for plan changes, payment method, and cancellation.
Changing plans here takes effect on the next scheduled run. The scheduler reads your live entitlement rows each pass, so there is no cache to wait out and nothing to re-provision by hand.
Coming back from checkout
- What the confirmation means. Returning from Stripe, this page reads your actual licence rows before it says anything. "You're in" names what is now on the account. It is not inferred from the redirect.
- "Payment received. Provisioning your licence." The payment cleared and the licence has not been written yet. Stripe tells us about a completed payment on a separate callback, usually within seconds. The page watches for the licence and refreshes itself when it lands, so leave it open.
- If it stays on that message. After about a minute the page says so and offers contact. Your payment is not at risk and nothing is lost; the licence gets applied by hand.
- Buying something you already own. The cart drops it and tells you, rather than charging you a second time for the same perpetual licence. A bundle that includes something you own still sells, because the rest of it is new.
Profile & login
- Profile. Your name, title, territory or region, and work email. All four are stored against your account, so they follow you to another browser or machine rather than living only where you typed them. Territory and work email also ground AI drafts, and the work email is what filters you out of attendee lists in Meeting Prep.
- Password. Set one if you signed up with a magic link and want a password too. Google sign-in keeps working either way. Any password change, yours or, if your session were ever compromised, an attacker's, sends a confirmation email to your account address so you'll notice a change you didn't make.
- Forgot it? Use Forgot your password? on the sign-in page. We email a link that works once and expires in an hour. Setting a new password signs out every other session, including anyone else's. If you signed up with Google there is no password to reset: keep using Continue with Google.
Brand & Company
Who you sell for, company, positioning, ICP, differentiators. This grounds every AI draft so output is about your business, not generic SaaS. Most of this is also built and enriched by the GTM Context Dossier during onboarding; Settings is where you edit it by hand.
Honest saves. The Profile and Brand save buttons confirm against your account, not just this browser: "Saved to your account" means the cross-device sync accepted the write; if sync is unreachable you'll see "Saved on this device" with a retry note instead of a false success.
Security artifacts. List the security and compliance documents you can send a buyer's InfoSec team (SOC 2 report, pen-test summary, security whitepaper, one per line). When a late-stage deal stalls in a security review, the stall accelerator's drafted nudge offers these proactively instead of waiting on the questionnaire.
Calendar
The Calendar tab takes your calendar's published iCal address (in Google Calendar: Settings, click your calendar, "Secret address in iCal format"; Outlook and Apple publish the same kind of address). Saving it syncs immediately, and Sync now re-reads it whenever you want. We only ever read the feed.
The address is a credential. Anyone holding a published calendar address can read that calendar, so it is stored encrypted with the same AES-256-GCM helper that protects your OAuth tokens, and it is never sent back to the browser. The tab shows which provider is configured and when it last synced, not the address itself. Remove feed stops the reading; meetings already synced are kept, because forgetting the address is a different request from deleting what it produced.
What a sync brings in. Meetings from roughly the last week and the next two months, cancelled ones skipped. Each is matched to the calendar's own event id, so re-syncing updates a meeting rather than duplicating it. Those meetings feed Meeting Prep, and any meeting with a real start time also gets the prep reminder that goes out shortly before it starts.
Timezones. Most calendars state a meeting as a wall-clock time in a named zone ("nine in the morning, Chicago"), which is only an instant once you know that zone's offset on that date. We resolve it against the timezone database, so a 9am standup is 14:00 UTC in August and 15:00 UTC in January, and its reminder lands at the right moment on both sides of a daylight-saving change.
Recurring meetings. A weekly standup is one entry in the feed carrying a repeat rule, so we expand it into the individual meetings inside the sync window. Daily, weekly, monthly and yearly rules are covered, including "every other week", "Mondays and Wednesdays", "the third Thursday" and "the last Friday", along with an end date or a count, dates the series skips, and a single meeting moved out of its slot. Each instance is tracked separately, so re-syncing updates them rather than duplicating.
Where it is still honest about time. An all-day entry has no time at all, and a meeting with no zone attached means "whatever the clock says wherever you are". Neither has an instant to state, so both keep what the calendar gave and stay out of the reminder queue rather than being given a guessed hour. A repeat rule using a pattern we do not expand keeps its first meeting rather than being expanded wrongly: one meeting missing is a gap, but meetings on the wrong days would be worse.
Confirming your email address
When you sign up with an email and password we send a confirmation link to that address. Click it and the Account tab stops showing the banner. The link works once and lasts a day; you can send a fresh one from the banner at any time.
You can use it before confirming. Signing in, connecting tools, running your roles: none of it waits on the email. What does wait is subscribing. Every message about a purchase, the receipt, the renewal notice, and the email we send when a card fails, goes to whatever address you typed, so we confirm it can receive mail before taking money against it. Discovering a typo at the first failed charge is the expensive way to find out.
Clicking the link does not sign you in. It confirms the address and sends you to the sign-in page. An emailed link that logs somebody in is exactly the thing worth not building.
Signing in with Google needs no confirmation step: Google has already established that the address is yours.
Team leaderboard
If your team owner turns the leaderboard on, your name and your numbers appear on it beside your teammates'. The Keep me off the team leaderboard checkbox on the Account tab removes you from the ranking: your activity still counts towards team totals, you are simply not listed and not ranked. Your owner cannot override it.
The board shows a name worked out from your email address, not the address itself.
What you are spending on AI
The AI usage card shows this month's spend, the number of calls behind it, and a breakdown by what produced them. If it cannot load, it says so and what to do; it will not sit on "Loading…".
If you have saved your own provider key in a role's console, runs on your key are billed to you and are not counted here as ours.
Desktop notifications
Turn these on from the Account tab and you get a desktop notification for the handful of things worth interrupting you: a meeting starting soon with prep ready, your morning queue when the drafts land, a champion going quiet on an open deal, and a writeback finishing.
Per device. A browser subscription belongs to that browser on that machine, so turning it on at your desk does not turn it on on your laptop or your phone. Turn it on in each place you want it.
Your browser asks once. We only request the permission when you click the button, never on page load, because browsers remember a refusal and most will not ask again. If you have already blocked notifications for this site, no button can undo that: it lives in your browser's own settings for the site, usually behind the padlock in the address bar.
On iPhone and iPad, Safari only delivers notifications for a site added to the Home Screen. Add it there first, open it from the Home Screen icon, then turn this on.
Turning it off removes the subscription for that device immediately. It does not change your email preferences, which are separate and listed below.
Email preferences
- Weekly brain digest. A 60-second video recap of what the brain learned this week, emailed Monday mornings. On by default for active subscribers; turn it off with the toggle on the Account tab or the one-click unsubscribe link in any digest email, both set the same per-user preference.
- Coach digest & Morning Brief. Cadence controls for the coaching summary email (weekly / daily / off) and the opt-in weekday Morning Brief.
- Morning queue email. The 7am note telling you drafts are waiting. Every one carries a one-click unsubscribe link; unsubscribing sets the preference to off, and you can turn it back on here whenever you like.
- Slack daily rollup digest. On the API & AI tab, paste a Slack incoming-webhook URL to get a once-a-day Slack pulse of what your roles did, runs today and this week, any errors, top outcomes, and pace toward your goals. The webhook is stored encrypted; the cron dedupes to once per day and skips quiet days. Clear it anytime to turn the digest off. Opt-in and per-user, separate from the Slack DM alerts webhook so the two never double-post.
- Slack DM alerts. A separate personal webhook that carries goal-pace alerts and morning-queue reply notifications. Alerts fire only when their crons find something; quiet days send nothing. (The daily coach digest DM this webhook once carried was retired; the coach digest email remains.)
When a setting will not load
Every preference control on this page reads its stored value when the page opens. If that read fails, because the network dropped or the API answered with an error, the control now says so beneath it: "Could not load your saved setting. Showing the default; save to overwrite it."
Treat that as a warning, not a value. The control is showing its default, which may not be what you have stored, and pressing Save from there writes the default over your real setting. Reload the page and wait for the message to clear before you change anything. Your saved settings are safe on the server either way; it is only this page's view of them that is stale.
The same goes for the copy button on a coaching token. If the browser blocks clipboard access, the button reads "Copy failed" for a moment rather than doing nothing at all. Select the token and copy it by hand.
AI writing style
Three rules always apply. Every AI request the platform makes for you carries them, with no setting to find: no em or en dashes, short words and active voice, and no filler like "seamless" or "game changer". They cost about 80 input tokens.
The AI writing style toggle on the Account tab sends the full writing guide instead, to everything the AI writes for you: composed emails, briefs, coaching, and hosted-run drafts. On top of the three, it cuts the prose that sounds like insight and says nothing, the words that gesture at a thing instead of naming it ("landscape", "unlock", "significant impact"), and headers or bullets forced onto a short note.
It costs tokens. The full block rides along as roughly 575 extra input tokens on every AI request while the toggle is on, in place of the 80 the always-on rules cost. Those tokens are billed like any others, so AI spend and monthly AI-budget use rise a little. Off by default; flip it off anytime and the next request drops the block.
Team default. On a team workspace, the owner can set a team-wide default from the same card. It applies to every rep who hasn't picked their own setting; a rep's own On or Off always wins. Turning the team default on means every inheriting rep's AI requests carry the extra tokens, so team-wide AI spend rises with the number of reps it reaches.
Public shipping feed
On the Account tab, an opt-in toggle adds your work, as anonymized, aggregate counts only, to the public shipping feed. Counts and outcome keys only, never revenue, never account names, never your identity; the feed is hidden entirely below a small contributor floor so no single account can be picked out. Off by default.
Public skill profile
A stable link to a read-only view of your skill scores, for a portfolio or a hiring conversation. Generate it in Settings, optionally with a display name; without one it falls back to your email handle. One link is live at a time, and generating a new one retires the old.
What it shows. Your score for each skill dimension, its 30-day trend, how many observations fed it, and how many strengths and gaps were noted. Plus counts of the activity behind the scores, such as how many calls were captured.
What it does not show, and cannot. Your profile records the evidence behind each score, and that evidence names real companies and real people from your calls. None of it is published. The shared view is not the full record with the sensitive parts removed; it is built from a fixed list of numbers, so a detail added to your profile later cannot start appearing on the link by accident.
Who can see it. Anyone with the link, and nobody else. It is not indexed by search engines, the address is not guessable, and it is not sent on to sites you click through to from the page. Revoke it in Settings at any time and it stops working immediately, with no way to restore it. The card shows how many times it has been viewed and when it was last opened.
Nothing is public until you generate a link; the card starts empty and stays that way if you never use it. The same caveat as the Coach API applies to what the page will show: skill scores come from coaching surfaces the move to scheduled roles removed, so on an account that never held them the shared view renders its honest empty state rather than a profile.
Coach API tokens
The Coach API tokens card on the Account tab mints a bearer token that reads your own coaching data from outside the app, so a cadence tool, an internal wiki, or a browser extension can show your skill profile without you opening a tab. Tokens carry the coach:read scope and nothing else: read-only, your data only, no writes and no team data.
Read the note under the endpoints before you build on this. The tokens work; the data behind them is not currently produced.
The endpoints. Two, both GET, both returning JSON:
/api/coach/v1/me/skill, your current score per skill dimension with its trend./api/coach/v1/me/drills, the drills queued for you.
Both will answer empty for most accounts, and here is why. Skill scores and drills were written by in-app coaching surfaces that the move to scheduled roles removed, and nothing has written either since. A third endpoint, the one that returned open plays, was withdrawn in August 2026 for the same reason and now returns 404. So a token mints and authenticates correctly, and these two read whatever your account already held rather than anything current. Build against them only if you know your account has the data.
Authenticating. Send the token as a bearer header. The routes set CORS headers, so a page on another origin can call them straight from the browser:
const r = await fetch('https://salesascode.com/api/coach/v1/me/skill', {
headers: { Authorization: 'Bearer ' + token },
});
const skill = await r.json(); Handling the token. The plaintext is shown once, at creation, and never again; copy it before you close the row. Treat it like a password. A token embedded in a public page is readable by anyone who views the source, so put it behind your own server if the page is not private. Revoke from the same card and access stops immediately.
The token table shows each token's name, prefix, scopes, when it was made and when it was last used, so a token nothing has used in months is easy to spot and retire.
Your data
- Download my data. The first button on the Data tab is your full account export: everything tied to your account on our servers, as one JSON file. Profile, connections, activity, records, audit trail, sessions and subscription. This is the GDPR Article 20 export, and it is the one Privacy refers to.
- Export this browser's settings. A smaller, different thing, and worth not confusing with the one above: it downloads what this browser holds, your settings and brand context, and the matching Import reads one back. For your brain state, use Data Export.
- Sample data. Loading and clearing a sample book is per role, from that role's console, reachable from Your roles. It seeds real rows on the server so the deterministic tiers and drafts run against them, which is why it does not live in Settings.
- Reset your working data. Clears your book, accounts, opps, contacts, meetings and anything you have recorded on a panel, along with the activity synced from your connections, while keeping the account itself: login, plan and entitlements, brand and company context, API keys, team membership, and the settings that configure a connection rather than describe a book. Use it after experimenting, or to start clean without closing anything. Show me what would be cleared lists the exact counts first, and the reset button stays disabled until you have seen them; confirming takes typing RESET. A connected calendar or CRM refills on its next run.
- Delete. Self-serve account deletion lives in the Danger zone. It removes your account and your server-side data; it can't be undone.
The work runs on our servers, so we process the data you connect to do it. It is encrypted at rest, isolated to your tenant, never sold, and never used to train models, and you control it: export or delete at any time.
Cross-tenant brain contribution
Under Settings, Data, a team owner can opt the team into cross-tenant brain contribution. It is off by default. When on, sales patterns that recur across your team and at least two other teams may be proposed, anonymized and aggregated, for promotion into the shared playbooks every team inherits.
- Your raw notes never leave your tenant. Only a three-layer-scrubbed aggregate (regex, then your own account/prospect name blocklist, then an LLM identifiability pass) is ever reviewed, and only a human promotes it, nothing is written automatically.
- Receive independently. A separate toggle controls whether you receive promoted patterns, so you can benefit without contributing (or contribute without receiving). With receipt off, every promoted entry is removed from the playbooks your team's AI calls load, on the interactive surfaces and on the scheduled skill runs.
- No single tenant can self-promote. A pattern is only proposed when at least three distinct tenants exhibit it.
Full detail, including residual risks, is in the privacy write-up: docs/privacy/brain-promotion.md.
Related
- Connect your tools, link your CRM, inbox, and calendar for the scheduled runs.
- API Keys & MCP, the advanced path for driving your account from your own client.
- Data Export, export/import your brain state.
- Pricing, the Founder plan, single roles, and the plugin catalog.