Build SEO Workflows Without Code: Introducing Rampify's Automation-First API
We've rebuilt our API from the ground up with one goal: make automation so easy you don't need to write JavaScript.
If you've ever tried building n8n or Zapier workflows that consume REST APIs, you know the pain:
- Writing JavaScript to filter and group data
- Manually categorizing items with switch statements
- Building complex IF/THEN logic just to route data
- Wrestling with JSON structures that weren't designed for automation
That ends today.
The Problem with Traditional APIs#
Most APIs are designed for developers writing code. They return raw data and expect you to:
- Filter it yourself - Loop through arrays, check conditions, build new objects
- Group it yourself - Categorize items, calculate counts, organize by type
- Route it yourself - Write IF/THEN logic to decide what to do with the data
This works great if you're writing Python or Node.js. But in n8n or Zapier? You're stuck writing JavaScript in tiny code nodes, debugging JSON paths, and fighting with execution contexts.
Our Solution: Zero-Code Routing#
We added a ?view= parameter to our action items endpoint that completely eliminates the need for custom code:
1. The routing View - Boolean Flags for IF/THEN Logic#
Instead of this (old way):
// n8n Code Node - Manual filtering
const actions = $input.all();
const hasCritical = actions.some(a => a.priority === 'critical');
const hasAutoFixable = actions.some(a =>
['missing_meta_description', 'short_title'].includes(a.actionType)
);
return { hasCritical, hasAutoFixable };You get this (new way):
GET /action-snapshots/{id}/actions?view=routing
Response:
{
"routing_hints": {
"has_critical": false,
"has_auto_fixable_meta": true,
"has_auto_fixable_schema": false,
"has_indexing_issues": true,
"recommended_next_action": "fix_meta_tags"
},
"counts": {
"total_actions": 11,
"auto_fixable": 8,
"manual_review": 3
}
}Now in n8n, you just use IF nodes:
- Condition:
{{ $json.routing_hints.has_critical }}equalstrue - True branch: Send Slack alert
- False branch: Continue to next check
Zero JavaScript required.
2. The grouped View - Pre-Organized Data#
Instead of manually grouping actions by type, category, or priority, we do it for you:
GET /action-snapshots/{id}/actions?view=grouped
Response:
{
"groups": {
"auto_fixable": {
"count": 8,
"actions": [...]
},
"manual_review": {
"count": 3,
"actions": [...]
},
"by_priority": {
"critical": { "count": 0, "actions": [] },
"high": { "count": 5, "actions": [...] }
}
}
}Perfect for batch processing - just iterate through groups.auto_fixable.actions and trigger your fix workflow.
3. The summary View - Dashboard-Ready Stats#
Building a dashboard or sending email reports? The summary view gives you exactly what you need:
GET /action-snapshots/{id}/actions?view=summary
Response:
{
"overview": {
"total_actions": 11,
"health_score": 72,
"improvement_potential": "28%"
},
"top_actions": [
{
"title": "Missing Meta Description (12 affected)",
"priority": "high",
"affectedCount": 12
}
],
"quick_wins": {
"count": 5,
"estimated_time": "30-60 minutes",
"actions": [
"Fix 12 missing meta descriptions",
"Add schema to 3 pages"
]
}
}Drop this straight into a Slack message or email template. No transformation needed.
Real-World Use Cases#
Use Case 1: Daily SEO Monitor#
Goal: Check your site every morning, alert on critical issues, auto-fix simple ones.
n8n Workflow (no code needed):
- Schedule Trigger - Runs at 8am daily
- HTTP Request -
POST /clients/{id}/analyze(start site analysis) - Wait 10 seconds
- HTTP Request -
GET /site-checks/{id}/status(poll until complete) - Loop back to step 3 if status !== "completed"
- HTTP Request -
POST /sites/{id}/action-snapshots/generate(create action plan) - HTTP Request -
GET /action-snapshots/{id}/actions?view=routing(get routing hints) - IF Node -
\{\{ $json.routing_hints.has_critical \}\}= true?- YES: Send urgent Slack alert with webhook
- NO: Continue
- IF Node -
\{\{ $json.routing_hints.has_auto_fixable_meta \}\}= true?- YES: Trigger auto-fix workflow (call meta generation API)
- NO: Continue
- Send Email - Daily summary with
\{\{ $json.counts.total_actions \}\}issues found
Total JavaScript written: 0 lines
Use Case 2: Pre-Deployment Check#
Goal: Before deploying, check staging site for SEO issues.
Make.com Scenario:
- Webhook Trigger - Receives deployment event from CI/CD
- HTTP Module - Trigger site analysis
- Sleep Module - Wait for crawl to complete
- HTTP Module - Get actions with
?view=routing&filter=critical - Router Module - Route based on
routing_hints.has_critical- Route 1 (has critical): Block deployment, post to GitHub PR
- Route 2 (no critical): Approve deployment, proceed
Total code: None. Just HTTP requests and routers.
Use Case 3: Weekly Client Reports#
Goal: Email clients their SEO health score and top issues every Monday.
Zapier Workflow:
- Schedule - Every Monday 9am
- Rampify API - Generate action snapshot
- Rampify API - Get summary view:
?view=summary - Email by Zapier - Send formatted email:
- Subject: "Your SEO Health Score: {health_score}"
- Body template uses
\{top_actions\}and\{quick_wins\}
Zapier Formatter needed: None. Data is already email-ready.
Filter Combinations#
Mix ?view= with ?filter= for powerful combinations:
# Get only auto-fixable issues, already grouped
?filter=auto_fixable&view=grouped
# Get only critical issues as a flat array
?filter=critical&view=flat
# Get routing hints for high-priority items
?filter=high&view=routing
# Get summary of just indexing issues
?filter=indexing&view=summaryEvery filter + view combination is documented in our OpenAPI spec.
Decision Tree for Automation#
Here's the exact decision tree we recommend for n8n/Zapier:
1. GET actions with ?view=routing
2. IF has_critical = true
→ Send urgent alert (Slack/PagerDuty)
→ STOP (manual intervention needed)
3. IF has_auto_fixable_meta = true
→ GET actions with ?filter=auto_fixable&view=grouped
→ Iterate through groups.auto_fixable.actions
→ Call /meta/generate for each URL
→ Mark actions as completed
4. IF has_auto_fixable_schema = true
→ Similar auto-fix flow for schema
5. IF has_indexing_issues = true
→ GET actions with ?filter=indexing
→ Submit URLs to Google Search Console
6. IF has_any_actions = true
→ Send summary email with remaining issues
ELSE
→ Send "All Good" notification
Every step uses boolean flags from the API. No JavaScript, no complex logic.
Technical Implementation#
Behind the scenes, we:
- Pre-compute routing hints - Boolean flags are calculated server-side
- Cache grouped views - Expensive aggregations happen once
- Optimize for automation - Response structure matches n8n/Zapier data models
- Document everything - OpenAPI spec with examples for every view type
Our philosophy: The API should do the hard work, not your automation tool.
Developer Experience#
For teams that DO want to write code, we still support the standard ?view=flat (default) that returns a clean array of action items. You can filter, group, and transform however you want.
But for the 90% of use cases where you just want to:
- Route based on severity
- Batch process auto-fixable items
- Display top issues in a dashboard
You don't need code anymore.
API Reference#
All of this is documented with real examples in our OpenAPI specification:
- Introduction section - Quick start workflow for n8n/Zapier
- Decision tree - Step-by-step routing logic with n8n expressions
- View examples - Complete JSON responses for all 4 view types
- Filter combinations - Every supported filter + view pair
We also include:
- n8n IF node configuration examples
- Zapier expression syntax
- Make.com router setup
- Effort estimates for each action type
Get Started#
- Sign up at rampify.dev
- Generate API key at Settings → API Keys
- View the API docs at rampify.dev/api-reference
- Import our n8n workflow from GitHub (coming soon)
Or just start with a simple workflow:
# Get your action plan with routing hints
curl -H "Authorization: Bearer sk_live_your_key" \
"https://www.rampify.dev/api/action-snapshots/{id}/actions?view=routing"Then use those boolean flags in your automation tool. No code needed.
What's Next?#
We're working on:
- Pre-built n8n workflows you can import in one click
- Zapier app with native triggers and actions
- Make.com templates for common SEO workflows
- Auto-fix endpoints for meta tags and schema (currently manual)
Our goal: Make SEO automation accessible to everyone, not just developers.
Questions? Check the API docs.
Want to see the code? All workflows will be open-sourced on GitHub.