When to Use
Use API Call fields for:- Credit score checks
- Company data verification (registration, VAT validation)
- Address validation and geocoding
- Bank account verification (IBAN validation)
- Identity verification
- Exchange rate lookups
- Tax ID validation
- Property data lookups
- Vehicle registration lookups
- API-based enrichment services
- Use Text, Number, or other fields for manual data entry
- Use integrations for bidirectional sync with external systems
- Use webhooks for pushing data to external systems
Configuration Options
| Option | Description | Type | Default | Example |
|---|---|---|---|---|
key | Unique identifier | String | Required | credit_score |
name | Display label | String | Required | ”Credit Score” |
description | Help text for users | String | Optional | ”Fetched from credit bureau” |
api_config | API configuration object | Object | Required | See below |
trigger | When to execute API call | String | on_create | on_update, manual |
retry | Number of retry attempts | Number | 3 | 5 |
timeout | Request timeout (ms) | Number | 30000 | 10000 |
cache_duration | Cache response (seconds) | Number | 0 | 3600 |
visibility | Display setting | String | always-visible | hide-when-empty |
section | Section this field belongs to | String | None | Section UUID |
API Configuration Object
| Property | Description | Type | Required | Example |
|---|---|---|---|---|
url | API endpoint URL | String | Yes | https://api.example.com/credit |
method | HTTP method | String | Yes | GET, POST |
headers | Request headers | Object | No | {"Authorization": "Bearer {token}"} |
params | Query parameters | Object | No | {"vat": "{data.vat_number}"} |
body | Request body (for POST/PUT) | Object | No | {"customer_id": "{data.customer_id}"} |
auth | Authentication config | Object | No | See below |
response_mapping | How to map response to case data | Object | Yes | See below |
Authentication
| Type | Configuration | Example |
|---|---|---|
| Bearer Token | {"type": "bearer", "token": "{secret.api_token}"} | API key auth |
| Basic Auth | {"type": "basic", "username": "user", "password": "{secret.password}"} | Username/password |
| API Key Header | {"type": "header", "key": "X-API-Key", "value": "{secret.api_key}"} | Custom header |
Examples
Credit Score Lookup
Fetch credit score from external bureau:VAT Number Validation
Validate European VAT number:Company Data Enrichment
Fetch company details from registry:Address Geocoding
Convert address to coordinates:Trigger Types
Control when the API call executes:| Trigger | When It Runs | Use Case |
|---|---|---|
on_create | When case is created | Initial data enrichment |
on_update | When specified fields change | Validate updated data |
manual | When user/member clicks button | User-initiated checks |
scheduled | On specified schedule | Regular updates |
Response Mapping
Map API response to case data fields: Simple mapping:Error Handling
API Call fields handle errors gracefully:Retry Logic
- Automatically retries on timeout or 5xx errors
- Configurable retry count with exponential backoff
- Failed requests don’t block case workflow
Timeout
- Default: 30 seconds
- Configurable with
timeoutoption - Prevents hanging on slow APIs
Error Storage
- Error messages stored in field metadata
- Visible to case managers
- Can trigger automations or alerts
Caching
Cache API responses to reduce calls: No caching (default):- Static data (company info, address validation)
- Rate-limited APIs
- Expensive API calls
- Real-time data (exchange rates, stock prices)
- Frequently changing data
- Time-sensitive information
Security Considerations
Store Secrets Securely
- Never hardcode API keys in configuration
- Use
{secret.key_name}syntax for credentials - Store secrets in workspace secrets management
- Rotate secrets regularly
Validate Responses
- Validate API response structure
- Handle missing or malformed data
- Set appropriate timeouts
- Implement retry limits
Rate Limiting
- Respect API provider rate limits
- Use caching to reduce calls
- Implement backoff strategies
- Monitor API usage
Data Privacy
- Only fetch necessary data
- Be aware of GDPR implications when fetching personal data
- Document what external APIs you use
- Review third-party data processing agreements
Best Practices
Use for enrichment, not critical data:- Don’t rely solely on API calls for essential data
- Provide fallback for API failures
- Allow manual override when API unavailable
on_createfor initial enrichmenton_updatefor validation after user inputmanualfor expensive or optional checks- Don’t trigger unnecessarily (costs, rate limits)
- Extract all useful data from response
- Store metadata (timestamps, validation status)
- Handle nested and array responses
- Transform data as needed
- Show user-friendly error messages
- Log technical details for debugging
- Don’t block workflow on API failure
- Provide manual data entry alternative
- Cache stable data (company info, validation results)
- Don’t cache changing data (prices, availability)
- Set reasonable cache durations
- Clear cache when underlying data changes
- Track call volume and success rate
- Monitor response times
- Watch for rate limit warnings
- Budget for API costs
- List all APIs used
- Document authentication requirements
- Note rate limits and costs
- Maintain fallback procedures
Related Field Types
Text
Use for manual data entry
Number
Store numeric API responses
Automations
Trigger workflows based on API responses
Data Schema Overview
Back to Data Schema overview