What does Saaszly do?
Saaszly helps you find, review, and manage recurring subscriptions from your Gmail billing emails. It is built for individuals first, then teams that want shared software spend visibility.
Clear explanations for the features users ask about most: Gmail sync, AI detection, review, merge, cancellation help, alerts, organizations, AI Access, team sync debug, budgets, and privacy controls.
Getting Started
How Saaszly turns Gmail receipts into a clean subscription workspace.
Gmail Sync
What happens when a user connects Gmail, syncs again, or adds another account.
Subscriptions
The active subscription list and the fields users should trust or correct.
Review Queue
How uncertain detections become trusted records.
How Saaszly turns Gmail receipts into a clean subscription workspace.
Saaszly helps you find, review, and manage recurring subscriptions from your Gmail billing emails. It is built for individuals first, then teams that want shared software spend visibility.
Connect Gmail, let Saaszly scan subscription-related emails, review anything marked uncertain, then use subscriptions, alerts, cancellation help, and analytics to keep spend under control.
Billing emails vary a lot. Review keeps Saaszly honest when an email looks like a subscription but the amount, renewal date, plan, or cancellation link is incomplete.
What happens when a user connects Gmail, syncs again, or adds another account.
Sync Gmail scans recent billing, receipt, invoice, renewal, trial, and subscription emails. Saaszly first filters likely candidates, then uses AI extraction for the details that matter.
A missing subscription usually means the receipt went to another Gmail account, the sender used unusual wording, the email is older than the scan window, or the service only charged a card without sending a useful receipt.
Rescan clears the saved Gmail scan checkpoints for that user and checks eligible Gmail messages again. Use it after deleting subscription data, improving detection, or adding missing feedback cases.
Many people split receipts across personal, work, and old accounts. Adding another Gmail account lets Saaszly detect subscriptions that never reached the primary inbox.
Yes. Gmail scan AI is controlled by environment variables, so the operator can switch providers without changing code. Set SYNC_AI_PROVIDER to openai, gemini, anthropic, or openai-compatible, then set SYNC_AI_MODEL and the matching API key. For custom gateways such as Bifrost, Helicone proxy, OpenRouter, or Groq, use openai-compatible with SYNC_AI_BASE_URL and SYNC_AI_API_KEY.
The active subscription list and the fields users should trust or correct.
A subscription record is Saaszly's best current view of one recurring service: name, amount, currency, billing frequency, next payment date, plan, category, confidence, and evidence.
Users should edit any wrong amount, currency, renewal date, plan, or category. Corrections are product feedback because they show which extraction details need to improve.
Confidence is how strongly Saaszly believes the record is a real subscription with enough supporting evidence. Low-confidence records should be reviewed before they affect decisions.
Saaszly keeps each subscription in the currency it was actually billed in, so an inbox with both local and USD receipts shows separate per-currency totals instead of forcing everything into one number. Those per-currency totals are the accurate figures; analytics also shows an approximate combined estimate for a rough single-number view.
When a billing email includes a PDF invoice, Saaszly extracts and stores it so you can find it on the subscription's detail page under Invoice Gallery. You can also upload an invoice yourself, and each payment in the history links back to its original Gmail message.
How uncertain detections become trusted records.
Review is where Saaszly sends detections that look promising but need a human decision. Confirming, editing, or rejecting these records improves the user's workspace and creates useful feedback.
Confirm accepts the detection as a real subscription and keeps it in the active list. It should be used when the service, billing amount, and renewal signal look right.
Reject removes a detection from the active workflow when it is not a subscription, is only a one-time purchase, or belongs to something the user does not want tracked.
How Saaszly explains whether subscription detection is reliable.
Trust Center is the detection reliability page. It shows the latest Gmail scan status, the scan funnel, review health, missed or rejected detection feedback, and recent job timeline events without exposing email bodies.
Use the funnel to find where a miss happened. If emails listed is low, the Gmail query or connected account is the issue. If candidates are low, deterministic triage needs better signals. If extracted is low, the AI classifier or extractor needs benchmark cases.
The trust score is a product-health signal, not a guarantee. It goes up when recent syncs complete and detections are confirmed. It goes down when users report misses, reject detections, or leave many records in review.
The miss should become feedback, then a redacted benchmark case. That is how Saaszly moves from flaky detection to measured reliability instead of guessing with more AI layers.
When two records are really the same service.
Merge combines duplicate detections for the same service into one clean subscription. The kept subscription becomes the main record, and the merged records are hidden from active lists so spend is not double-counted.
Merge when two records clearly refer to the same subscription, account, plan, or renewal. For example, a renewal reminder and a payment receipt can point to the same Google One plan.
Do not merge separate plans, different team seats, separate currencies, or two accounts that the user wants to track independently. Keeping them separate is safer than hiding real spend.
Yes. Tell them: Merge is cleanup. It turns duplicate rows for one real subscription into one trusted row, so totals, alerts, and analytics stop counting the same spend twice.
How Saaszly helps users act before money leaves their account.
If Saaszly finds a manage or cancellation link, the button takes the user to the service's own account page. Saaszly does not cancel inside the user's account; it gets them to the right place faster.
Cancellation proof is a lightweight status trail. A user can mark that they opened the provider page, requested cancellation, confirmed cancellation, or could not cancel. Confirmed cancellations are marked inactive so teams know the spend cleanup actually happened.
Saaszly can show the sender, billing context, and suggested next step. A future assistant flow can draft a cancellation email when the service only supports email-based cancellation.
Reminders tell users that money is about to leave. Cancellation help gives them a direct action path, which is what makes the product feel useful at the moment of risk.
Trial, renewal, and risk reminders users should care about.
Saaszly can alert users before trials end, paid renewals happen, and risky charges arrive. The most important alerts are the ones that prevent surprise charges.
Reminder deduping prevents Saaszly from sending the same alert multiple times for the same subscription, reminder type, day window, and due date.
Seven days is useful for annual renewals, three days is ideal for trials and monthly renewals, and one day is the last practical warning before a charge.
How users understand burn rate, renewals, and category spend.
Monthly Spend normalizes active recurring subscriptions into an estimated monthly burn rate, so monthly and annual products can be compared in one number.
Forecasting projects upcoming cash outflow based on known amounts, frequency, and renewal dates. It helps individuals and teams plan before large renewal months arrive.
Users should look for upcoming trials, large annual renewals, category concentration, and duplicate tools that solve the same job.
AI Consolidation Review analyzes org subscription metadata for redundant tools, duplicate spend signals, renewal risk, and cleanup questions. It never needs raw email bodies or member email addresses to write the review.
Team workspaces, invites, roles, and shared visibility.
An organization is a shared workspace where members can contribute subscription data and leaders can understand team software spend, renewal risk, and duplicated tools.
Invite member sends a secure invitation to a specific email address. The sender chooses the invited user's permission role before sending the invite, and the invited user must sign in with that email before joining the workspace.
Owners control the workspace. Admins manage day-to-day settings and members. Finance / CA users manage spend, exports, invoices, and subscriptions. Developer / IT users manage AI provider keys and token usage without seeing financial dashboards. Members can contribute data and request AI tokens. Restricted contributors can connect Gmail without seeing org spend. Viewers get read-only spend visibility.
The organization header shows a Your role badge next to the workspace date and trial status. That badge tells the signed-in user whether they are Owner, Admin, Finance / CA, Developer / IT, Member, Restricted, or Viewer before they start taking actions.
Owners and Admins can open Members, use the role selector beside a non-owner member, and change that user's access level. Ownership transfer stays separate because Owner is a destructive-control role and should not be assigned through a normal dropdown.
The Complete Permissions Matrix explains which workspace roles can govern the organization, manage members, view spend, sync Gmail, and control AI Access. Use it when inviting users, changing roles, or explaining why a button is hidden.
Data visibility is the member-level consent that allows a workspace to include that member's subscription data in team views, analytics, team sync, and debug timelines. If data visibility is off, admins should not treat that member as part of shared spend reporting.
The org switcher lets a signed-in user move between Personal and team workspaces without mixing the context. Personal routes show the user's own subscriptions, while org routes show shared workspace data and org-specific navigation.
Domain verification proves that an admin controls a company email domain before Saaszly allows domain-based joining. The lightweight flow sends a code to a same-domain verifier email.
Tell members that Saaszly tracks subscription metadata, not full email bodies, and that workspace visibility depends on their membership and data-sharing state. This keeps the product honest and easier to trust.
Workspace AI tokens, provider keys, approvals, budgets, and usage governance.
AI Access is Saaszly's workspace control plane for company AI usage. Instead of handing every employee the raw OpenAI, Anthropic, Gemini, or custom provider key, the workspace issues Saaszly tokens with approved models, budgets, environments, and expiry dates.
A user submits a request with the use case, agent or app name, project, provider, model needs, environment, monthly token limit, monthly cost budget, and expiry. A manager with AI Access permission reviews the request before any token is issued.
Connect provider stores the real provider key encrypted on the server. Users never receive that provider key. Approved Saaszly tokens are intended to call Saaszly's gateway, which validates the token, applies policy, forwards to the provider, and records usage.
Apps call Saaszly with Authorization: Bearer szly_live_..., not the raw provider key. The gateway validates the token, checks model allowlists and monthly budgets, forwards OpenAI-compatible chat completions to the configured provider route, logs usage, and updates token spend.
Yes. The provider catalog is configurable, and the AI Access form also supports Other / custom provider. That means a new provider can be added through configuration or routed as an OpenAI-compatible, native, Bifrost, or custom provider without rewriting the whole dashboard.
Saaszly stores only a hashed token value and displays a short prefix for identification. The raw token is not recoverable after creation. Admins can pause, resume, revoke, expire, and budget tokens without exposing the underlying provider credential.
Admins and Developer / IT users can monitor token status, owner, provider, model policy, month-to-date tokens, cost usage, budget pressure, and recent usage events. This gives teams Helicone-style visibility while keeping Saaszly independent from any single third-party observability vendor.
Owners and Admins can manage provider keys, approve requests, issue tokens, and view usage. Developer / IT can manage AI providers and tokens without seeing financial subscription dashboards. Members can request new AI tokens. Finance, Restricted, and Viewer roles do not manage AI tokens by default.
Background team sync, job history, per-member timelines, skips, failures, and retry behavior.
Sync Team starts background Gmail sync jobs for eligible workspace members. It does not require the admin to keep the browser open, and it only queues members who are part of the organization, have data visibility enabled, and have a connected Gmail account.
The timeline is a compact operational trace of a sync job. It helps admins explain what happened without exposing private email bodies.
Retry is meant for a single member with a failed or cancelled sync, not the whole workspace. Use it when a member reconnected Gmail, a transient Gmail/API error passed, or a previous job was cancelled before finishing.
A member can be skipped when their Gmail is not connected, their email is missing, they have not shared data with the workspace, or they already have an active sync job running.
Admins can see job status, member email, progress, stage labels, saved counts, and compact event metadata. They should not see full message bodies or raw private Gmail content.
Start with the debug center. Check whether the job listed emails, found candidates, extracted subscriptions, wrote results, or failed earlier. That tells support whether the issue is Gmail access, scan query coverage, triage, AI extraction, write/dedupe, or notification delivery.
Controls that turn tracking into spend governance.
A budget sets a monthly limit for a service or category. Saaszly compares active recurring spend against that limit and highlights overruns or approaching risk.
Duplicate spend means multiple people or accounts appear to pay for similar tools. It is not always wrong, but it is worth reviewing because it can reveal avoidable cost.
Teams should confirm whether the subscriptions are truly redundant, decide which account or plan should stay, then use cancellation help or member follow-up to clean it up.
Workspace command center is the org overview that pulls together duplicate spend, renewal decisions, budget pressure, sync gaps, and open cancellation requests so admins know what to act on first.
What Saaszly stores and what users can remove.
Saaszly should store compact detection evidence, not full email bodies. Evidence is meant to explain why a subscription was detected without retaining unnecessary private content.
Deleting subscription data removes visible subscription records, history, and scan checkpoints so a future sync can rediscover eligible subscriptions instead of silently skipping them.
Yes. Disconnecting Gmail should prevent future scans for that account. Existing subscription records can remain until the user deletes the data or reconnects and syncs again.
How to explain common problems without blaming the user.
For a missing subscription, first check whether the receipt went to another Gmail account. Then run Rescan, search the inbox for the service name, and add feedback if Saaszly still misses it.
Edit the subscription directly. Wrong price or date corrections are important feedback because they reveal extractor misses that the benchmark can later cover.
A Gmail account can stop syncing if access was revoked, the token expired without refresh, the account was disconnected, or Google requires the user to re-authorize access.
Sync can feel slow when many emails need classification and extraction. Saaszly runs the scan as a background job with live progress and resumable checkpoints, and a large inbox is processed in batches that keep running server-side even if you close the tab.