Freshservice Data Source
Overview
The Freshservice connector provides powerful data ingestion capabilities for IT service management, ticket tracking, and support operations. You can choose from pre-configured endpoint templates for common use cases or manually configure custom endpoints for specific data requirements.
Prerequisites
Before creating a Freshservice data source, ensure you have:
- A configured Freshservice credential (see Freshservice Authorization)
- Access to the Freshservice data you want to ingest
- Understanding of Freshservice's data structure and API endpoints
For complete information about Freshservice's API capabilities, see the official Freshservice API documentation.
Endpoint Templates
The following pre-configured endpoint templates are available for common Freshservice data ingestion scenarios:
- Get All Tickets: Retrieve all service desk tickets with automatic pagination
- Get All Requesters: Retrieve all requester information with automatic pagination
Get All Tickets
Get All Requesters
Manual Configuration
If the pre-configured templates don't meet your needs, you can manually configure custom Freshservice API endpoints.
API Method
Select the HTTP method for your API request:
- GET: For retrieving data (most common for Freshservice API)
- POST: For creating or updating resources
API Endpoint URL
Configure the complete Freshservice API endpoint URL:
- Base URL: Use your Freshservice portal URL from your credential (e.g.,
https://yourcompany.freshservice.com) - API Path: Specify the Freshservice API resource you want to access (e.g.,
api/v2/tickets,api/v2/requesters) - Query Parameters: Add any required or optional query parameters
Example URLs:
https://yourcompany.freshservice.com/api/v2/tickets- Retrieve all ticketshttps://yourcompany.freshservice.com/api/v2/requesters- Retrieve all requestershttps://yourcompany.freshservice.com/api/v2/assets- Retrieve all assets
Date/Time Macros
Use dynamic datetime placeholders for flexible endpoint configuration:
${start.cron}: Current execution time in cron format${start.iso}: Current execution time in ISO 8600 format${start.unix}: Current execution time as Unix timestamp
Example with date filtering:
https://yourcompany.freshservice.com/api/v2/tickets?updated_since=${start.unix}
Lookup-Based Macros
Reference data from other Nexla sources for dynamic endpoint configuration:
${lookup.source_name.field_name}: Access specific fields from other data sources${lookup.source_name.field_name[*]}: Access array elements from lookup sources
Path to Data
Specify which part of the Freshservice API response contains the relevant data:
- JSON Path: Use dot notation for nested data access
$.tickets[*]- All tickets in the response$.requesters[*]- All requesters in the response$.assets[*]- All assets in the response
Metadata
Preserve contextual information from Freshservice API responses:
$.meta: Pagination and metadata information$.links: Related resource links$.total: Total number of items available
Request Headers
Configure additional HTTP headers for API customization:
- Authorization: Automatically handled by Nexla using your Freshservice credential
- Content-Type: Usually
application/jsonfor Freshservice API - Accept: Specify response format (e.g.,
application/json)
Example headers:
Content-Type: application/json
Accept: application/json
Testing Your Configuration
After configuring your Freshservice data source:
- Test Connection: Verify that Nexla can successfully connect to Freshservice
- Preview Data: Review a sample of the data that will be ingested
- Validate Schema: Ensure the data structure matches your expectations
- Check Rate Limits: Monitor Freshservice's rate limiting to avoid API throttling
Freshservice has rate limits that vary by endpoint and account type. Monitor your API usage in the Freshservice portal to ensure you stay within limits.
Always test your Freshservice data source with appropriate permissions. Ensure your credential has access to the specific Freshservice resources you're trying to retrieve.