Documentation Hub

Automation

Scheduled sync, webhooks, and automatic feed updates

Automation

Automate feed generation and updates to keep your Google Merchant Center data always current.


Overview

Max AI: Google Feed Ascend provides multiple automation options:

FeatureDescription
Scheduled SyncDaily automatic feed regeneration
Webhook UpdatesReal-time updates on product changes
NotificationsAlerts for sync status and errors

Scheduled Sync

Configuration

Configure automatic feed updates in Settings > Feed Settings:

SettingDefaultDescription
Auto Update EnabledfalseEnable/disable scheduled sync
Update Time02:00 UTCDaily sync time (HH:MM format)
TimezoneUTCDisplay timezone reference

How It Works

  1. Scheduler Check: Every minute, the system checks for shops needing sync
  2. Time Matching: Compares current UTC time with configured update time
  3. Batch Processing: Up to 5 shops processed concurrently
  4. Feed Generation: Each active feed is regenerated

Time Matching Logic

  • Times are stored in UTC
  • 1-minute window for execution (prevents duplicate runs)
  • Timezone setting is for display reference only

Best Practices

  • Schedule during low-traffic hours (e.g., 2-4 AM)
  • Consider Google's crawl schedule
  • Allow time for processing large catalogs

Webhook Updates

Product Change Detection

The app automatically receives Shopify webhooks for:

EventTrigger
products/createNew product added
products/updateProduct modified
products/deleteProduct removed

Processing Flow

Shopify Webhook → Queue Manager → Product Webhook Queue → Feed Update

How It Works

  1. Webhook Received: Shopify sends product change event
  2. Queue Added: Event added to processing queue (high priority)
  3. Background Processing: Worker processes the change
  4. Feed Update: Affected feeds marked for update

Configuration

Webhooks are automatically registered when you install the app. No manual configuration needed.

Queue Settings

SettingValue
Queue Nameproduct-webhook
PriorityHIGH
RetryExponential backoff
Timeout30 seconds

Notifications

Notification Types

TypeDescription
Feed GeneratedFeed successfully regenerated
Sync CompleteAll feeds synced
Error AlertGeneration or sync failure
Credit WarningLow AI credits

Configuration

Enable/disable notifications in Settings > General:

  • Notifications Enabled: Toggle all notifications
  • Per-type toggles coming soon

Automation Architecture

Components

┌─────────────────────────────────────────────────────────────┐
│                    Automation System                         │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Scheduler (feed-auto-sync-scheduler.server.ts)             │
│  ├─ Runs every minute                                       │
│  ├─ Checks update times                                     │
│  └─ Triggers shop syncs                                     │
│                                                              │
│  Queue System (BullMQ + Redis)                              │
│  ├─ product-webhook queue                                   │
│  ├─ feed-generation queue                                   │
│  └─ feed-generation-ai queue                                │
│                                                              │
│  Workers                                                     │
│  ├─ Product Webhook Worker                                  │
│  ├─ Feed Generation Worker                                  │
│  └─ AI Generation Worker                                    │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Concurrency Limits

ResourceLimit
Concurrent Shops5
Concurrent Jobs per Queue2
Processing Timeout30 seconds

Manual Triggers

Dashboard Update

Click "Update" button on any feed to trigger immediate regeneration.

API Trigger

Use the API to programmatically trigger updates:

POST /api/feeds/generate
{
  "feedId": "feed_123",
  "forceRegenerate": true
}

Monitoring

Sync Status

View sync status on the dashboard:

StatusDescription
idleNo sync in progress
syncingSync in progress
failedLast sync failed

Job History

Check generation history:

  1. Navigate to Feed Details
  2. View Recent Jobs section
  3. See status, duration, and errors

Logs

Detailed logs available in:

  • Feed generation logs
  • Webhook processing logs
  • Error logs

Troubleshooting

Scheduled Sync Not Running

IssueSolution
Not enabledEnable in Feed Settings
Wrong timeCheck update time setting
Server issueContact support

Webhooks Not Processing

IssueSolution
Not registeredReinstall app to register webhooks
Queue stuckCheck Redis connection
Processing errorsCheck error logs

Slow Processing

IssueSolution
Large catalogConsider batch processing
High concurrencyReduce concurrent jobs
AI enabledDisable AI for faster sync

Best Practices

1. Balance Frequency and Resources

  • Daily sync is sufficient for most stores
  • Real-time webhooks handle urgent updates
  • Avoid over-scheduling

2. Monitor Performance

  • Check sync duration regularly
  • Watch for failed jobs
  • Review error logs

3. Plan for Peak Times

  • Schedule syncs during low-traffic periods
  • Consider timezone differences
  • Account for Google processing time

4. Use Webhooks for Urgency

  • Webhooks provide real-time updates
  • Combine with scheduled sync for reliability
  • Monitor webhook queue health

On this page