Taste of the Town USA™
Contact Taste of the Town to activate or renew your license.
No new notifications.
Rejected submissions with a 5-day resubmit window.
Enter a merchant name or city to search, or sync the sheet first.
GROQ_API_KEY is not configured on this server — ScoutMark™ will find businesses but cannot score or tier them.
Add the key in Railway environment variables, then redeploy.
| Tier | Business | Category | Scale | Rating | $$ | Flags / Pitch | DigDeep™ |
|---|
| Tier | Business | Category | Scale | Pitch | Action |
|---|---|---|---|---|---|
| No territory results yet — configure territories below and run AutoScout. | |||||
Each partner gets a unique referral link and a Partner Portal where they can log in and see their activity. Set a PIN after saving to activate their portal access.
Shows all merchants confirmed live during the selected quarter that were attributed to an association partner, and the total bounty owed.
Create a prospect report for a merchant. They'll receive an email and text when their report is ready, with a private link to view it and claim their free Entertainment® App listing.
Loading…
Import leads from any CRM or spreadsheet into MerchantBridge automatically.
Upload your Commission_Audit_Master.xlsx. It's parsed in your browser — the file never leaves your device — then synced into this dashboard's database: new rows added, existing rows updated (matched by sheet row # or business name + submit date). Re-upload anytime your master changes.
Send X-Webhook-Key: your-key header. Body: JSON object or array of lead objects.
Key preview:
IMPORT_WEBHOOK_KEY in Railway env vars to enable the webhook.Paste or drop a CSV with columns: Business Name, Address, City, State, Phone, Email, Category, Website.
Paste a Google Sheets sharing URL. The sheet must be shared as "Anyone with the link can view."
Import rep signing sheets directly from the IC_Signing_All archive. Select a rep to see their sheets, then import by year.
Available sheets for this rep:
[
{
"business_name": "Joe's Diner",
"address": "123 Main St",
"city": "Tampa",
"state": "FL",
"phone": "813-555-0100",
"email": "joe@joesdiner.com",
"category": "Dining",
"website": "https://joesdiner.com"
}
]
Used for "Copy All for Wufoo" output and the Wufoo auto-fill feature.
Tell the system how you work. These preferences power the Adaptive Pipeline — next-action hints, follow-up prompts, and referral scripts will be tailored to your style.
Must be at least 8 characters.
STRIPE_MODE=live on Railway for real payments.
⚠ Your license is inactive. Reinstate it to restore full access.
Reinstate License — $47 ↗Pull local businesses directly from Google Places into the lead pipeline. Each lead is auto-classified by category, assigned its standard Entertainment® offer, and immediately vetted by the compliance checker. Requires GOOGLE_PLACES_API_KEY on Railway.
Upload a CSV/TSV exported from a spreadsheet, association membership roster, or your own prospect list. Businesses are auto-classified into Entertainment® categories, assigned the correct offer, and immediately run through the compliance checker. Expected columns: Business Name, Address, City, State, Zip, Phone, Category, Contact, Email (any order, extras ignored).
Paste your commission spreadsheet to bulk-import or update existing submission records (status, commissions, dates). Uses the same file pasted above.
When a merchant completes your postcard verification form, a webhook fires here and creates a new lead automatically — pre-populated with their business name, address, and contact info, ready for Wufoo pre-fill.
Configure your Firebase postcard app to POST to this webhook URL when isVerified flips to true:
Set POSTCARD_WEBHOOK_SECRET in Railway environment variables. Include the same value as secret in the webhook POST body so the app can authenticate the request.
Webhook payload fields: secret, uniqueCode, businessName, address, city, state, zip, ownerName, email, mobile, attn
Entertainment.com search is limited to a 100-mile radius for everyone. The workaround: Google has indexed Entertainment's full national merchant database. The app generates Google site-search links (MERCHANT site:member.entertainment.com/) for every compliance check — no radius limit, instant results.
To make this fully automated (no manual click): (1) go to programmablesearchengine.google.com, create a new search engine restricted to member.entertainment.com, copy the Search Engine ID. (2) Enable "Custom Search API" in your Google Cloud Console. (3) Add GOOGLE_SEARCH_CX=<your-cx-id> to Railway environment variables. Once set, compliance checks will run this search automatically and flag matches as failures.
Adds a Push to Sheet button to each submission card that appends a formatted row directly to your tab in the Entertainment shared spreadsheet — no copy/paste.
One-time setup (5 min):
1. Open the shared Entertainment Google Sheet.
2. Click Extensions → Apps Script.
3. Replace any existing code with the script below, then click Save.
4. Click Deploy → New deployment. Type: Web app. Execute as: Me. Who has access: Anyone. Click Deploy and copy the URL.
5. In Script Editor, click Project Settings → Script properties, add property WEBHOOK_SECRET with a value you choose.
6. Add both to Railway environment variables: GOOGLE_SCRIPT_URL=<deploy-url> and GOOGLE_SCRIPT_SECRET=<your-secret>.
7. Set your Sheet Tab Name in Rep Profile above.
function doPost(e) {
const SECRET = 'YOUR_SECRET_HERE';
try {
const data = JSON.parse(e.postData.contents);
if (data.secret !== SECRET) return respond({error:'Unauthorized'});
const ss = SpreadsheetApp.getActiveSpreadsheet();
const tab = ss.getSheetByName(data.tab) || ss.insertSheet(data.tab);
if (data.action === 'update_row' && data.row_num) {
tab.getRange(parseInt(data.row_num), 1, 1, data.row.length).setValues([data.row]);
return respond({success:true});
}
tab.appendRow(data.row);
return respond({success:true, row_num: tab.getLastRow()});
} catch(err) { return respond({error: err.message}); }
}
function doGet(e) {
const SECRET = 'YOUR_SECRET_HERE';
if (e.parameter.secret !== SECRET) return respond({error:'Unauthorized'});
const tab = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(e.parameter.tab);
if (!tab) return respond({error:'Tab not found'});
return respond(tab.getDataRange().getValues());
}
function respond(data) {
return ContentService.createTextOutput(JSON.stringify(data))
.setMimeType(ContentService.MimeType.JSON);
}
Paste updated brand names below (one per line) to replace the current list.
The DNC list is centrally managed by Taste of the Town and automatically synced to your app. Contact your administrator to request additions or removals.
AI review uses Groq (Llama 3.3 70B) — free and open-source. Set GROQ_API_KEY as a Railway environment variable (get one free at console.groq.com). No key needed in the dashboard — Railway env var only.
All login attempts for this dashboard — including IP address and device. Each successful login ends any previously active session on another device.
Open Settings to load.
Incoming rep chat transcripts from Tawk.to. To enable, go to Tawk.to Administration → Integrations → Webhooks and add this URL:
Enable the Chat Start, Chat End, and Chat Transcript events. Optionally set a secret in Tawk.to and add it as TAWK_WEBHOOK_SECRET in Railway.
Open Settings to load chats.
Share your personal referral link. When a new rep signs up through your link and completes their 30-day onboarding, you earn a $50 account credit toward your next billing cycle. No limit on referrals.
When enabled by your account manager, AutoScout™ automatically delivers 2–3 qualified leads from your territory to your pipeline every week — no action required on your end.
Territory intelligence powered by Google Places + AI scoring. Leads appear in your pipeline automatically with a 🎁 badge.
When a merchant confirms their enrollment via your review link, the app automatically sends them a personalized thank-you email with their rep contact info and a "BOLO for Entertainment's welcome email" note. Configure SMTP credentials in Railway environment variables — Gmail works immediately using an App Password (no new service needed).
Set these Railway env vars:
SMTP_HOST=smtp.gmail.com SMTP_PORT=587
SMTP_USER=your@gmail.com SMTP_PASS=<16-char App Password>
SMTP_FROM=your@gmail.com (optional — defaults to SMTP_USER)
For the Gmail App Password: Google Account → Security → 2-Step Verification → App passwords → create one for "Mail".
Every morning at 8:00 AM UTC, you'll receive an email listing every new merchant submission that arrived overnight. Requires SMTP configured above. Override the hour with the MORNING_DIGEST_HOUR Railway env var (0–23, UTC).
Your database is backed up as an email attachment. The same inbox is scanned for Entertainment commission emails — no more self-reporting.
Uses IMAP to read your inbox for Entertainment payment emails. For Gmail: same App Password as SMTP. Host auto-derives from smtp.* → imap.*
Send this link to the merchant. They will see all pre-filled info and can only review and submit — no edits allowed. Valid for 7 days.
Scan to open on mobile
Capture a prospect quickly. Fill in what you know — you can complete the full submission later.
The following changes were detected since the last snapshot. Review and update the field mappings in dashboard.js as needed.
| Lead | Prospect — not yet submitted to your form. |
| Review | Unmatched postcard response — business info needs manual review before Wufoo pre-fill. |
| New | Form submitted, not yet reviewed for compliance. |
| Verified | Merchant confirmed via postcard — enrollment link sent, ready for Wufoo pre-fill. |
| Submitted | Wufoo submitted to Entertainment — awaiting approval. |
| Pending | Entertainment is processing / needs additional info. |
| Approved | Entertainment approved — offer is live or going live. |
| Rejected | Rejected by Entertainment — 5-day resubmit window starts. |
| Paid | Commission paid. Shows in Pay Report. |
| Check | Pass = Safe to Submit | Fail / Review = Action Required |
|---|---|---|
| DNC | Brand not on Do-Not-Contact list | National chain — Entertainment already has this brand at corporate level. Do not submit. |
| Duplicate | No matching record in your app | This business (name/phone/email/address) exists already. Check if resubmit. |
| Shared DB | Not found in IC Signing Spreadsheet | Already submitted by another rep. Auto-rejection risk. |
| Dine-In Rule | No "dine in only" on counter-service merchant | "Dine in only" is not permitted for fast food, fast casual, or counter service — table service only. Remove the restriction. |
| Offer Grid | Offer type and price comply with current grid | Grid violation — e.g. fast food BOGO menu item >$10, or 50% off pizza >$10 (grid updated Dec 1). |
| Promo Code | No promo code, or code confirmed active | Promo/coupon codes must be live and working before Wufoo submission. Verify the code works. |
| Food Truck | Not a food truck, or has permanent address | Food trucks must have a stationary, permanent address (since Apr 14, 2025). Mobile-only = ineligible. |
| Multi-Location | Single location | 2–5 locations: list extras in Wufoo comments. 6+ locations: also email the Additional Locations Sheet to SalesOps@entertainment.com. |
| Google Places | Business found and OPERATIONAL | Not found or not operational — verify address, phone, and legal name exactly match Google. |
| Email MX | Domain has valid mail servers | Email domain has no MX records — likely fake or mistyped. Confirm with merchant. A bounce = rejection. |
| Website | Site responds with HTTP 200 | Site is down or unreachable. Get a working URL or leave blank. |
| Entertainment (Google) | Not found in Entertainment's national database | Already in Entertainment. Automatic rejection — do not submit. |
| AI Review | APPROVE — no issues flagged | REVIEW or REJECT — read the AI notes. Common: chain name, offer too restrictive, category mismatch. |
✎ You can manually override a fail with a reason (e.g. "Verified — different location from DB hit").
| Situation | Who to Contact |
|---|---|
| Rejection response / merchant needs clarification | SalesOps@entertainment.com |
| Disagree with rejection / want justification | Dawn (via your regional contact) |
| Never reply directly to | Katy or Erica — always route through SalesOps or Dawn |
| Setting | Why It Matters |
|---|---|
| Rep Name / Email / Phone | Appears in Wufoo auto-fill and merchant confirmation emails |
| Wufoo Rep Company | Must exactly match your company in Entertainment's Wufoo dropdown |
| Sheet Tab Name | Must exactly match your tab in the IC Signing Spreadsheet |
| Entertainment Credentials | Enables live Entertainment.com search links (direct, with auth) |
| Anthropic API Key | Enables AI narrative review in compliance checks (~$0.01/check) |
| SMTP (Email) | Sends automatic confirmation email to merchant after they sign |
| Google Script URL | Enables one-click Push to Sheet |
| GOOGLE_SEARCH_CX | Enables automated national Entertainment database check (Railway env var) |
You're using the default password. Choose a new password before accessing the dashboard — this only happens once.
Please review and accept the following terms before accessing the dashboard.
Effective Date: June 13, 2026
By accessing the MerchantBridge ("Platform") operated by Taste of the Town USA™ ("TOTUSA"), you agree to the following terms:
Review the fields that will be injected into the Wufoo form. ⚠ indicates a blank important field.