Vibrant Performance Sponsorship

Restricted Access

Enter the password to view this page.

Incorrect password
VP Sponsorship System Manual
Sponsorship System Manual V4.9

Process Applications

Review incoming applications, check AI scores and summaries, and make qualification decisions.

Create Agreements

Generate contracts, collect partner info, and send for e-signature via PandaDoc — fully automated.

Manage Orders

Track parts requests from submission through delivery. Partners submit via checkbox — no authorization needed.

Invite Sponsors

Proactively invite potential sponsors to join the program.

📊 Sponsorship Lifecycle
📝
Application
Google Form
⚖️
Auto-Scoring
+ AI Summary
Qualified
Manual decision
📦
Parts Request
Auto-created
📄
Agreement
Generate & sign
✍️
PandaDoc
E-signature
🎬
Content
Partner creates
Integrations

The system connects Google Sheets, Google Forms, Mailchimp (email automations), Asana (task tracking), PandaDoc (e-signatures), and Google Gemini (AI summaries).

🚀 First Time Setup One-time
1

Open the Sponsorship Intake Spreadsheet

This is your command center. All sponsorship data flows through here.

Open Spreadsheet ↗
2

Verify the Menu Appears

Look for 🎯 VP Sponsorship in the menu bar. If you don't see it, refresh the page and wait a few seconds.

🎯 VP Sponsorship
3

Check Your Tabs

You should see these tabs at the bottom of the spreadsheet:

Pro Tip

Hover over any column header in the Agreement Terms tab to see helpful descriptions of what each field means.

Permissions

Both Bruno and Melanie should have Editor access to the spreadsheet, agreement template, and output folder. If you get a "No item with the given ID" error, run shareSystemResourcesWithDefaults() from the Apps Script editor.

📁 System Resources Quick Links
Resource Purpose Link
Intake Spreadsheet Main command center — applications, orders, agreements, invites Open
Agreement Template Google Doc template for sponsorship agreements Open
Parts Request Template Template spreadsheet cloned for each partner Open
Public Master Data Product catalog & pricing — source for parts requests Open
Cost Calculator Internal cost/MSRP calculations Open
Agreement Info Responses Form responses for partner address/phone/apparel Open
PandaDoc Dashboard Track e-signature status Open
Application Processing Flow
📝
Form Submitted
Auto
⚖️
Scored
Auto
🤖
AI Summary
Auto
📋
Asana Task
Auto
👤
You Decide
Manual
Processing Steps
1

Application Arrives Automatically

When someone submits the Google Form, a new row appears in Form Responses 1. The system automatically assigns an Application ID, scores it, generates an AI summary, adds the contact to Mailchimp, and creates an Asana task.

⚡ Fully Automatic
2

Review the Score & AI Summary

Check the Score Total, Score Breakdown, and AI Summary columns. The score is based on social media reach, content quality, event participation, and more. The AI summary provides a quick assessment of the partner's fit.

3

Make Your Decision

Set the Stage column to trigger the appropriate action:

Qualified - Send Parts Request Approved! System creates parts request sheet, emails partner, adds Mailchimp tag, updates Asana.
On Hold Need more info or time. System tags contact and sends a holding email.
Declined Not a fit. System sends polite decline email via Mailchimp.
Override Decisions Force Qualify / Force Decline
1

Use the Override Decision Column

To change a partner's status at any time — even after they've been previously processed — use the Override Decision column. Options include Force Qualified, Force Declined, and Force Hold.

2

Overrides Always Work

Overrides bypass the "already processed" check. If a partner was previously On Hold and you now want to qualify them, simply set Override Decision to Force Qualified. The system will reset the processing flag and run the full qualification flow.

Important

Changing the Stage or Override Decision triggers automatic emails via Mailchimp. Make sure you're ready before changing it!

Agreement Flow
1️⃣
Create Terms
Manual
📧
Partner Info
Auto email
📝
Info Received
Form syncs
📄
Generate Doc
Manual
✍️
Send to PandaDoc
One click!
Signed
Both parties
Step-by-Step Guide
1

Create Agreement Terms

Select the partner's row in Form Responses 1, then:

VP Sponsorship → Agreements → Create Agreement Terms

Choose the partner tier: Education, Exposure, or Ambassador. A row is created in the Agreement Terms tab with default values based on the tier.

2

Partner Receives Info Form

