Your first event in 10 minutes
- Sign up at pullshoot.com/app/signup. You'll be walked through the onboarding wizard immediately.
- Name your organization. Most teams use one — your gun club, foundation, or company. If you're a 501(c)(3) tax-exempt nonprofit, tick the box; it unlocks the Donate button + tax receipts later.
- Create your first event. Name, date, location, team size (usually 4). The default ticket tier is "4-person team" with a price you set.
- Land on the event admin page. Your event starts in
draftstatus. The 30-second tour at the top tells you what to do next. - Add sponsorships under the Sponsors tab. Typical tiers: Title ($5k), Station ($1k), Hole ($250).
- Add bonus items under Bonus items: mulligan packs, raffle tickets, long-bird game entries.
- Connect Stripe at Org settings → Stripe. Phil's 5-minute walkthrough: pick "Onboarding hosted by Stripe" + "Express dashboard." Required before you can take money.
- Customize branding at Org settings → Branding: upload your logo + pick a primary color. Shows on the public event page, receipts, and emails.
- Flip status to
openon the event Settings tab. The public registration page goes live atpullshoot.com/o/<org>/e/<event>. - Share the URL. Captains buy a team, get a magic-link email, and invite their players. You don't lift a finger for the first 50 signups.
Organizations 101
An organization is the entity that owns events on Pull Shoot — usually a foundation, gun club, company, or fundraising committee. One person creates the org; they can invite other admins (full access) or event-admins (single-event scope) afterward.
Each org has its own:
- Slug — the URL fragment, like
escambia-sheriff-foundation. - Branding — logo + primary color shown on the public event page, receipts, and email footers.
- Stripe Connect account — where event proceeds get disbursed.
- Members — humans with login access. Two roles: org-admin (everything) and event-admin (scoped to specific events).
Tickets, sponsorships, add-ons
Ticket tiers are the headline things you sell — most events have a "team" tier (4 shooters) and optionally an "individual" tier (1 shooter, you'll be placed on a team).
Sponsorship tiers are listed separately and don't include shooters. Buying a sponsorship gives the sponsor a magic-link to the Sponsor portal, where they upload their logo + edit their blurb. Their listing appears on the public event page.
Bonus items are à la carte add-ons: mulligan packs, side-game entries, raffle tickets. Each gets a redemption code on the buyer's receipt; staff types or scans the code at the event to redeem.
Tip: For tax-deductibility, set the FMV (fair market value) on each item. A $500 team with $50 of in-kind value gets a $450 deductible portion automatically on the tax receipt.
Connecting Stripe + getting paid
Pull Shoot uses Stripe Connect Express. The flow:
- You click Connect Stripe at Org settings → Stripe.
- Stripe walks you through ~5 minutes of identity + bank verification ("KYC").
- Once approved, the org is "payouts enabled." You'll see a green badge in Settings.
- Buyers pay through our hosted Stripe Checkout. Funds collect in the Pull Shoot platform account.
- After the event, platform staff manually triggers a Stripe Transfer from us to your connected account, minus the platform fee (currently $0 during beta).
- Stripe then payouts to your bank on its normal cadence (2-day for most US accounts).
If you'd rather have buyers pay directly to your Stripe account, that's a different integration we're not running today. Talk to us.
Captains, teams, and invites
When someone buys a team, they automatically become its captain. They get an email with a magic link that signs them in and drops them on the team page. From there they can:
- Invite players by email or phone — each invitee gets a link to accept.
- Add stub players (just a name, no contact info — handy for confirmed-but-anonymous friends).
- Pre-buy add-ons (mulligans, raffle tickets) for the team.
- Set the team name + color.
Players who accept invites become full Pull Shoot users with access to that one team. They can swap teams between events but only sit on one team per event.
Team join codes
The fastest way to fill a roster: every team has a shareable 6-character join code on the captain's team page. Text it to the group chat or read it out at the range — players go to pullshoot.com/join, type the code, create an account in seconds, and claim their own seat. No emails, no invites to chase.
- The code fills open seats only — once the team is full, it stops working.
- Players can only be on one team per event, so a code can't poach someone who already joined elsewhere.
- Code leaked somewhere it shouldn't? Hit Regenerate on the team page — the old code dies instantly.
- A player who can't make it can leave the team from their team page, freeing the seat.
Squads + station rotation
For shotgun-start events where every squad begins at a different station, open the Squads tab on the event. Auto-assign distributes all active teams into squads (pick how many squads, or how many teams per squad) and staggers the starting stations evenly around the course. You can then drag teams between squads, rename squads, and adjust starting stations by hand.
The tab shows a full rotation schedule — which station each squad shoots, in order, with wrap-around. Teams see their own squad, starting station, and rotation on their team page, and squads print on the badges.
Designing your public page
The Design tab on each event is a full branding editor with a live preview:
- Six templates — Classic, Bold hero, Minimal, Sponsor-forward, Poster, Gala — each a different layout personality.
- Hero tagline + button text — your one-line pitch under the event name, and a custom label for the register button.
- Section control — reorder the page sections (about, tickets, add-ons, sponsors, prizes, teams, gallery, info blocks) and hide what you don't need.
- Banner photo, gallery, display font, accent color — all autosave as you type, with the preview refreshing live.
- Social links — website, Facebook, Instagram, and X icons at the bottom of the page.
- Custom info blocks — Markdown sections for lodging, schedule, FAQ, rules.
Scoring on the day
Three ways to enter scores. Pick whichever fits your event:
- AI scorecard photo import. A team member or staff takes a phone photo of the paper scorecard after a station. The AI reads stations + per-shooter targets-hit; you confirm + submit. Most accurate when the cards are filled in cleanly with dark pen.
- Direct entry via scoresheet URL. Each station has its own URL you load on a tablet or phone. Type in the values. Fastest if you have a phone-armed scorekeeper per squad.
- Offline scoring mode. Pre-load the scoresheet, fill it on a phone with no signal, syncs when you come back online. Good for ranges with bad reception.
The public leaderboard (/o/<org>/e/<event>/leaderboard) auto-refreshes every 5 seconds. Cast it to the clubhouse TV.
Awards + Lewis class + side games
On the Awards tab you have:
- Top teams — sorted by total targets hit.
- Top shooters — sorted individually, with overall / lady / youth / senior / handicap-class breakdowns.
- Lewis class — splits the field into N classes by rank (A/B/C/...). Top of each class wins. Set N = 3 for most charity shoots.
- Side games — for each side-game bonus item (long bird, closest-to-the-pin, 50/50), record winners + payouts. Surfaces on the public leaderboard. Mark winners "paid out" once handed over.
501(c)(3) tax receipts
If your org is marked as 501(c)(3) in settings, the Tax receipts tab generates donor receipts:
- Type the donor's name + email + tax year.
- Click Preview to confirm the line items + deductible amount.
- Click Open + print for an HTML receipt, Download PDF for a real PDF, or Email to donor to send directly.
The deductible amount = total paid − fair-market-value of goods/services received (food, range time, prize values). Make sure each ticket tier and bonus item has its FMV set if it includes anything beyond pure donation.
Refunds + chargebacks
Issue a refund from the Refunds tab. Full or partial. The refund goes back to the buyer's card via Stripe automatically; the order status flips to refunded.
If a buyer chargesback through their card issuer, you'll get a Stripe email. Reply with documentation (order page, event details, attendance evidence); Pull Shoot will pull the relevant data on request. Chargebacks lose by default — disputed transactions are responsibility of the org, not the platform.
White-label custom domains
Each org can serve their public event pages from their own domain (e.g. shoot.yourfoundation.org) instead of pullshoot.com. Setup:
- Add a CNAME record at your DNS pointing to
pullshoot.com. - In Org settings → White-label, enter the domain you set up.
- Cloudflare provisions SSL automatically; allow ~10 minutes.
- Visitors hitting your custom domain see only your org's events.
Common problems
- "Stripe Connect: Something went wrong"
- The org needs Stripe Connect enabled at the platform level. If you see this on a fresh org, ping us — it's usually a 60-second fix on our side.
- "Forbidden" on an org/event page
- You're not a member of that org. Ask an org-admin to invite you via Org settings → Members.
- "Order stayed in pending after Stripe Checkout"
- The platform's Stripe webhook hasn't been configured. Email us with the order ID and we'll reconcile manually.
- "My emails aren't being received"
- Check spam. If still missing, the platform may not have SMTP configured — talk to us. We use SMTP2GO.
- "AI scorecard import got the values wrong"
- The model is suggestive, not authoritative. You always review + edit before submitting. If you find systematic errors (wrong station detection, etc.), email us a sample photo and we'll tune the prompt.
Still stuck? Contact us
Email hello@pullshoot.com. Include your org slug + event slug and a screenshot of what you're seeing. We try to respond within a business day.
During beta there's no formal SLA — but we read every email. Pull Shoot is operated by Foundry Peak, LLC out of Pensacola, FL.