Help & FAQ

Everything you need to know, in one place.

133 answers across 19 topics — covering payments, contracts, royalties, integrations, and the rest.

Getting started

Signup, plans, onboarding

How do I sign up?

Click Try free on the homepage, pick a plan, enter your email + password, then confirm via the verification email Resend sends. After confirming you'll land in onboarding where you create your workspace + first artist.

Do I need to enter a credit card for the trial?

No. The 14-day free trial doesn't ask for a card. You only enter payment details when the trial converts to paid, which we email you about 3 days before it happens.

Which plan should I pick?

Profile ($5/mo) is the entry tier — just the public /[handle] Link-in-Bio page, tip jar, fundraisers, and analytics. Artist ($45/mo) for one solo artist with all core modules. Pro ($99/mo) adds Booking + Tour P&L + venue payments via Stripe Connect. Team ($249/mo) supports up to 5 artist workspaces under one manager. Label ($999/mo) handles up to 25 artists with imprint-level rollups. All plans work for any creator vertical — musicians, comedians, podcasters, content creators, and streamers (Twitch/Kick + StreamElements + Facebook Gaming). Switch plans anytime from Settings → Billing, or wait for the trial-end recommendation modal which suggests a plan based on your actual usage.

What's the difference between a solo workspace and a label workspace?

Solo workspaces show one artist with no roster chrome, no recoupment tracking, no Label Admin tab. Label workspaces unlock multi-artist roster management, advance/recoupment math, cross-artist reporting, and the Label Admin module. You pick the kind during onboarding; you can convert solo → label later if you sign new artists.

Can I have multiple workspaces under one login?

Yes. Use the Org switcher in the topbar to jump between workspaces. Common patterns: a manager has a personal workspace + one workspace per artist they represent.

Account & billing

Plans, invoices, cancellation

How long is the free trial?

14 days from signup. Stripe doesn't charge until the trial ends. If you don't add a card by the last day of the trial, the workspace pauses (but no data is lost).

How do I change my plan?

Two options. In-app: /settings/billing shows your current plan with Subscribe / Switch plan buttons for every available tier — clicking one opens Stripe Checkout pre-populated with the new price. Upgrades take effect immediately with prorated billing; downgrades apply at the next renewal. Stripe Portal: same page → Manage subscription opens the hosted Customer Portal for full subscription history, card management, and invoice downloads.

How do I cancel?

Same place — Settings → Billing → Manage subscription → Cancel plan. You keep access through the end of your current billing period. Your data stays intact for 30 days after cancellation in case you reactivate.

Where do I update my card?

Settings → Billing → Manage subscription → Payment methods. Stripe handles all card storage; AZMTH never sees the card number.

Where can I download invoices?

/settings/billing shows your current plan, AI tier, recent payment status, and any failed-payment recovery banner inline. For the full invoice history with PDF downloads, click Manage subscription on that page to open the Stripe Customer Portal. AZMTH never sees card details — Stripe handles all storage + delivery.

What's the AZMTH Profile (Link-in-Bio) tier?

Profile is the entry-level plan at $5/mo ($50/yr) for creators who only want the public /[handle] page, tip jar, fundraisers, theme customization, and analytics — without the full OS (no booking, no royalty ledger, no Fan CRM). Linktree pricing, but with built-in Stripe Connect payments. Same data layer as the higher tiers, so upgrading to Solo or above carries your profile, theme, tip history, supporters, and Stripe connection over without re-onboarding.

My subscription payment failed — what happens?

Stripe retries failed payments automatically across the dunning window (3-4 retries over ~7 days). During that window /settings/billing shows a recovery banner with a one-click Update payment method button that opens Stripe's hosted card-update flow. Your workspace stays active throughout — we don't pause until Stripe gives up. If the retries all fail, the subscription cancels and the workspace enters the 30-day soft-delete window.

How does AZMTH recommend a plan at the end of my trial?

About 24 hours before your trial converts, we look at what you actually used in the trial — number of artists, integrations connected, AI tokens consumed, ledger entries written, fans tracked — and surface a recommendation card with the plan that fits your usage best. You can accept the recommendation in one click or pick a different plan. The recommendation is advisory; you're never auto-charged for a plan you didn't choose.

Can my account be comped (free)?

Yes, in specific cases — early reviewers, test users for an integration we're shipping, demo accounts, partnerships, education. Comped workspaces have is_comped + comped_until set by AZMTH staff via /staff. While comped, the workspace bypasses all billing checkpoints (plan-gating, trial-end modal, failed-payment banner, AI usage caps within reason). When comped_until passes, the workspace returns to its previous plan and Stripe billing resumes. Email hello@azmth.app if you think your situation qualifies.

Venue payments

Stripe Connect, deposits, payouts

How do venues pay me?

Each booking generates a public payment link. You send it to the venue, they pay by card on the AZMTH-branded checkout page, and Stripe routes the funds directly to your connected bank account. AZMTH never holds the money — funds settle to you in 2-7 business days depending on your country.

What is the 2% platform fee?