The system automatically sends an email (via Mailchimp tag vp-agreement-info) asking the partner to provide their legal name, address, phone number, and apparel sizing.

⚡ Automatic — Mailchimp email with pre-filled form link
3

Partner Info Syncs to Agreement Terms

When the partner submits the form, their details automatically populate in the Agreement Terms tab. Status updates to Info Received.

⚡ Automatic — Form Handler syncs data
4

Review & Customize Terms

Go to the Agreement Terms tab and verify all details. You can adjust commercial terms (discount %, MSRP cap, max orders), milestone windows, paid media settings, and select the Vibrant signer (Bruno or Melanie).

5

Generate Agreement Document

Select the row in Agreement Terms tab, then:

VP Sponsorship → Agreements → Generate Agreement Document

This creates a Google Doc from the agreement template with all terms filled in, exports it to PDF, and saves both to Google Drive. Status updates to Generated.

6

Send for Signature via PandaDoc

With the row selected in Agreement Terms:

VP Sponsorship → Agreements → Send for Signature

This is fully automated — one click does everything:

  • Uploads the PDF to PandaDoc
  • PandaDoc auto-detects 6 signature fields (signature, initials, and date for both Partner and Vibrant)
  • Sends the document to the partner for signing
  • Partner signs first, then Vibrant signs second
  • Status updates to Sent for Signature
Agreement Status Values
Status Meaning Next Action
Draft Terms created in Agreement Terms tab Wait for partner to submit info form
Info Requested Email sent to partner via Mailchimp Wait for partner response
Info Received Partner submitted address, phone, etc. Review terms, then generate document
Generated PDF created in Google Drive Send for signature
PandaDoc Draft Uploaded to PandaDoc but not yet sent Retry sending (click Send for Signature again)
Sent for Signature Waiting for Partner → then Vibrant to sign Wait — track in PandaDoc
Signed Fully executed by both parties 🎉 Done!
PandaDoc E-Signature Details

The agreement PDF contains embedded field tags that PandaDoc automatically detects: signature boxes, initials, and date fields for both the Partner and Vibrant signer. The partner signs first (order 1), then the selected Vibrant representative signs second (order 2). No manual field placement needed in PandaDoc.

Parts Request Flow
📦
Sheet Created
Auto on qualify
📝
Partner Fills
Parts list
☑️
Checkbox
Partner checks
🔔
Notification
Email to team
Process
Approve & ship
How Partners Submit Orders
1

Parts Request Sheet Created Automatically

When a partner is qualified, the system automatically creates their personal Parts Request spreadsheet (a copy of the parts request template with pricing from the Public Master Data) and emails them the link.

⚡ Automatic — created when partner is qualified
2

Partner Fills in Their Parts List

The partner opens their spreadsheet, browses the product catalog, and adds quantities for the parts they want.

3

Partner Checks the Submission Checkbox

When done, the partner checks the checkbox in cell L2 of their Parts Request sheet. That's it — no buttons, no authorization prompts, no scripts to approve.

4

System Detects Submission & Notifies You

Every 10 minutes, the system checks all partner sheets for checked boxes. When detected, it sends an email notification to Bruno and Melanie, updates the Orders tab, tags the partner in Mailchimp, and updates their Asana task.

⚡ Automatic — polling every 10 minutes
Creating Additional Orders
1

Select the Partner

Click on the partner's row in Form Responses 1.

2

Create New Order

VP Sponsorship → Create New Order for Selected Partner

A new Parts Request sheet is created and the partner is emailed the link.

Order Status Values
Status Description
New Parts request sheet created, partner filling it out
Received Partner checked the submission checkbox
Approved Approved for fulfillment
Processing Being prepared for shipment
Shipped Shipped with tracking number
Completed Partner received the order
Why a Checkbox Instead of a Button?

Google Apps Script buttons require authorization that partners can't easily grant. The checkbox approach requires zero permissions — the partner just checks a box, and our polling trigger detects it automatically.

Sending an Invite
1

Open Invite Dialog

VP Sponsorship → Invite Sponsor
2

Enter Contact Details

Provide name, email, and optionally Instagram handle.

3

Send Invite

Click Send. The contact is added to Mailchimp with the invite tag, and they receive an email inviting them to apply. The invite is logged in the Invites tab.

🎓 Education Partner

Entry-level tier focused on educational content creation.

