WHAT THIS DOES
Use a Google Sheet or Airtable Base as a live editor for SEO. Each row can update SEO for either a Page or a File (or both). The n8n workflow reads a single Source Sheet, then uses a Router node to send each row to the correct MOBLE API node — one for Page SEO and one for File SEO. All results are recorded to a Google Sheets Sync Log (even when Airtable or another app is the source).
SETUP
1. Create Your Source Sheet (Google Sheets or Airtable)
- Create two Google Sheets using these names:
- Download and open the templates above to scaffold the correct headers.
- Important: The n8n workflow looks for these default file names.
- Document: MOBLE-SEO-Source-Sheet
Sheet (Tab): SEO - Document (Logs): MOBLE-SEO-Sync-Log
Sheet (Tab): Sync Log
- If you rename your sheets, that’s fine — just make sure to update the names in n8n under each Google Sheets or Airtable node to match exactly.
- Note: If the Page URL column is blank, the workflow auto-generates page_url (slug) from Page Name.
- One sheet, two APIs: You only maintain a single SEO sheet/table. The workflow’s Router decides whether each row updates Page SEO, File SEO, or both.
2. Import the n8n Workflow
- In n8n: Create Workflow → Import from File → select your SEO Workflow Template (.json):
Google Sheets variant: MOBLE-SEO_Google-Sheets→MOBLE.json
Airtable variant: MOBLE-SEO_Airtable→MOBLE.json
- The workflow opens in the n8n editor; leave it Inactive until setup is complete.
3. Add Trigger Node Credentials (in n8n)
Google Sheets Trigger Node
- Click the Trigger Node titled When Row Added or Updated.
- Under Credential to connect with, click + Create New Credential, choose Google Sheets OAuth2, complete sign-in, then Save.
- Configure:
- Document: MOBLE-SEO-Source-Sheet
- Sheet: SEO
- If you changed the Sheet names in Step 1, use the new names.
Airtable Trigger Node
- Click the Trigger Node titled When Record Created or Updated.
- Under Credential to connect with, click + Create New Credential, choose Airtable OAuth2 (or Personal Access Token), authorize, then Save.
- Configure:
- Base: MOBLE-SEO-Source-Sheet
- Table: SEO
- If you changed the Base/Table names in Step 1, use the new names.
Swap to Other App Trigger Node
- Open the Sticky Note titled App Swap Prompt inside the workflow.
- Copy its text into n8n’s Text-to-Workflow Assistant, edit for your chosen app and the fields you need, then apply.
- The Assistant replaces the source trigger while keeping the Router, MOBLE API nodes, and Google Sheets Sync Log nodes intact.
- Important: Enable only one source trigger (Google Sheets or Airtable or your swapped app) to avoid duplicate runs.
4. Add Google Sheet Sync Log Credentials (in n8n)
- Click the node titled Log to Consolidated Sheet.
- Attach your Google Sheets OAuth2 credential.
- Configure:
- Document: MOBLE-SEO-Sync-Log
- Sheet: Sync Log
- This node records every API response (create, update, error) into your log sheet.
- Sync Log Columns (8): timestamp, page_url, page_name, action, status, details, error_message, http_status
5. Get Your MOBLE API Key (in MOBLE)
- Go to MOBLE → Global Settings → Integrations → MOBLE API Key.
- Copy MOBLE API Key. Keys start with
ak_. - Keep this key safe — you’ll add it to n8n next.
6. Add MOBLE API Credentials (in n8n)
- Add the same Header credential to both SEO API nodes (after the Router):
- MOBLE API: Page SEO
- MOBLE API: File SEO
- For each node:
- Click the node → Credential to connect with → + Create New Credential → select Header Auth.
- Paste MOBLE API Key, and for the Name field write
Authorization:- Name: Authorization
- Value: Bearer ak_XXXXXXXXXXXXXXXX
- Save and reselect the credential in both nodes.
7. Test, Then Activate
- Click Execute Workflow (manual run).
- Add a simple row in your Source Sheet (Sheets or Airtable). For example, to test Page SEO:
Page Name: Home
Page URL: / (or home)
Meta Title: Welcome to Example Co
Meta Description: AI-first websites, SEO, and automation
- Check MOBLE → Pages for updated SEO on the matching page.
- Check MOBLE-SEO-Sync-Log → Sync Log for action: create or update, status: success.
- Once verified, toggle the workflow to Active for live syncing.
SOURCE SHEET COLUMNS (EXACT HEADERS)
- Page Name — The display name of the page (maps to page_name). Required for Page SEO rows.
- Page URL — Unique slug for page_url (e.g., about-us). Leave blank to auto-generate from Page Name.
- File Name — Optional file name associated with the page (file_name).
- File URL — Optional file URL associated with the page or asset (file_url). Required for File SEO rows.
- File Alt Text — Image alt text (file_alt_text).
- File AI Instructions — Guidance for AI on how to use the file (file_ai_instructions).
- AI Instructions — Specific instructions for the Chatbot (SEO usage) (ai_instructions).
- Meta Title — HTML title tag (title).
- Meta Description — SEO description (meta_description).
- Meta Keywords — Comma-separated keywords (meta_keywords).
- Meta Tags — Raw HTML/script tags (including schema) (meta_tags).
REPORT: SYNC LOG (GOOGLE SHEETS)
- timestamp — When the sync ran.
- page_url — Slug that was created/updated.
- page_name — Page Name processed for this run (or related to file, if applicable).
- action — create, update, or validation.
- status — success or error.
- details — Short result note (e.g., “SEO updated”).
- error_message — Why it failed (if any).
- http_status — API code (e.g., 201, 200, 409) or 0 for validation errors.
TROUBLESHOOTING
- Nothing syncing: Ensure the workflow is Active and only one source trigger is enabled.
- 401/403: MOBLE API key missing/invalid. Header must be Authorization: Bearer ak_XXXXXXXX on both SEO API nodes (Page and File).
- Router issues: Ensure your rows have either Page Name/Page URL (for Page SEO) or File URL (for File SEO). Rows with neither will be treated as validation errors.
- No Sync Log: Confirm the Google Sheet credential and names: MOBLE-SEO-Sync-Log / Sync Log.
- Validation errors: Ensure Page Name is filled for page SEO rows, or File URL is filled for file SEO rows; Page URL may be left blank to auto-generate.
SECURITY: Restrict n8n access to trusted staff. Rotate API keys quarterly.