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