See Agility CMS in action. Watch a product demo
Admin Troubleshooting
This guide covers common administrative issues and how to resolve them.
Common Issues
Issue: Component Not Appearing
Symptoms:
- Component not showing on page
- Component name not found error
Solutions:
- Check component name matches frontend registration (case-insensitive)
- Verify component is saved and published
- Check user permissions (Designer role needed for component management)
- Verify component is registered in frontend code
Issue: Content Not Loading
Symptoms:
- Content not appearing in application
- API returns 404 or empty results
Solutions:
- Verify API keys are correct
- Check content is published (not just saved as draft)
- Verify locale matches content locale
- Check content model exists and is configured correctly
- Verify reference names are correct
Issue: Permission Denied
Symptoms:
- User cannot access content or features
- Permission errors in interface
Solutions:
- Check user's assigned role (Reader, Contributor, Editor, etc.)
- Verify item-level permissions for specific content models
- Check if user has appropriate permission (Read, Edit, Publish, etc.) for the action
- Ensure user has "Contribute" permission if trying to edit their own content
- Verify "Design/Develop" permission if accessing designer-only fields
Issue: API Errors
Symptoms:
- API calls failing
- 401 Unauthorized errors
- 404 Not Found errors
Solutions:
- Verify API keys are valid
- Check network connectivity
- Review API rate limits
- Check webhook configuration
- Verify instance GUID is correct
Issue: Cache Not Invalidating
Symptoms:
- Content not updating after publish
- Stale content appearing
Solutions:
- Verify webhook is configured correctly
- Open the webhook's History to see whether the delivery was attempted and what your endpoint returned
- Verify cache tags are correct
- Check that your handler returns a 2xx quickly — the delivery timeout is 30 seconds, so a slow endpoint reads as a failed one
- Manually revalidate cache if needed
Issue: Preview Not Working
Symptoms:
- Preview mode not showing draft content
- Preview key errors
Solutions:
- Verify preview API key is set
- Check preview endpoint is accessible
- Verify draft mode is enabled
- Check preview key validation
- Ensure preview key hasn't been regenerated
User Management Issues
Issue: User Cannot Access Instance
Solutions:
- Check user role is not "None"
- Verify user is active
- Check user email is correct
- Verify user has been invited
Issue: User Has Wrong Permissions
Solutions:
- Review user's assigned role
- Check item-level permissions
- Verify role permissions match user's needs
- Update role assignment if needed
Content Model Issues
Issue: Content Model Not Saving
Solutions:
- Check required fields are filled
- Verify field names are valid
- Check for validation errors
- Ensure user has Designer permission
Issue: Content Model Changes Not Appearing
Solutions:
- Verify changes are saved
- Check if content model is published
- Clear cache if needed
- Verify frontend code matches model structure
Component Model Issues
Issue: Component Not Matching Frontend
Solutions:
- Verify component name matches frontend registration (case-insensitive)
- Check field names match TypeScript interfaces
- Ensure component is registered in frontend
- Coordinate with developers on component registration
API Key Issues
Issue: Invalid API Key
Solutions:
- Verify key is correct (no typos or extra spaces)
- Check correct key type (fetch vs preview)
- Ensure key hasn't been regenerated
- Update environment variables if key was regenerated
Issue: API Key Exposed
Solutions:
- Regenerate compromised key immediately
- Update all applications using the key
- Review access logs for unauthorized usage
- Update environment variables
Webhook Issues
Start with Delivery History
Every webhook has a History action in Settings → Webhooks. It lists each delivery attempt with the HTTP status your endpoint returned, which attempt it was, when the next retry is due, and the payload and response bodies. Check it before anything else — it usually answers the question outright.
Delivery history is go-forward only. A webhook created before this feature shipped shows an empty history until it fires again. That is expected, not a fault.
Issue: Webhook Not Firing
Solutions:
- Verify webhook URL is correct and publicly accessible
- Check webhook is enabled
- Verify the right event categories are selected
- Open History to see whether Agility attempted a delivery and what came back
- Test webhook endpoint manually
Issue: Deliveries Failing or Being Retried
Solutions:
- Check the response code and error in History — success is any 2xx; anything else is a failure
- Redirects count as failures. Agility does not follow them — point the webhook at its final URL
- The delivery timeout is 30 seconds. Acknowledge with a 2xx immediately and do the real work in the background
- Enable retries on the webhook if a transient failure should be attempted again
Issue: Signature Verification Failing
⚠️ There is no webhook "security key." Agility does not send
AGILITY_SECURITY_KEY, anx-agility-security-keyheader, or any other shared secret with a webhook — that key is used for preview authentication and is unrelated. Earlier guidance here described a validation check that could never succeed, because the header it looked for was never sent. Use secure delivery instead.
Solutions:
- Confirm Enable secure delivery is switched on for that webhook
- Verify against the raw request body — a JSON body parser that re-serializes the payload will break the signature
- Accept any matching signature in the header — two space-separated signatures are sent during the 24 hours after a secret roll
- Confirm your stored secret matches the one on the webhook; roll it if in doubt
- See Verifying Signed Webhooks for the header format and verification samples
Issue: The Same Event Arrives Twice
Delivery is at-least-once by design. Use the webhook-id header as an idempotency key — it is unique per event, stable across retries, and sent on every delivery whether signed or not.
Best Practices for Troubleshooting
- Check Logs: Review error logs and a webhook's delivery History
- Verify Configuration: Double-check all configurations
- Test Incrementally: Test changes one at a time
- Document Issues: Document problems and solutions
- Coordinate with Team: Work with developers and content editors