How to Use Intelligence Tokens in Zapier
How to Use Intelligence Tokens in Zapier
Quick answer: Set up Zapier to trigger when you receive a Signal report email, extract the Intelligence Token, fetch JSON data via HTTP request, and send metrics to Google Sheets, Notion, Slack, or Airtable. Automates tracking without manual data entry.
Reading time: 9 minutes
What you’ll learn:
- Three common automation workflows: auto-add Signal data to Google Sheets (no manual copy-paste from PDF), post results to Slack (“Signal report complete! Presence Rate: 58% +10 points from last month”), create Notion database entries with Date, Presence Rate, Authority Score, Ghost Influence, Top Competitor
- Complete Zapier setup process in 7 steps: Gmail trigger on “Your Signal report” email from hi@surmado.com, Formatter extracts token with regex pattern (SIG-\d{4}-\d{2}-[A-Z0-9]{5}), Webhooks GET fetches JSON from api.surmado.com, parse metrics (presence_rate, authority_score, ghost_influence), Google Sheets creates row with formatted data (multiply decimals by 100 for percentages)
- Multi-step automation combining multiple actions: single Zap adds row to Google Sheets AND posts Slack notification (2 tasks per trigger, Zapier free tier 100 tasks/month = 50 reports/month sufficient for quarterly tracking at 4 tasks/year)
- Troubleshooting common failures with fixes: 404 errors on HTTP request (verify URL format with no extra spaces), decimal Presence Rate showing 0.58 instead of 58% (add Formatter multiply by 100), task limit exceeded on free tier (remove one action or upgrade to $20/month Starter with 750 tasks)
- Advanced multi-location tracking with Zapier Paths: single Zap handles Phoenix/Scottsdale/Tempe locations, filter by business.name field, route each to separate Google Sheets tabs automatically without manual sorting
Timeline: 30-45 minutes one-time Zapier setup. After that, fully automated (0 minutes per report).
What You Can Automate with Zapier
Use Case 1: Auto-Add Signal Data to Google Sheets
Workflow:
- You run Signal report
- Receive email from hi@surmado.com with Intelligence Token
- Zapier detects email
- Extracts Intelligence Token from email
- Fetches JSON via
https://api.surmado.com/intelligence/{token} - Parses Presence Rate, Authority Score, Ghost Influence
- Adds row to Google Sheets
Result: Tracking spreadsheet updates automatically. No copy-paste from PDF.
Use Case 2: Post Signal Results to Slack
Workflow:
- Signal report completes
- Zapier extracts Intelligence Token
- Fetches JSON
- Posts Slack message: “Signal report complete! Presence Rate: 58% (+10 points from last month)”
Result: Team notified immediately when Signal completes. No manual checking email.
Use Case 3: Add to Notion Dashboard
Workflow:
- Signal report completes
- Zapier extracts Intelligence Token
- Fetches JSON
- Creates Notion database entry with:
- Date
- Presence Rate
- Authority Score
- Ghost Influence
- Top 3 competitors
Result: Notion workspace auto-updates with latest Signal data.
Prerequisites
What You Need
1. Zapier account (free tier works)
- Sign up at zapier.com
- Free tier: 100 tasks/month (sufficient for quarterly Signal tracking)
2. Surmado Intelligence Token (from any Signal report)
- Format:
SIG-2025-11-XXXXX - Get from Signal report PDF or email
3. Destination tool (where data goes)
- Google Sheets (most common)
- Notion
- Slack
- Airtable
- Any of 7,000+ Zapier integrations
Step-by-Step: Zapier Setup for Google Sheets
Step 1: Create New Zap
Process:
- Login to Zapier (zapier.com)
- Click “Create Zap”
- Name: “Signal to Google Sheets”
Step 2: Set Up Trigger (Email with Intelligence Token)
Trigger app: Gmail (or email provider)
Trigger event: “New Email Matching Search”
Configure:
- From: hi@surmado.com
- Subject: “Your Signal report”
- Search string: “SIG-” (ensures it only triggers on Signal reports)
Test: Zapier will find most recent Signal report email
Step 3: Extract Intelligence Token from Email
Action app: Formatter by Zapier (built-in)
Action event: “Text” → “Extract Pattern”
Configure:
- Input: [Email body from Step 2]
- Pattern:
SIG-\d{4}-\d{2}-[A-Z0-9]{5}(regex pattern for Intelligence Token format)
Output: Extracts SIG-2025-11-A1B2C from email body
Test: Zapier shows extracted token (e.g., SIG-2025-11-A1B2C)
Step 4: Fetch JSON Data via HTTP Request
Action app: Webhooks by Zapier (built-in)
Action event: “GET”
Configure:
- URL:
https://api.surmado.com/intelligence/[Intelligence Token from Step 3] - Method: GET
- Headers: (none needed)
Example URL: https://api.surmado.com/intelligence/SIG-2025-11-A1B2C
Test: Zapier fetches JSON and shows response
Response example:
{
"token": "SIG-2025-11-A1B2C",
"report_type": "signal",
"generated_at": "2025-11-09T14:32:00Z",
"business": {
"name": "Acme HVAC",
"website": "acmehvac.com"
},
"metrics": {
"presence_rate": 0.58,
"authority_score": 72,
"ghost_influence": 0.32
},
"competitors": [
{
"name": "Competitor A",
"mentions": 22
}
]
}
Step 5: Parse JSON and Extract Metrics
Zapier automatically parses JSON from Step 4. You can now reference fields:
metrics.presence_rate→ 0.58metrics.authority_score→ 72metrics.ghost_influence→ 0.32generated_at→ 2025-11-09T14:32:00Z
No additional parsing needed (Zapier handles JSON).
Step 6: Add Row to Google Sheets
Action app: Google Sheets
Action event: “Create Spreadsheet Row”
Configure:
- Spreadsheet: Select your tracking spreadsheet
- Worksheet: Select sheet (e.g., “Signal Tracking”)
- Columns:
- Date:
[generated_at from Step 4]→ 2025-11-09 - Intelligence Token:
[token from Step 4]→ SIG-2025-11-A1B2C - Presence Rate:
[metrics.presence_rate from Step 4] * 100→ 58 - Authority Score:
[metrics.authority_score from Step 4]→ 72 - Ghost Influence:
[metrics.ghost_influence from Step 4] * 100→ 32 - Business Name:
[business.name from Step 4]→ Acme HVAC
- Date:
Note: Multiply presence_rate and ghost_influence by 100 to convert decimals (0.58 → 58%).
Zapier formula (for Presence Rate):
- Use Formatter → “Numbers” → “Perform Math Operation”
- Formula:
{{metrics.presence_rate}} * 100
Test: Zapier creates row in Google Sheets with sample data.
Step 7: Turn On Zap
Click “Turn on Zap”
Result: Zap runs automatically every time you receive Signal report email.
Future flow:
- You run Signal ($50)
- Receive email from hi@surmado.com
- Zapier detects email
- Extracts Intelligence Token
- Fetches JSON
- Adds row to Google Sheets
No manual work needed.
Alternative: Slack Notification
Step 6 Alternative: Post to Slack Instead of Google Sheets
Action app: Slack
Action event: “Send Channel Message”
Configure:
- Channel: #marketing (or your team channel)
- Message Text:
**Signal Report Complete!**
Business: {{business.name}}
Date: {{generated_at}}
**Metrics:**
• Presence Rate: {{metrics.presence_rate * 100}}%
• Authority Score: {{metrics.authority_score}}
• Ghost Influence: {{metrics.ghost_influence * 100}}%
**Top Competitor:** {{competitors.0.name}} ({{competitors.0.mentions}} mentions)
[View Full Report](https://www.surmado.com/reports/{{token}})
Result: Slack message auto-posts when Signal completes.
Example Slack message:
Signal Report Complete!
Business: Acme HVAC Date: 2025-11-09
Metrics: • Presence Rate: 58% • Authority Score: 72 • Ghost Influence: 32%
Top Competitor: Competitor A (22 mentions)
Alternative: Notion Database
Step 6 Alternative: Add to Notion
Action app: Notion
Action event: “Create Database Item”
Configure:
- Database: Select your “Signal Tracking” database
- Properties:
- Name:
Signal - {{generated_at}} - Date:
{{generated_at}} - Presence Rate:
{{metrics.presence_rate * 100}} - Authority Score:
{{metrics.authority_score}} - Ghost Influence:
{{metrics.ghost_influence * 100}} - Intelligence Token:
{{token}} - Top Competitor:
{{competitors.0.name}}
- Name:
Result: Notion database auto-populates with Signal data.
Example Notion database:
| Name | Date | Presence Rate | Authority Score | Ghost Influence | Top Competitor |
|---|---|---|---|---|---|
| Signal - 2025-11-09 | 2025-11-09 | 58% | 72 | 32% | Competitor A |
| Signal - 2026-02-10 | 2026-02-10 | 65% | 78 | 28% | Competitor A |
Multi-Step Automation: Google Sheets + Slack
Combine Multiple Actions
Zap workflow:
- Trigger: New email from hi@surmado.com
- Extract Intelligence Token
- Fetch JSON via HTTP
- Add row to Google Sheets (Action 1)
- Post to Slack (Action 2)
Result: Data goes to Google Sheets AND team gets Slack notification.
Zapier multi-action setup:
- After Step 5 (Parse JSON), click ”+ Add Step”
- Add Google Sheets action (Step 6a)
- Click ”+ Add Step” again
- Add Slack action (Step 6b)
- Turn on Zap
Zapier task count: Each trigger = 2 tasks (Google Sheets + Slack). Free tier: 100 tasks/month = 50 reports/month (sufficient for quarterly tracking).
Handling Multiple Surmado Products
Separate Zaps for Signal, Scan, Solutions
Zap 1: Signal to Google Sheets
- Trigger: Email subject “Your Signal report”
- Extract token:
SIG-\d{4}-\d{2}-[A-Z0-9]{5} - Fetch JSON:
https://api.surmado.com/intelligence/{token} - Add to Google Sheets: “Signal Tracking” sheet
Zap 2: Scan to Google Sheets
- Trigger: Email subject “Your Scan report”
- Extract token:
SCAN-\d{4}-\d{2}-[A-Z0-9]{5} - Fetch JSON:
https://api.surmado.com/intelligence/{token} - Add to Google Sheets: “Scan Tracking” sheet
Zap 3: Solutions to Google Sheets (optional, Solutions is one-time use)
- Similar workflow for Solutions reports
Benefit: Separate tracking for each product. Google Sheets has 3 tabs (Signal, Scan, Solutions).
Troubleshooting Common Issues
Issue 1: Zapier Can’t Find Email
Problem: Trigger test doesn’t find Signal report email.
Fix:
- Verify email from hi@surmado.com is in inbox (check spam folder)
- Adjust search string: Use “Signal report” instead of “SIG-”
- Check “From” filter: Must be exactly “hi@surmado.com” (no extra spaces)
Issue 2: Intelligence Token Not Extracted
Problem: Step 3 (Extract Token) shows blank output.
Fix:
- Verify regex pattern:
SIG-\d{4}-\d{2}-[A-Z0-9]{5} - Check email body format (Intelligence Token should be in body, not just subject)
- Manually test regex: Copy email body to regex101.com, test pattern
Issue 3: HTTP Request Fails (404 Error)
Problem: Step 4 (Fetch JSON) returns 404 Not Found.
Fix:
- Verify URL format:
https://api.surmado.com/intelligence/SIG-2025-11-A1B2C(no extra spaces, correct token) - Check token validity: Tokens are permanent, but verify token format (must start with
SIG-,SCAN-, orSOLUTIONS-)
Issue 4: Presence Rate Shows as Decimal (0.58 Instead of 58%)
Problem: Google Sheets shows 0.58 instead of 58%.
Fix: Multiply by 100 using Formatter
Add step between Step 4 and Step 6:
- Action app: Formatter by Zapier
- Action event: “Numbers” → “Perform Math Operation”
- Input:
{{metrics.presence_rate}} - Operation: Multiply
- Value: 100
- Output: 58 (use this in Google Sheets)
Issue 5: Zapier Task Limit Exceeded (Free Tier)
Problem: Free tier allows 100 tasks/month, but Zap uses 2 tasks per trigger (Google Sheets + Slack).
Fix:
- Option A: Remove one action (keep Google Sheets, remove Slack)
- Option B: Upgrade to Zapier Starter ($20/month, 750 tasks)
- Option C: Run Signal less frequently (quarterly = 12 tasks/year, well within 100/month)
Cost-benefit:
- Zapier Free: $0/month, 100 tasks = 50 Signal reports/month (sufficient)
- Zapier Starter: $20/month, 750 tasks = 375 Signal reports/month (overkill for most)
Recommendation: Free tier sufficient for quarterly Signal tracking (4 reports/year = 8 tasks/year).
Advanced: Multi-Location Tracking
Separate Tracking for Each Location
Scenario: HVAC company with 3 locations (Phoenix, Scottsdale, Tempe).
Run Signal 3 times/quarter:
- Signal for Phoenix location
- Signal for Scottsdale location
- Signal for Tempe location
Zapier automation:
- Trigger: Email from hi@surmado.com
- Extract token
- Fetch JSON
- Filter by business name (Zapier Paths):
- If
business.namecontains “Phoenix” → Add to “Phoenix” Google Sheets tab - If
business.namecontains “Scottsdale” → Add to “Scottsdale” tab - If
business.namecontains “Tempe” → Add to “Tempe” tab
- If
Result: Single Zap handles all 3 locations, routes to correct Google Sheets tab.
The Bottom Line
Zapier automates Intelligence Token tracking: Detect Signal email → Extract token → Fetch JSON → Add to Google Sheets/Notion/Slack.
Setup time: 30-45 minutes one-time.
Ongoing effort: 0 minutes (fully automated).
Cost: Zapier free tier (100 tasks/month) sufficient for quarterly Signal tracking.
Benefit: No manual data entry, consistent tracking, team notifications.
Frequently Asked Questions
Do I need a paid Zapier account?
No. Zapier free tier (100 tasks/month) is sufficient for most use cases:
- Quarterly Signal: 4 reports/year = 4 tasks (well within limit)
- Monthly Signal: 12 reports/year = 12 tasks (well within limit)
Upgrade to paid if:
- Running Signal weekly (52 tasks/year, still within free tier)
- Using multi-step Zaps (Google Sheets + Slack = 2 tasks per trigger)
- Tracking multiple products (Signal + Scan + Solutions)
Cost-benefit:
- Zapier Free: $0/month, sufficient for quarterly tracking
- Zapier Starter: $20/month, overkill unless running 10+ reports/month
Can I use Zapier with Scan or Solutions reports?
Yes. Same workflow:
- Trigger: Email with “Your Scan report” or “Your Solutions report”
- Extract token:
SCAN-\d{4}-\d{2}-[A-Z0-9]{5}orSOLUTIONS-\d{4}-\d{2}-[A-Z0-9]{5} - Fetch JSON:
https://api.surmado.com/intelligence/{token} - Parse and send to Google Sheets/Notion/Slack
Scan JSON structure (different fields than Signal):
overall_score(0-100)categories.technical_seo(0-100)categories.performance(0-100)core_web_vitals.LCP(seconds)
Adjust Google Sheets columns for Scan metrics (not Presence Rate/Authority Score).
What if I don’t use Gmail?
Use your email provider:
- Outlook: “Microsoft Outlook” trigger in Zapier
- Yahoo: “Email Parser by Zapier” (universal email trigger)
- Any IMAP: “Email by Zapier” (IMAP connection)
Process same: Trigger on email, extract token, fetch JSON, send to destination.
Can I automate comparison to previous reports?
Yes, with multi-step Zap:
Workflow:
- Trigger: New Signal report
- Fetch current JSON (Presence Rate: 58%)
- Lookup previous row in Google Sheets (Zapier “Lookup Spreadsheet Row”)
- Extract previous Presence Rate (48%)
- Calculate change: 58% - 48% = +10 percentage points
- Post to Slack: “Presence Rate improved +10 points (48% → 58%)”
Zapier actions needed:
- Webhooks (fetch current JSON)
- Google Sheets Lookup (find previous row)
- Formatter (calculate difference)
- Slack (post result)
Zapier tasks: 4 actions = 4 tasks per trigger (still within free tier if quarterly).
Can I send Signal data to a custom database (MySQL, PostgreSQL)?
Yes, but requires Webhooks.
Process:
- Zapier fetches JSON via Intelligence Token
- Zapier Webhooks “POST” sends JSON to your API endpoint
- Your API receives JSON, inserts into database
Example API endpoint: https://yourdomain.com/api/signal-webhook
Your API code (example in Node.js):
app.post('/api/signal-webhook', (req, res) => {
const data = req.body;
// Insert into database
db.query('INSERT INTO signal_reports (date, presence_rate, authority_score) VALUES (?, ?, ?)',
[data.generated_at, data.metrics.presence_rate * 100, data.metrics.authority_score]
);
res.send('OK');
});
Benefit: Full control over data storage, no dependency on Google Sheets/Notion.
Complexity: Requires coding + hosting your own API.
How do I test my Zap without running a new Signal report?
Zapier Test Mode:
- During Zap setup, each step has “Test” button
- Zapier uses most recent email/data to test
- No need to run new Signal report
Manual test:
- Forward old Signal report email to yourself
- Zapier trigger detects forwarded email
- Test Zap with old Intelligence Token
Zapier shows sample data during setup (not real data). Confirm fields are correct before turning on Zap.
What if I want to track competitor Signal reports too?
Run Signal on competitors, save Intelligence Tokens, manually add to Zapier Zap or use separate Zap.
Option A: Single Zap for all (your business + competitors)
- Trigger: Email from hi@surmado.com
- Fetch JSON
- Filter by business name:
- If
business.name= “Acme HVAC” → Add to “Your Business” Google Sheets tab - If
business.name= “Competitor A” → Add to “Competitor A” tab
- If
- Result: Single Google Sheet tracks you + competitors
Option B: Separate manual entries for competitors
- Run Zap only for your business (automated)
- Run Signal on competitors quarterly
- Manually copy competitor data to Google Sheets (5 minutes/quarter)
Trade-off: Option A is automated but complex. Option B is simpler but requires 5 min manual work/quarter.
Can I use Zapier to automatically run Signal reports?
Not yet. Zapier can process Intelligence Tokens after reports complete, but cannot trigger Signal report generation.
Current limitation: You must manually run Signal at surmado.com/signal.
Coming 2025: Surmado REST API will support POST /signal to generate reports programmatically. Then Zapier can trigger Signal on schedule (e.g., first Monday of every quarter).
For now: Set calendar reminder to run Signal quarterly, Zapier handles data extraction after.
Ready to automate tracking? Set up Zapier to extract Intelligence Tokens from Signal emails, fetch JSON, and auto-populate Google Sheets. 30-minute one-time setup, fully automated after.
Was this helpful?
Thanks for your feedback!
Have suggestions for improvement?
Tell us moreHelp Us Improve This Article
Know a better way to explain this? Have a real-world example or tip to share?
Contribute and earn credits:
- Submit: Get $25 credit (Signal, Scan, or Solutions)
- If accepted: Get an additional $25 credit ($50 total)
- Plus: Byline credit on this article