Includes: Core terms, Licensing & IP, Content milestones
Excludes: Paid media, brand safety, exclusivity
Default: 50% discount, $5,000 MSRP cap, 2 orders/year

📢 Exposure Partner

Mid-tier with paid media and brand safety provisions.

Includes: Everything in Education + Paid Media + Brand Safety
Excludes: Exclusivity, special covenants
Default: Same commercial terms, plus ad whitelisting

⭐ Ambassador

Top-tier with full agreement including exclusivity.

Includes: All agreement sections
Extras: Exclusivity clauses, special covenants, apparel for up to 5 people
Trigger Tags (Activate Automations)
Tag Triggers When What Happens Re-entry?
trigger_parts_request Partner qualified Sends parts request email with link to their sheet ✅ Yes
trigger_on_hold Stage set to On Hold Sends holding email ✅ Yes
trigger_declined Stage set to Declined Sends polite decline email ❌ No
vp-agreement-info Agreement terms created Sends agreement info form to partner ✅ Yes
vp-order-received Partner submits parts request Sends confirmation email to partner ✅ Yes
sponsorship_lead New application received Contact added to audience
Merge Fields
Merge Tag Content
*|FNAME|* First name
*|PR_URL|* Parts Request sheet URL
*|APP_ID|* Application ID
*|AG_FRM_URL|* Agreement info form URL (pre-filled)
Merge Tag Limit

Mailchimp merge tags have a 10-character limit. That's why we use short names like AG_FRM_URL and PR_URL.

⚠️ "No item with the given ID" error

Cause: The user doesn't have access to a Google Drive resource (template doc or output folder).

Fix: Run shareSystemResourcesWithDefaults() from the Apps Script editor. This shares the agreement template, output folder, and parts request folder with both Bruno and Melanie.

Manual fix: Share the specific file/folder with the user's email as Editor.

⚠️ Override Decision not triggering

Old behavior (fixed in V4.9): Overrides were blocked if the row had already been processed.

Current behavior: Overrides now automatically reset the "Auto Action Completed" flag and process the action. If you're still on an older version, manually clear column BA (Auto Action Completed) to FALSE, then re-apply the override.

⚠️ Email not sent to partner

Possible causes:

  • Contact already has the Mailchimp tag (tag won't re-trigger unless re-entry is enabled)
  • Contact not subscribed in Mailchimp
  • "Re-enter flow" is disabled in the Mailchimp automation
  • Email was "cleaned" in Mailchimp due to bounces

Fix: In Mailchimp, remove the tag from the contact, then re-add it. Or enable "Contacts can re-enter flow" in the automation settings.

⚠️ Agreement form link doesn't work

Check Script Properties:

  • AGREEMENT_INFO_FORM_ID — Should start with 1FAIpQL...
  • AGREEMENT_INFO_FORM_APPID_ENTRY — Entry ID for Application ID field
  • AGREEMENT_INFO_FORM_COUNTRY_ENTRY — Entry ID for Country field

To get correct IDs: Open the Google Form → ⋮ → Get pre-filled link → Copy the generated URL and extract the entry IDs.

⚠️ Agreement Info form not syncing

Check: Make sure cell A1 in the Agreement Terms tab says exactly Application ID — no extra spaces or invisible characters.

Diagnose: Run debugApplicationIdLookup() from the script editor to check what's in that cell.

Backfill: If submissions were missed, run testProcessSpecificRow() for each missed form response row.

⚠️ PandaDoc not sending

Test connection: Run testPandaDocConnection() from the script editor.

Test field tags: Run testPandaDocFieldTags() to upload a test PDF and verify all 6 fields are detected.

Common issues:

  • Missing PANDADOC_API_KEY in Script Properties
  • Using Sandbox API key instead of Production (Sandbox restricts email domains)
  • Status shows "PandaDoc Draft" — click Send for Signature again to retry
  • Field tags not detected — ensure the tag text exists in the PDF (white/invisible is fine, but it must be there)
⚠️ Mailchimp "Resource Not Found" error

The email address doesn't exist in your Mailchimp audience.

Causes: Email was changed in the spreadsheet but not in Mailchimp, contact was deleted, or there's a typo.

Fix: Add the contact to Mailchimp manually with the correct email address.

Need More Help?

Check the Apps Script Execution Log: Extensions → Apps Script → Executions. Look for [ERROR] entries for detailed error messages and stack traces.