Event creator
Create an event with name, description, dates, times, location, venue, and featured image.
- Where
- Dashboard › Events › New Event
- How
- Click 'Create Event', fill the form, assign categories, set status (Draft / Active / Archived), save.
THE COMPLETE CATALOG
Most product pages are highlight reels. This one isn't. It lists every tool we've actually built into Chamberly — including the hidden power-user stuff we don't advertise. What it does. Where to find it. How to use it.
Create an event with name, description, dates, times, location, venue, and featured image.
Update an event's dates, location, image, categories, and status.
Filter events by name, status (Draft/Active/Archived), and assigned category.
Permanently remove many events at once. Cascading deletes are explained in the confirmation dialog.
Move several events to archived state without deleting data.
Upload a hero image — or point to an external URL with auto-sync so the image updates when the source changes.
Taxonomy for grouping and filtering events on both dashboard and storefront.
Per-event activity panel showing the sponsorships and members currently engaged with the event.
Draft → Active → Archived transitions with state-aware confirmation prompts.
Create a sponsorship for an event with pricing, quantity, benefits, and availability.
Duplicate a sponsorship into a different event, carrying over price, quantity, and benefits (first-rights and package memberships are intentionally left behind).
Control sponsorship visibility: Not Yet Available, First Rights, Public, or Sold Out.
Optional 1/2/3 tier label that drives sort order, leaderboard weighting, and styling.
Multi-select to archive or hard-delete many sponsorships at once.
Add, remove, reorder (drag-and-drop), and inline-edit individual benefits.
Turn the current sponsorship's benefits into a reusable bundle you can apply to future sponsorships.
Drop a saved bundle into a sponsorship to populate the benefits list in one click.
Push a bundle or specific benefits onto many sponsorships at once. Past sponsorships keep their snapshot; future ones get the new benefits.
Every benefit you type into a sponsorship is silently saved to a library so it's available the next time you start typing.
Auto-generated URL slug, with prompts if a collision is detected within an event.
Setting a $0 sponsorship triggers a confirmation dialog so you don't accidentally publish freebies.
Real-time view of total / available / reserved-by-first-rights quantity for each sponsorship.
Reserve quantity for specific businesses, with optional expiration. The storefront automatically shows reserved sponsorships only to those holders.
Reassign many businesses in one save instead of editing them one at a time.
For each allocation, see how many slots are still claimable vs. already purchased.
Sweep expired first-rights allocations so quantity returns to the public pool.
Automatic reminders sent to holders as their window approaches expiration.
Donut and per-sponsorship table showing claimed, remaining, and expired allocations.
Bundle multiple sponsorships into a single buyable package with bundle or per-item discounts.
Override the package-level discount on individual items (percentage or fixed amount).
Real-time price math as you add items and adjust discounts.
Copy a public package URL to clipboard for emailing to a prospect.
Restrict a package to a specific business — it shows in their sponsor portal only.
Email a package offer with a one-click 'Reserve' or 'Add to cart' button directly to a sponsor.
One-click add of every item in a package to the sponsor's cart.
Percentage or fixed-amount discount codes with usage limits and scoping.
Limit a coupon to a specific set of events or sponsorships rather than the whole store.
Set total redemptions and/or per-customer redemption caps.
Restrict a coupon to a minimum and/or maximum order subtotal.
Prevent a coupon from stacking on already-discounted line items.
Allow only one use of a coupon per customer.
Auto-deactivate a code after a specific date and time.
Turn off many codes at once without deleting them, so you keep usage history.
Server-validates a code at checkout — the client never controls discount math.
Full breakdown: line items, payment mode, representative, status history, notes, refunds.
Move an order through Pending → Committed → Completed or Cancel.
Move multiple orders to Completed or Cancelled at once.
Refund online-paid orders directly back through Stripe with one click.
Cancel individual items inside an order without voiding the whole order.
Add internal-only notes — visible to staff, not to the sponsor.
Change which person at a business owns an order, useful after staff turnover.
Re-send the order confirmation email to the original buyer.
Export orders in a QuickBooks-friendly format, optionally filtered by status.
Chronological record of status changes, refunds, notes, and system events.
Searchable, paginated list of every business in your chamber.
Edit name, logo, status, tier, contact info, and notes.
A business can have many reps. One is marked primary; each has a role (admin / purchaser / viewer).
Aggregated spend for each business in the current dashboard date range.
All historical orders by a single business, with totals and statuses.
Multi-select to delete or update many businesses at once.
Download your entire member list as CSV for outside tools or backup.
Each chamber gets a public site at /{chamberSlug}: hero, featured events, sponsor leaderboard, browse links.
Browse every active event with category chips and search.
Full event page with description, sponsorship cards (Reserve or Add to Cart), and leaderboard.
Deep page for a single sponsorship with full benefits, availability, and quantity remaining.
Cross-event grid of every active sponsorship with event and category filters.
Public package detail with bundle pricing and one-click add-to-cart.
E-commerce catalog distinct from sponsorships — merch, paid memberships, services.
Bypass the cart entirely and reserve a sponsorship in one click (reservation mode only).
Toggleable on event pages, the storefront home, the sponsor account, the dashboard, or as a standalone page.
Site-wide banner for time-sensitive notices and promos.
Per-chamber header and footer widget editors.
Optional WCAG accessibility overlay (font sizing, contrast, motion reduction) on the public storefront.
Logged-in sponsor home: business card, leaderboard rank, quick links to orders, first-rights, and team.
Paginated orders with status badges, totals, and item summaries (aggregated across all reps of the business).
Printable order receipt with line items, payment info, and cancellation buttons.
Sponsors can cancel an entire order or individual line items where eligibility allows.
Live progress on every reserved sponsorship — claimed vs. remaining.
Add coworkers from the same business with admin / purchaser / viewer roles. Admin-only.
Edit personal contact info, password, and email notification preferences. Locks to read-only during a View As session.
Private member-only packages assigned specifically to that business.
Cart persists across sessions in localStorage (Zustand store).
Sponsors pay by card via Stripe Checkout. Funds route to the chamber's connected Stripe account.
Sponsors claim sponsorships without payment — Chamberly invoices them outside the platform.
Apply a discount code with live validation and total recalculation.
Cart contents revalidated server-side before order creation — prevents overselling and price-tampering.
Success screen with order number, print/save receipt link, and next-step CTAs.
Build static pages (about, contact, FAQ) from drag-and-drop blocks — hero, CTA, testimonials, FAQ, text, images.
Mark a CMS page as the homepage and it replaces the default storefront landing layout entirely.
Rich-text blog posts with featured image, categories, tags, scheduling, drafts, SEO, and auto-computed reading time.
Two-level taxonomy with public landing pages per category and tag.
Folders, upload management, alt text, and copy-URL for use in any block.
Build header and footer menus with internal pages, external links, and nested groups.
Manage standalone products (non-sponsorship): images, variants, categories, stock.
Taxonomy for organizing the product catalog.
Global colors, fonts, and layout primitives applied across CMS pages.
Snapshot of templates, automations, send volume, and shortcuts to compose/test.
Drag-and-drop email builder with 15 block types (text, image, button, divider, spacer, etc.).
Raw HTML editor with live preview for advanced templates.
Dynamic placeholders like {{first_name}}, {{business_name}}, {{order_total}} for personalization.
Three modes: all members, hand-picked businesses, or by criteria (purchased event X, tier, first-rights status, min spend).
Queue a campaign for any future date/time (minimum 5-minute lead).
Edit the system templates that fire for orders, invitations, password resets, first-rights reminders, etc.
One-click revert of all customized templates back to the platform defaults.
Trigger-based sends (order placed, event reminders, first-rights expiring soon).
Pre-built automation templates — welcome series, post-purchase, win-back, expiration reminders.
Searchable history of every send: status, recipient counts, timestamps, opens, bounces.
Send from your own domain (e.g. mail.yourchamber.com) instead of the default Chamberly domain.
Toggle open and click tracking per send type.
Fire a test version of any template or campaign to yourself before broadcasting.
Compliant unsubscribe link in every outbound; preference center is hosted automatically.
Site-wide banners with info / warning / promo styling. Per-surface toggles (storefront, event pages) and dismissibility.
Sidebar CTA cards with custom color, button, priority ordering, and sponsor targeting.
In-app notifications to sponsors. Same 3-mode targeting as email (all / specific / criteria).
Single inbox in the header that merges platform→chamber and chamber→sponsor notifications, with unread badge.
Build audience filters across multiple dimensions: purchased event X, exposure tier, first-rights status, or minimum spend.
Cards with sparklines, mini-donuts, and top leaderboard, each linking into a full report.
Monthly trend chart, per-event breakdown, and CSV export.
Per-event fill rate, revenue, and sponsorship counts.
Ranked list of sponsors by spend with scatter plot visualization.
How much of each first-rights allocation has actually been claimed.
Standalone leaderboard page; rules are configurable (spend, count, weighted by tier).
Detailed report for a single event's revenue, fill, and sponsor mix.
Download any report's underlying data as CSV.
Single home for logo, colors, typography, social links, and OG image. Logo upload auto-extracts a palette.
When you upload a logo during onboarding or in the brand kit, primary/secondary colors are auto-suggested from the image.
Global per-chamber styling for event pages: border radius, section order, colors, typography, spacing — stored in JSONB so the schema never blocks design changes.
Per-chamber styling controls for sponsorship detail pages.
Roll back any depth of customization without losing other tokens.
Chamber name, contact, timezone, slug, and slug-availability checker.
Connect a chamber's own Stripe account via OAuth so funds route directly to them.
Generate and revoke API keys for headless or scripted integrations.
Configure and showcase AI integrations (ChatGPT, Claude, MCP clients) that can act on the chamber.
Toggle and configure the accessibility widget shown on the storefront.
Where the leaderboard appears (5 surfaces), what scoring rule it uses, public visibility, anonymization.
Create the categories used across event filters on storefront and dashboard.
Default refund percentage, cancellation rules, and customer-facing policy text.
One-shot ops: cleanup expired first-rights, recalculate sponsorship stock, reset email templates.
Chamber-wide setting controlling whether sponsors pay through Stripe, claim without payment, or both.
Invite staff with roles (org_manager, chamber_staff, sponsor) and manage permissions.
Five-tier role hierarchy (sponsor, chamber_staff, org_manager, platform_support, platform_billing).
Resend an expired or lost invite without re-creating it.
Org details → Brand Kit (with color extraction) → Stripe Connect (skippable) → First Event → First Sponsorship.
Reservation mode is a first-class option — the Stripe step explains why and lets you skip it.
On finish, the wizard seeds a CMS homepage so the storefront looks lived-in immediately.
Persistent dashboard card tracking publish, import, sponsorship count, team members, sponsors, and styling.
Clone last year's events, sponsorships, and first-rights into the new year — with date shifting and a dry-run preview.
Optionally carry forward last year's first-rights holders so renewing sponsors keep priority.
Upload a CSV, map columns, dry-run preview, then process in the background.
Live progress card on the dashboard while an import is running.
Pre-formatted templates per import type, downloadable so column headers always match.
CSV exports for every major resource, plus a QuickBooks-formatted variant for orders.
Current plan tier with usage meter (events/sponsorships vs. plan limits) and a comparison table.
Buy premium capabilities á la carte (extra events, advanced analytics, white-label).
Direct deep-link into Stripe's hosted customer portal for invoices and payment methods.
Past invoices with download links — no Stripe login required.
Persistent dashboard banner with days remaining and a one-click upgrade CTA during the trial.
When a subscription is past_due or canceled, only the billing page is reachable until it's resolved.
Pro-tier features (packages, automations, Stripe payments, dynamic messaging, leaderboard) are gated by middleware with upgrade prompts.
Greeting, date-range picker, stats cards (revenue, sponsorships, members, events), quick actions, recent orders, upcoming events, and leaderboard.
Today / Last 7 / Last 30 / This Month / Last Month / Custom — affects every card and sparkline.
Global search and quick-actions. Use prefixes (e:, s:, m:, o:) to scope search to events, sponsorships, members, or orders.
Three-way theme toggle; preference persists.
Collapsible sidebar that hides links you don't have permission to see.
Hierarchy under the header that lets you walk back up any nested route.
Keyboard-only link that jumps focus past the header to main content.
Horizontal row of large action tiles for the most common creates (event, sponsorship, member, package, automation).
Classic email/password authentication backed by Supabase Auth.
Passwordless email-link sign-in.
Six-digit code sent to email for passwordless sign-in.
Self-serve reset via email link.
Sponsor-facing account creation scoped to a specific chamber.
Token-based invites to join a business account. Invites carry the assigned role and link directly to a setup page.
Admins can step into any sponsor's account to debug or support. A persistent banner makes the simulated session impossible to forget.
During View As, the admin's real cart isn't touched — the simulated cart lives server-side under a separate session.
Every View As session is logged with start/end timestamps and acting admin.
Any MCP-compatible agent (Claude, custom) can read and write to your chamber via /api/mcp with a Bearer token.
A dedicated MCP endpoint plus OAuth handshake so ChatGPT users can manage events, sponsorships, and orders conversationally.
Pre-built widget bundles (events list, event detail, revenue, broadcast composer, sponsor cart, etc.) that render inside ChatGPT app surfaces.
New chambers get a curated benefit library so adding sponsorships isn't a blank-canvas problem.
Chamberly acts as an OAuth provider so third-party apps and AI agents can authenticate users with PKCE.
Standard well-known endpoints (oauth-authorization-server, oauth-protected-resource) for auto-discovery by AI clients.
Issued tokens carry scopes so you can grant read-only or read-write access.
Pre-seeded chamber (rebranded as Derek Northbridge's demo) accessible without sign-up. Time-limited per session.
Auto-signs you into a shared demo viewer account so you skip account creation.
Cron job that clears test orders and reverts edits so the demo chamber always looks fresh.
Separate /admin app for platform operators: chambers, users, billing, promotions, alerts, notifications, CMS.
Create, view, edit, suspend, and delete chambers from the platform layer.
Override subscriptions, issue refunds, manage plan changes outside Stripe's UI.
User search, password reset, and direct account editing across all chambers.
Create promo campaigns: trial extensions, discount codes for plans, special offers.
Push maintenance windows or policy updates as a dashboard banner that every chamber sees.
Send platform→chamber notifications that land in the unified bell.
Full CMS for the marketing site itself: pages, blog, products, media, menus, theme, widgets.
Edit the master templates used for SMS, push, and in-app messaging defaults.
Handles checkout.session.completed and other Stripe events to finalize orders and adjust stock.
Listens for subscription lifecycle events (renewal, cancel, upgrade).
Tracks delivery, opens, clicks, bounces, complaints into the email log.
Event-driven and cron-based jobs: order confirmation emails, expiration reminders, demo reset, import processing.
Push profile and business changes to a connected Rivenly CRM for downstream automations.
Privacy-friendly pageview tracking fired from middleware — captures visitor_id, session_id, device, country, UTMs.
Anonymous JSON endpoints for events, sponsorships, products, and blog posts.
Full CRUD for sponsorships, events, members, orders, packages, coupons — secured by API key or OAuth token.
JSON endpoints powering the public storefront for events, sponsorships, announcements, orders.
Lightweight liveness endpoint that returns 200 if the app is reachable.
Trigger ISR revalidation of public pages after content changes.
Auto-generated sitemap.xml and a robots.txt that disallows /dashboard, /admin, /api, /cart, /checkout.
Dynamic OG tags, Twitter cards, and JSON-LD structured data for events, products, and blog posts.
Every chamber-scoped table is filtered by chamber_id with Postgres Row-Level Security. Cross-tenant access is impossible.
We'd rather you know everything we've built than over-promise on what's coming. If a feature you need isn't on this list, send a note — it might already exist under a different name, or it might be the next thing we ship.