Our Salesforce Data Action is timing out consistently at the 10-second mark for large account lookups.
Small accounts (< 50 cases) return in 3 seconds. Enterprise accounts (500+ cases) take 12-15 seconds. The 10-second hard limit kills the request. Is there ANY way to extend this?
The 10-second Data Action timeout is not configurable. Your options are:
- Optimize the Apex query: Add SOQL filters, limit returned fields, paginate results
- Pre-cache: Build a nightly sync job that caches enterprise account summaries in a fast-read store
- Async pattern: Have the Data Action trigger the query, return immediately, and poll for results with a second Data Action
Option 2 is the most reliable for consistently large datasets.
We implemented a Redis cache layer between GC and Salesforce.
# Pre-warm cache nightly
for account in enterprise_accounts:
summary = sfdc_api.get_account_summary(account.id)
redis.setex(f'account:{account.id}', 86400, json.dumps(summary))
# Data Action hits cache (< 50ms)
@app.get('/api/account/{id}')
def get_account(id):
cached = redis.get(f'account:{id}')
return json.loads(cached) if cached else sfdc_api.get_account_summary(id)
Data Action response time dropped from 12s to 40ms.