AZMTH charges a 2% platform fee on every venue payment processed through the booking module. So a $5,000 booking = $4,900 to you, $100 to AZMTH (plus Stripe's standard 2.9% + $0.30 processing on top). The platform fee is a technology service fee for use of AZMTH's payment infrastructure — it's not a commission, not contingent on deal success, and is charged for software access regardless of the underlying agreement. AZMTH is not the merchant of record; you are. Tax obligations remain with you.

How do I set up Stripe Connect?

Settings → Payments → Start Stripe onboarding. You'll be redirected to Stripe's hosted onboarding (legal name, tax ID, bank account, ID verification — takes 3-5 minutes). Once Stripe approves, the connection is active and you can request payments. We never see your bank credentials.

Can I require a deposit before the show?

Yes. On the show detail page, choose Deposit when sending a payment request. You set the percentage. Common pattern: 50% deposit on contract signing, 50% on the show date.

What if a venue doesn't pay on time?

Outstanding payments auto-trigger a polite reminder email every 3 days (up to 4 reminders) via Resend. The show detail page also surfaces overdue payments at the top so you can follow up directly.

What countries does Stripe Connect support?

Stripe Connect is available in 47 countries including the US, UK, EU, Canada, Australia, NZ, Japan, Singapore, and more. Full list at stripe.com/global. If your country isn't supported, you can still use AZMTH for booking management — you'd just collect payment outside the platform and mark it received manually.

Contracts & e-signature

DocuSign, signing flow, attachments

How do I send a contract for e-signature?

On a booking detail page, upload your contract PDF in the Contract section, then click Send for e-signature. A dialog asks for signers (name, email, role) and your message. AZMTH hands the document to DocuSign, which emails each signer a link. You're notified the moment everyone signs and the contract auto-marks as signed.

Do I need a DocuSign account?

Yes. Settings → Integrations → DocuSign → Connect to OAuth into your DocuSign account. AZMTH uses your DocuSign envelope quota (DocuSign's pricing starts at ~$10/mo for the eSignature plan). We don't resell envelopes — we use your account.

Can I upload an existing signed PDF instead of using DocuSign?

Yes. Upload the signed PDF to the contract section, click Mark contract signed, and enter the signer's name + email + signed date. Useful for contracts signed offline or via another e-sig tool.

What happens after both parties sign?

The contract status flips to Signed automatically. The Send Payment Request button becomes available. The signed PDF is downloadable from the contract section forever.

Can I cancel a sent envelope?

Yes. On the contract section there's a Void envelope option that cancels the in-flight DocuSign envelope. The contract status moves to Cancelled.

Distributors & royalties

DistroKid, CD Baby, LANDR, statements

Which distributors are supported?

Statement CSV import for DistroKid, CD Baby, TuneCore, LANDR, AWAL, UnitedMasters, Stem, Amuse, Ditto, Horus Music, Believe, Songflow, plus a generic Other option. OAuth sync available for Symphonic Distribution (enterprise). The CSV importer auto-detects the format from the column headers.

How do I import a DistroKid statement?

DistroKid → Bank → Download CSV. Settings → Integrations → DistroKid → Import CSV (or go to /royalties → Import statement). Drop the file. We auto-detect the format, parse per-track lines, total it up, and write a payout_ledger entry tagged streaming_revenue. Re-imports of the same statement are deduplicated.

Why doesn't DistroKid have a one-click connection like Spotify?

DistroKid (and most major distributors — CD Baby, TuneCore retail, LANDR) don't have public APIs for indie artists. Only Symphonic offers OAuth at the enterprise tier. Until that changes, CSV is the path. We're as friction-free as we can make it.

Will I see per-day stream counts?

Royalty statements give you per-month aggregates by track + platform + country. For near-real-time engagement, connect YouTube and SoundCloud directly via Settings → Integrations → Streaming platforms. Spotify and Apple Music don't expose stream analytics to apps, so their stream + revenue numbers come from your monthly distributor statement (CSV).

What if I distribute through multiple services?

Import statements from each. The /royalties page combines them and shows a per-distributor breakdown plus per-platform (Spotify, Apple Music, etc.) totals across all sources. Same track on Spotify via DistroKid and YouTube via TuneCore? Both roll up under the track.

How does statement deduplication work?

Each statement gets a hash from (distributor + period + total + line count). Re-uploading the same file is a no-op. If you want to delete and re-import, use the trash icon on the statement detail page.

Can I attribute royalties to a specific release?

Yes — when you import a statement we auto-create a ledger entry tagged streaming_revenue. You can edit the entry and link it to a release, ad campaign, tour, or content post. The Reports → Attribution view then shows ROI per release/campaign.

Streaming integrations

YouTube & SoundCloud live · Spotify/Apple via CSV

How does AZMTH get my streaming data?

Two ways. YouTube and SoundCloud connect directly (live API) for near-real-time engagement. The major DSPs — Spotify, Apple Music, Amazon, etc. — don't open stream or revenue analytics to apps, so those numbers come from one monthly upload of your distributor's statement (CSV) at /royalties/import. That single file covers every DSP at once, broken out per track and country.

How do I connect Spotify?

Settings → Integrations → Streaming platforms → Connect Spotify. It asks for your Spotify artist URL (open Spotify → your artist page → Share → Copy link), then runs Spotify OAuth. Note: since Spotify's Feb-2026 API changes, the public API only returns profile metadata (name, genres, images) — follower counts, popularity, and per-track streams are no longer available to non-partner apps. For Spotify stream counts and revenue, import your distributor statement (CSV).

Can I see per-day stream counts on Spotify?

No. Spotify's stream-count data is a closed, partner-only product, and since Feb 2026 its public Web API no longer exposes follower or popularity data to standard apps either. For Spotify stream counts and revenue, import your distributor statement (CSV) — that's where the real numbers live.

How do I connect YouTube?

Settings → Integrations → Streaming platforms → YouTube. Google OAuth flow with read-only YouTube + Analytics scopes. We pull daily views, watch time, subscribers gained, country breakdowns. The richest live streaming data of any platform we support.

What about Apple Music?

Apple Music for Artists has no public API — it's dashboard-only — so there's no connect card. Instead, Apple Music streams and revenue come into AZMTH through your distributor's monthly statement (CSV): DistroKid, CD Baby, TuneCore, etc. all break out Apple Music per track and country. It's the same one upload that covers every other DSP, so you're not doing extra work for Apple specifically.

What about SoundCloud?

Supported via OAuth. Settings → Integrations → Streaming platforms → SoundCloud. Pulls plays, fans, comments per track. Note: SoundCloud's API has been periodically restricted to new apps — if approval is paused you'll see a Coming Soon note.

How often does streaming data sync?

Once a day around 7am UTC via cron. You can also click Sync now on any connected platform card in Settings → Integrations to trigger an immediate pull.

How do I connect Twitch (and what's the bits:read scope)?

Settings → Integrations → Streaming platforms → Twitch → Connect. OAuth flow with channel:read:subscriptions, bits:read, and analytics:read scopes. We pull subscribers, bits revenue, channel points redemptions, and per-stream stats into your /revenue ledger. The bits:read scope is what lets us see Bits revenue — Twitch's tipping/cheer currency. If you connected before we added Bits support, you'll see a Reconnect banner asking you to re-OAuth with the new scope. One click; no data loss.

What about StreamElements and Facebook Gaming?

Both supported in the nightly DSP sync. StreamElements (tips, donations, alerts) uses API key auth — paste the key from your SE dashboard. Facebook Gaming uses Meta OAuth (same flow as Instagram). Revenue from both lands in the same /revenue ledger as Twitch + Kick + YouTube Live, with per-platform source tagging.

Social media

TikTok, Instagram, Threads, X

How do I connect TikTok?

Settings → Integrations → Social media → TikTok → Connect. Follow the OAuth flow. We pull profile (followers, video count, total likes) + every video with view/like/comment/share counts. Note: TikTok requires app review for production — until our app is approved, only test accounts pre-added in their dashboard can connect.

How do I connect Instagram?

Settings → Integrations → Social media → Instagram → Connect. Meta OAuth flow. Important: your IG account must be Business or Creator AND linked to a Facebook Page (Meta's hard requirement, not ours). If you see No Instagram Business account found, convert your IG to Business + link a Page in Meta Business Suite, then retry.

Why does Instagram require a Business account?

Meta's Graph API only exposes Instagram data for Business and Creator accounts. Personal accounts have no API access. Switching is free and doesn't change anything user-facing on your IG profile.

Can I auto-publish posts to socials?

Yes. Create a content post in the Content module, pick platforms, schedule it, and the orchestrator publishes for you within 15 minutes of the scheduled time. Per-platform success/failure shows on the post. Auto-publish supports TikTok (direct publish OR send to TikTok drafts inbox), Instagram (Path A silent-audio injection OR Path B hand off to the IG app), Threads, and X today (NOT YouTube or Facebook). Each platform exposes its options in the composer's per-platform toggle strip.

Why does X (Twitter) only show follower count?

X's free API tier is read-restricted to the bare minimum. Tweet-level analytics requires their Basic tier ($200/mo) or Pro ($5,000/mo). For now we pull follower count snapshots daily; if you upgrade your X dev account to Basic, tweet-level metrics will start flowing automatically.

Why do auto-publish scopes need a re-connect?

When you first connected a platform, the OAuth scopes were read-only (we only needed to PULL data). Auto-publishing requires write scopes (tweet.write, instagram_content_publish, video.publish, threads_content_publish). Settings → Integrations → reconnect the platform and grant the publish scope when prompted.

How do I send a draft to my TikTok inbox?

Two different things share the word 'draft', so we name them explicitly. Save draft = the post stays in AZMTH as an unfinished draft (status: draft on content_post). Send to TikTok drafts = AZMTH uploads the media to TikTok's INBOX endpoint (video.upload or photo.upload scope) so it appears in your TikTok app's draft inbox, ready for you to finalize and publish from the TikTok app itself. Useful when you want TikTok's native editor (effects, sounds) for the final polish but want the orchestration to live in AZMTH. The composer's TikTok toggle lets you pick which on a per-post basis.

How does Instagram handle drafts and audio? (Path A vs Path B)

Instagram's publish API has tight constraints — Reels need an audio track and we can't always source one from the original media. We support two paths. Path A — silent-audio injection: AZMTH muxes a silent track into the video before sending it through the Container → Publish flow, so videos without audio can still publish via API. Path B — hand off to IG app: AZMTH generates a downloadable copy + a deep-link into the Instagram composer; you finalize on your phone where you can add a real audio track from IG's library. Choose per-post in the composer; Path A is the default when the source has its own audio.

Why did my IG post fail with a container error?

Instagram's Container API rejects media for reasons like invalid aspect ratio, oversized file, unsupported codec, or temporarily-rate-limited account. We surface Meta's exact error_user_msg on the failed post so you see what IG actually said, not a generic 'failed.' Common fixes: re-crop the image to a supported aspect (use AZMTH's built-in cropper), trim videos to under 90 seconds, or wait a few minutes if the account is rate-limited. /staff/errors retains the full Meta payload if our team needs to investigate.

Tour & Show Map

Route planner, drive-time, public share, PDF

Where is the show map?

Live at /map. The map renders pins for every show on the current artist with status-aware colors — final shows in solid pink, negotiating in amber, planning in blue. Pin clusters expand on zoom. Right-side overlays let you toggle listener density (Spotify monthly listeners by city), local contact density (your tagged industry contacts in each region), and last-played dates per market.

How do I plan a tour route?

On /map, switch the right panel to Route planner. Type or paste a list of cities/venues — we geocode each address, drop pins on the map, and compute drive-time + mileage between every consecutive stop. Drag rows to re-order; the map and route stats recalc instantly. Each stop has a status (planning / negotiating / final) you can flip without leaving the planner.

What's drive-time intelligence?

For every leg between two stops, we show miles + estimated drive hours. Legs over 8 hours flag as 'long drive'; legs over 600 miles flag as 'flight recommended'. Conflict detection warns you if you've booked two cities the same day, or scheduled an impossible drive between them. Helpful for routing realism before a single contract gets sent.

What does each route status mean?

Planning = internal idea, not pursued yet. Negotiating = talking to a venue or buyer. Final = confirmed/contracted. Status drives pin color on the map and feeds the per-route progress percentage. When a route hits Final you can promote it to Shows in one click — the planner stops become draft bookings on the Booking module.

Can I share a route with a venue or agent?

Yes. Each route has a public share URL at /route/[token] — read-only, no AZMTH login required. Linked from the route's Share menu. The recipient sees a clean map + stop list + dates + drive-times. Tokens are random and revocable; no fan or financial data ever appears.

Can I print or PDF a route?

Yes. Route → Export → Print/PDF generates a print-optimized HTML page with route stats, every stop's date + city + venue + status, drive-times between, and a static map snapshot. Auto-opens the browser print dialog so you can save to PDF or send to a printer.

How does promote-to-shows work?

Once a route is in Final or near-final state, click Promote to shows. Each stop becomes a draft show on the Booking module with date, city, venue (if entered), and a link back to the source route. From there you can run the normal contract → payment-request flow on each show without re-typing anything.

Where are venue addresses geocoded?

We use Mapbox first, fall back to Nominatim (OpenStreetMap) if Mapbox returns nothing. Every successful geocode is cached on the venue record so repeated stops in the same city don't re-hit the API. If a venue won't geocode (tiny club, no street address) you can drop the pin manually.

Fan CRM & Intelligence

Activity feed, scoring, AI summaries, connectors

What is the Fan Intelligence System?

Every fan in AZMTH has a 0–100 score and a tier (Casual / Engaged / Superfan / Evangelist) derived from real activity across all your integrations. The score is a weighted blend of spend (30%), transaction frequency (15%), email/SMS engagement (15%), recency (15%), advocacy (15%), and network strength (10%). It recomputes automatically when fans act, and a daily decay sweep keeps recency honest. See the full formula at /legal/data-processing-addendum#scoring. Heads up — fresh workspaces with no integrations connected render demo fans with a yellow DemoDataBanner at the top of /fans so you can explore the module before connecting real data. Connect Klaviyo, Shopify, Patreon, Eventbrite, or any other fan-source integration and the banner disappears the moment real fans land.

What's a lifecycle stage and how is it different from a tier?

Tier is 'how valuable is this fan right now' (Casual / Engaged / Superfan / Evangelist). Lifecycle stage is 'what just happened to them and what comes next' — a state machine: Discoverer → Casual → Engaged → Superfan → Evangelist, plus At Risk → Churned → Reactivated. Tier is a slice; lifecycle is the storyline. Both display on every fan's profile.

How does the /fans activity feed work?

The /fans landing is a chronological feed of what just changed across your fanbase — tier crossings, new orders, tips, ticket purchases, churn-risk flags, lifecycle changes. Filter by category (Tier change / High intent / At risk / Connectors / Lifecycle). Click any row to open the fan profile. The classic table view is still available at /fans/list.

What are the AI summaries on each fan?

We generate a one-paragraph plain-English bio for each fan using Claude Haiku. It pulls only sanitized non-PII fields (first name, city, tier, transaction counts, recent activity) — never email, phone, or exact dollar amounts. Cached on the fan record, regenerated nightly or on tier-cross. Click 'Refresh AI summary' in the action menu to regenerate manually.

What does 'churn risk' mean on a fan profile?

A 0–100 score that predicts likelihood of disengagement in the next 30 days. Inputs: days since last activity vs. baseline, engagement-velocity collapse (30-day count vs. 60–90-day baseline), failed membership payments, recent cancellations. When a previously-engaged fan crosses 60+ we fire a bell notification (under fan_intel category) and write a churn_risk_flagged event. Dedup'd to once per fan per 7 days.

What is a 'connector' fan?

A fan who's well-networked inside your existing fanbase — high overlap on shows attended, referrals brought in, or shared phone area code. We compute a connector_score 0–100 and surface fans 30+ in the 'Connectors' filter on /fans. Retaining a connector retains the fans around them, so they're worth a personal message. Refreshed daily.

What can I do from the action menu on a fan?

Compose 1:1 message (deep-links to /messaging with fan + AI-summary context pre-filled), Add to presale tag (writes a Klaviyo-syncable tag), Add to brand-deal pitch audience, Mark as VIP, Refresh AI summary, Recompute score. Comp-ticket via Eventbrite is queued for post-launch.

How do I connect Klaviyo / Mailchimp / Shopify / Patreon / etc.?

Settings → Integrations. Each integration has its own card with Connect, Disconnect, and Sync now buttons. Most flow through OAuth; Big Cartel/WooCommerce/BMAC use API keys; Ko-fi uses a webhook URL + verification token. New fans flow through a single dedup path — same email across platforms = one fan_profile with multiple identities. Source badges on the FansTable show which platforms each fan is active on.

Can I import a CSV of fans?

Yes. /fans → Full list → Import CSV. We accept name, email, city, country, total_spend_dollars, superfan_score columns. Up to 5,000 rows per import. We dedup against existing fans by email. Imported fans are auto-enqueued for a fresh score recompute so they don't sit at 0.

What's a brand-deal pitch audience?

On any fan profile, the action menu's 'Add to brand-deal pitch' dialog lets you tag this fan into a specific brand deal's audience. The deal page then renders an aggregate roll-up — total fans, average LTV, tier mix, top markets, channel mix, recurring patron share, show attendance share — that you can show the brand. Individual fans never leave the platform; the brand only sees the aggregate.

What's the fan supporter badge?

Optional fan-side opt-in. When a superfan or evangelist opts in via a magic link in your emails (/api/fan/supporter-badge endpoint), they appear as a Supporter on your public artist profile if you enable that section. Strict opt-in, fully revocable.

Where do I see fan-driven revenue projections?

The /revenue Forecast tab includes a Fan Intelligence card with projected merch revenue (90 days), projected ticket sales, recurring patron revenue, at-risk recurring exposure, and a fanbase-health score (tier-ups vs tier-downs over 30 days). Computed daily.

What's the difference between Fans and Contacts?

Fans are the people who consume your music — tracked for LTV, lifecycle, scoring, segmentation. Contacts are industry network — press, A&R, agents, publicists, sync supervisors — tracked for relationship management. Different data shapes, different goals, separate modules.

Can I send emails or SMS to my fans from AZMTH?

Yes. /messaging composer ties into Klaviyo (email + SMS) — pick a segment (e.g. 'Top 25% superfans' which filters by score ≥ 70), draft once, send through Klaviyo's deliverability + compliance infrastructure. AZMTH never holds the bulk-send rails — Klaviyo does — but we handle drafting, segmentation, and per-fan deep-links.

How does GDPR work for fan scoring?

We disclose the scoring system in our DPA Section 10. Fans can request their score, the breakdown, and the inputs by emailing privacy@azmth.app. Score events are retained 24 months then aggregated/anonymized. Tier outputs are advisory — the artist retains discretion over every action — so it's not 'solely automated' under GDPR Art. 22(1), but we still expose the rights as a courtesy.

Merch

Shopify, Big Cartel, Square POS, at-show

How do I track at-show merch sales?

On any confirmed or completed booking, click Log show sales. Mobile-friendly form — quick total mode (cash + card + units) or itemized mode (per-SKU rows). Sales auto-attribute to that show + auto-write a payout_ledger entry. Filling it in on a phone backstage takes 30 seconds.

Can I connect Shopify?

Yes. Settings → Integrations → Online merch stores → Shopify → Connect. You'll be asked for your store URL (foo.myshopify.com), then redirected through Shopify OAuth. Customers + orders sync nightly. Customers feed the Fan CRM, orders feed the Merch module — same data, two views.

What about Big Cartel, Bandcamp Merch, Squarespace?

Big Cartel uses an API key (paste your personal access token in the connect dialog — no OAuth needed). Bandcamp Merch, Squarespace, WooCommerce, Etsy, Bonfire, Spring, and Threadless all use CSV import with auto-detection — drop the file, we sniff the format.

How do I connect Square POS for at-show card sales?

Settings → Integrations → Point-of-sale → Square POS → Connect. OAuth flow. We pull your Square locations + every COMPLETED order. Orders auto-attribute to a tour show by matching date + city — so a Square sale on the day you're playing in Austin lands on that show's P&L automatically.

Where can I see merch attributed to a specific show?

Two places. The booking detail page shows a per-show merch P&L card with revenue/expenses/net. The /revenue Reports → Tour P&L view shows per-show totals across your whole tour history.

Memberships & recurring support

Patreon, BMAC, Ko-fi, Substack, recurring tip jar

Which membership platforms does AZMTH connect to?

Patreon (OAuth — full member roster + tier + lifetime sync), Buy Me a Coffee (API key — supporters + memberships), Ko-fi (webhook URL + verification token — donations + tips + memberships + shop orders), and Substack (CSV import for paid + free subscribers since they don't expose an API). The native AZMTH recurring tip jar (powered by Stripe Connect) is also a first-class membership source.

How do I connect Patreon?

Settings → Integrations → Memberships → Patreon → Connect. OAuth flow with creator-level scopes. We sync your full member list nightly — every patron's tier, lifetime amount, status (active/declined/cancelled), and pledge start date. Patrons flow into the Fan CRM with their tier as a fan tag and their lifetime amount in total_spend_cents.

How does Buy Me a Coffee work?

Settings → Integrations → Memberships → Buy Me a Coffee → Connect. Paste your BMAC API key (BMAC dashboard → Integrations → API). We pull supporters (one-time tippers) and members (recurring) nightly. Every BMAC supporter becomes a fan with the bmac_audience source badge.

How does Ko-fi work?

Ko-fi pushes events to AZMTH via webhooks. Settings → Integrations → Memberships → Ko-fi → Connect. We give you a webhook URL and a verification token; paste those into your Ko-fi dashboard's webhook config. Every Donation, Subscription, Commission, or Shop Order on Ko-fi shows up in AZMTH within seconds — no polling, no nightly sync delay.

Why does Substack require a CSV upload?

Substack doesn't expose a public API for subscriber lists. Workaround: from your Substack dashboard, Settings → Subscribers → Export CSV. Settings → Integrations → Memberships → Substack → Import CSV. Drop the file. We import paid subs as recurring fans and free subs as engaged fans. Re-imports are deduplicated by email.

Where do I see all my recurring supporters?

/tips → Recurring supporters tab consolidates everyone paying you on a recurring basis — AZMTH native subs (powered by Stripe Connect), Patreon patrons, BMAC members, Ko-fi members, and paid Substack subscribers — into one ranked list with LTV, tenure, and at-risk grouping. Filter by source if you only want a specific platform.

Does membership status feed the fan score?

Yes. Active recurring patrons get a recency boost + advocacy boost in the fan-score formula and tend to crystallize as Superfan or Evangelist tier. A failed payment fires a payment_failed event that both nudges the score and contributes to the churn-risk score. Cancelled memberships flip the lifecycle stage to At Risk.

Can I run my own membership tiers natively without Patreon?

Yes. /tips → New tip jar lets you create a recurring tip jar with monthly/quarterly/annual frequency and custom amounts. Stripe Connect handles the billing; we handle the supporter management, fan-CRM linking, AZMTH-branded checkout, and self-service Stripe Customer Portal for cancellations. No middleman platform fee beyond AZMTH's standard 2% + Stripe processing.

Content & releases

Posting, scheduling, release campaigns

How does scheduled auto-publishing work?

Create a post in Content, select platforms (TikTok / Instagram / Threads / X), upload media, set scheduled_for, and save with status Scheduled. The composer also surfaces an Edit button on each image for the built-in cropper (per-platform aspect presets — 1:1, 4:5, 9:16, 16:9). The orchestrator runs every 15 minutes, picks up due posts, and publishes them. Per-platform success/failure shows inline on the post; click into /posts/[id] for per-platform engagement once it's live.

What happens if a post fails to publish on one platform?

We retry 5 times across cron ticks (~1.5 hours). After that the post status moves to Failed and the per_platform jsonb shows which platforms succeeded vs which failed (with error messages). Posts that succeeded on at least one platform stay marked Posted.

Can I post the same content with different captions per platform?

Yes. The post composer has a Per-platform overrides toggle that lets you write a longer Instagram caption, a tighter X version, etc. Default body falls through to any platform without an override.

How are release campaigns different from regular content posts?

Release campaigns (Releases module) wrap a single drop with checklist + marketing plan + ad campaigns + content schedule + pre-save link + distributor status — everything tied to one ISRC/UPC. Content posts are atomic — single posts that may or may not be tied to a release.

Can I tag a content post with a release?

Yes — when creating a post you can pick a release. Engagement metrics on that post then roll up to the release's campaign view, so you can see which posts drove pre-saves, streams, etc.

Where can I see analytics for a single post?

Click any post on /content or the platform-specific lists to land on /posts/[id]. The detail page shows per-platform engagement (views, likes, comments, shares, saves), publish status per platform, the original media, captions per platform, and a freshness indicator showing how stale the metrics are. Inline metrics on the post list pull from the same social_post_metrics table the detail page reads from, so the two stay in sync.

How often do post stats refresh after publishing?

Immediately on publish (first metrics within ~60 seconds), then again at the 24-hour mark for early-engagement comparison. After that, the nightly social sync at ~3am UTC picks up ongoing growth. You can also click Refresh metrics on the /posts/[id] page to force an immediate pull if you need fresh numbers right now.

How do I bulk-select and delete posts on /content?

Toggle Select mode on the Recent Posts list, check the rows you want, click Delete selected. Works for posts in any status (draft, scheduled, posted, failed). Soft-deleted for 30 days; ask support to restore if you nuked something by mistake.

Storage & quota

Per-plan limits, lifecycle rules

How much storage do I get?

Artist plan: 5 GB. Pro: 25 GB. Team: 100 GB. Label: 500 GB. Storage covers album art, content media (videos/images), document uploads (contracts, riders, press kits). The current usage is shown in the bottom of the sidebar.

What if I run out of storage?

Uploads are blocked once you hit the cap. You'll get a notification when you cross 80% so you have warning. Options: archive old documents (frees the storage), upgrade your plan, or buy a storage add-on from Settings → Billing.

What counts toward my storage?

Album art (high-res), content post media (videos/images uploaded for posts), document uploads (contract PDFs, riders, press kits). Streaming data, royalty statements, fan profiles, ledger entries — all metadata-only and don't count.

Are there file size limits?

500 MB per video, 50 MB per image, 100 MB per document. If you have a >500 MB video, host it on YouTube/Vimeo and link to it instead of uploading.

Team & permissions

Inviting members, role-based access

How do I add team members?

Settings → Team → Invite member. Enter their email + pick a role. They'll get an invite email; once they sign up the role auto-applies.

What roles are available?

Artist (full access to their artist scope), Manager (full access, can manage roster on label workspaces), Label Admin (label-only, can manage all artists on the roster), Team Member (read+write but no billing/team access), Read Only (sees everything but can't edit). Roles are scoped per-org. AZMTH staff have a separate Staff role with /staff dashboard access and permission gates like comp_org (used to comp specific workspaces) — that role isn't assignable from within a customer workspace.

Can read-only users see financial data?

Yes — read-only includes financials. If you want to hide financials from someone, don't add them to the workspace at all. Granular per-module permissions are on the roadmap if customers ask for them.

Can I scope a manager to one specific artist on my roster?

Yes. On a label workspace, when assigning the Manager role you can pick an artist_id to scope them to. They'll only see that artist's data, not the rest of the roster.

Data portability

Labels, managers, leaving — your data follows you

Whose data is it when an artist signs with a label on AZMTH?

The artist's. AZMTH treats every artist's workspace as the artist's home — their fans, catalog, royalties, and activity history live in their owner workspace. When a label or manager joins, they get concurrent access alongside the artist, but the data isn't transferred to the label. If the relationship ends, the artist keeps everything; the label retains only anonymized aggregate metrics for the period the artist was on their roster.

How does a label invite an artist who already has an AZMTH workspace?

Label admin → /admin → Roster memberships → Invite. The artist gets a notification; once they accept from Settings → Labels & managers, the label gains live read/write access to the artist's data alongside the artist. Both sides have to confirm — invitations expire if the artist doesn't act on them.

How does an artist invite a label or manager to access their workspace?

Settings → Labels & managers → Invite. Enter the org's invite code or email. The label admin then accepts on their side. Same two-sided handshake — both parties confirm before access is live.

What happens when an artist leaves a label (or a label drops an artist)?

Either side initiates from their settings page. The membership flips to a 30-day reclaim window — access stays active during that window, and either side can reverse the decision with one click. After 30 days, the label loses access and we materialize an anonymized aggregate snapshot (counts, revenue sums, period bounds — no PII) for the label's historical reporting. The artist keeps everything.

Can I cancel an archive within the 30-day window?

Yes. Both sides see the pending archive in their respective dashboards (artist: Settings → Labels & managers; label: /admin → Roster memberships). Click Reclaim to restore the membership to active. After day 30, the cron job archives the membership and reclaim is no longer possible — but the artist's data is unaffected either way.

Can a single artist be on multiple labels at the same time?

Yes. The data model supports concurrent managed_by_label memberships — common for artists with regional label deals (e.g. one label for North America, another for EU). Each label sees the same artist data; the artist's owner workspace remains the canonical home.

What does the label retain when an artist leaves?

An anonymized aggregate snapshot of the artist's activity during the membership period: release count, show count, brand-deal count, total streams, revenue sums (merch + show + brand-deal), and fan count at archive time. No PII, no individual fan records, no per-track or per-show drill-down. This lets the label keep accurate year-end summaries without breaching the artist's data ownership.

How do I manage the roster on a label workspace? (Add and archive artists)

Label-tier workspaces get a Roster surface in the sidebar. The page is a table of every artist on your roster — name, status (active / pending / archived), tier, key metrics. Add artist opens a dialog that either creates a fresh artist_profile under your label OR sends an invite to an existing AZMTH artist (they accept their side; both confirm before the membership is live). Archive artist starts the 30-day reclaim window described above. The page is plan-gated: solo workspaces don't see Roster at all and get redirected if they try to navigate there directly.

Troubleshooting

Common issues, error states, support

My OAuth connection failed — what do I check?

Most common cause: the platform requires app review (Meta, TikTok) and your account isn't on the test-user list. Less common: cookies blocked, browser extensions interfering, or the platform's OAuth servers are temporarily down. Settings → Integrations shows the exact error message returned by the platform.

My royalty CSV won't parse — what's wrong?

We auto-detect the distributor from the CSV headers. If your file is from a service we don't recognize (or the columns have been edited), pick Other distributor on the import page and we'll do best-effort matching. Common gotcha: opening the CSV in Excel sometimes adds a BOM that breaks parsing — re-export from the distributor's dashboard.

I connected an integration but don't see data yet — when does it sync?

The first sync happens when you click Sync now on the integration card after connecting. After that, nightly cron picks it up at 7am UTC. If you connected at 8am, you'll see fresh data tomorrow morning OR you can click Sync now manually.

My Mailchimp / Shopify / Spotify connection says Needs reconnect — why?

OAuth tokens can expire (Meta long-lived tokens expire after 60 days, Shopify never expires unless revoked, etc.) or get revoked when you change your password on the platform side. Click the integration card and re-run the connect flow.

I deleted a workspace by accident — can it be restored?

Workspace deletion is soft for 30 days. Email support@azmth.app within 30 days and we can restore. After 30 days the org_id and all child data are hard-deleted from the database with no way back.

How do I export all my data?

Settings → Account → Export data. Generates a ZIP with CSVs of every table (organizations, artists, fans, merch_orders, ledger entries, royalty statements, etc.) plus the raw media files. Available on Pro and above; takes ~5 minutes to generate for a typical workspace.

I'm still stuck. How do I reach support?

Email support@azmth.app with your workspace name + a description of the issue. Pro and above plans get a 24-hour response SLA; Artist plan gets best-effort within 2 business days. Whenever something breaks in-app, we capture the error in our app_errors store + Sentry — so when you write in, our staff often already has the trace, the affected workspace, and a reproduction. Helps us respond faster than the SLA implies.

AI tools

AI history, re-run, download, sharing, pricing

Where do I find my past AI generations?

/ai-history shows a chronological feed of every AI generation you've run across all modules — fan bios, marketing copy, brand-deal pitches, AI summaries, anything. Filter by module, search the prompt or output, pin the ones you care about. Sidebar nav has a direct link under the AI Tools section.

Can I re-run an AI generation with the same prompt?

Yes. On any row in /ai-history click the Re-run button. The system_prompt + user_prompt + model_class we stored at generation time get replayed, so you get a fresh output without retyping anything. Helpful when the source data has changed (more fan activity, new royalty statements) and you want the AI's take to reflect it.

How do I download or print an AI generation?

On the AI history row, open the Download menu. .txt and .md flow through /api/ai-history/download/[id] for instant download. PDF opens /print/ai/[id] in a new tab and triggers the browser print dialog — save as PDF or print directly. Useful for pasting into a doc, attaching to an email, or filing for record.

How do I share an AI generation with my team?

Two paths. Within your workspace — toggle Share with org on the row and anyone in your org sees it in their /ai-history feed too (filtered by Shared with you). Outside your workspace — click Share to get a public URL that anyone with the link can view, no AZMTH login needed. Public shares are revocable any time from the row's action menu.

How does AI pricing work? Are there credit top-ups?

Each paid plan includes a monthly AI allowance metered in tokens. Settings → AI shows your current usage, current tier, and how many days are left in the billing period. If you run out, you can upgrade your AI tier (more monthly allowance) or buy a one-off topup that doesn't expire. Both flow through Stripe Checkout. Trial accounts get a small starter allowance so you can test AI features before committing.

What can AI actually do inside AZMTH?

Per-module AI cards generate fan bios (Claude Haiku on sanitized non-PII fields), brand-deal pitches with aggregate audience data, release campaign drafts, marketing copy variants, contract-clause suggestions, tour-route narrative, royalty statement summaries, and a general workspace assistant chat. Every generation is captured in /ai-history so you can re-run, download, or share later.

Power user & shortcuts

Command palette, image cropper, bulk delete, demo data

What's the command palette and how do I open it?

Cmd+K (Ctrl+K on Windows/Linux) from anywhere in-app opens a search-and-jump palette. Type to filter — every module, every settings page, every artist on your roster, every connected integration, common actions like 'New show' or 'Import royalty statement'. Faster than the sidebar once you know what you're looking for.

How do I crop images for each platform's aspect ratio?

When you add an image to a content post, the composer surfaces an Edit button — that opens the cropper with presets for Instagram square (1:1), IG portrait (4:5), IG story (9:16), TikTok (9:16), X (16:9), and YouTube thumbnail (16:9). Zoom + drag to position; the cropped blob uploads back to Supabase and replaces the original on the post. Saves the round-trip through a desktop image editor.

How do I bulk-delete posts, files, or AI history rows?

/content has a Select mode on the Recent Posts list — check rows, click Delete selected. /settings/storage has the same pattern for media files. /ai-history has checkbox selection with a Clear All History option for the nuclear case. All are soft-deletes for 30 days where possible, so you can ask support to restore if you nuked something by mistake.

What is demo data, and how do I switch to live data?

When a workspace has no real data yet (no connected integrations, no imported statements, no logged shows), module pages render with realistic demo data + a yellow DemoDataBanner at the top telling you it's mock. Connect any relevant integration or import any real data and the banner disappears the moment your workspace has live records. Demo data never mixes with real data — they're separate code paths.

AZMTH Proof

Protect & prove your work

What is AZMTH Proof?

AZMTH Proof creates an independent, timestamped record that a file you made existed in this exact form at this moment. It computes a cryptographic fingerprint (SHA-256) of your file, anchors that fingerprint on a public blockchain, and generates a downloadable certificate. The record stays verifiable by anyone forever — even if you cancel your subscription.

How do I protect a song?

Open the work in your Catalog, attach the audio file under Audio, then in the AZMTH Proof card pick the file and click 'Protect this file.' The first time, you'll acknowledge a short disclaimer. Within moments you'll have a proof with a 'View on blockchain' link and a downloadable certificate.

Is this the same as copyrighting my song?

No. AZMTH Proof is strong evidence of when your work existed and who created it — but it is not a government copyright registration, and AZMTH is not a law firm. In the U.S., your work is already protected by copyright the moment you record or write it down; AZMTH Proof helps you prove that. For the strongest legal remedies (like statutory damages), you can also register with the U.S. Copyright Office. Many creators use both.

What gets stored on the blockchain?

Only metadata: your file's fingerprint, the work title, contributor names, and a hash of the splits — written into a public, permanent transaction. Split percentages and the file itself are NOT on-chain; the percentages live on your certificate and the original file stays in your private storage. Only submit information you're comfortable making permanently public.

What happens to my proof if I cancel?

The proof is yours to keep. Download the certificate and proof bundle and the record stays independently verifiable forever. After cancellation your account enters the standard grace and reclaim window before any stored originals are removed — your data always belongs to you.

Can I re-protect a new version of a song?

Yes. Originals are never changed — each new version (a new mix, a remaster) gets its own separate proof and certificate with its own date, so you build a dated history of the work as it evolves.

Didn't find what you needed?

Email support@azmth.app and we'll get back within a business day. Pro and above plans have a 24-hour SLA.