FreeAgent Destination

FreeAgent
-
Click the + icon on the Nexset that will be sent to the FreeAgent destination, and select the Send to Destination option from the menu.
-
Select the FreeAgent connector from the list of available destination connectors. Then, select the credential that will be used to connect to the FreeAgent organization, and click Next; or, create a new FreeAgent credential for use in this flow.
-
In Nexla, FreeAgent destinations can be created using pre-built endpoint templates, which expedite destination setup for common FreeAgent endpoints. Each template is designed specifically for the corresponding FreeAgent endpoint, making data destination setup easy and efficient.
• To configure this destination using a template, follow the instructions in Configure Using a Template.FreeAgent destinations can also be configured manually, allowing you to send data to FreeAgent endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
• To configure this destination manually, follow the instructions in Configure Manually.
Configure Using a Template
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common FreeAgent endpoints. Each template is designed specifically for the corresponding FreeAgent endpoint, making destination setup easy and efficient.
Endpoint Settings
-
Select the endpoint to which this destination will send data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your destination for this endpoint.
Endpoint Testing
Once the selected endpoint template has been configured, Nexla can send a test payload to the FreeAgent API to verify the destination is configured correctly before activating.
-
To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.
-
If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.
-
Click the Send Test Data button at the top of a sample payload to send the test payload to the FreeAgent API using the current settings.
Configure Manually
FreeAgent destinations can also be configured manually, allowing you to send data to any valid FreeAgent API endpoint. You can also configure Nexla to automatically send the response received from the FreeAgent API after each call to a new Nexla webhook data source.
First, select the API method that will be used for calls to the FreeAgent API from the Method pulldown menu.
Common HTTP methods used when writing data to the FreeAgent API include:
- POST: For creating new resources (e.g., creating a new contact, invoice, expense, or bill)
- PUT: For replacing an existing resource in full (e.g., updating all fields of an existing contact or invoice)
- PATCH: For partial updates to an existing resource (e.g., updating only specific fields of an existing invoice)
- DELETE: For removing a resource
The FreeAgent API base URL for production is https://api.freeagent.com/v2. Most write operations use POST for creation and PUT for updates. For example, creating a new contact uses POST https://api.freeagent.com/v2/contacts, while updating an existing contact uses PUT https://api.freeagent.com/v2/contacts/{id}. Refer to the FreeAgent API documentation for the exact HTTP method and URL path for each resource.
Data Format
-
Select the format in which the Nexset data will be sent to the FreeAgent API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call.
The FreeAgent API accepts data in JSON format. Select JSON as the content format to ensure compatibility with the FreeAgent API's expected request body structure.
API Endpoint URL
-
Enter the URL of the FreeAgent API endpoint to which you want to send the Nexset data in the URL field. For update/upsert operations, include the ID of the object to be updated at the end of the URL.
Common FreeAgent API endpoint URL patterns for write operations include:
- Create Contact:
https://api.freeagent.com/v2/contacts - Update Contact:
https://api.freeagent.com/v2/contacts/{id} - Create Invoice:
https://api.freeagent.com/v2/invoices - Create Bill:
https://api.freeagent.com/v2/bills - Create Expense:
https://api.freeagent.com/v2/expenses - Create Timeslip:
https://api.freeagent.com/v2/timeslips - Create Project:
https://api.freeagent.com/v2/projects - Create Bank Transaction:
https://api.freeagent.com/v2/bank_transactions
For resource-specific update operations, you must include the FreeAgent resource ID or URL at the end of the endpoint path (e.g.,
https://api.freeagent.com/v2/contacts/12345). The FreeAgent API also accepts resource URLs as identifiers in some contexts — for example, a contact's URL (https://api.freeagent.com/v2/contacts/12345) can be used as a reference field when creating related resources such as invoices. For complete details on resource structures and required fields, refer to the FreeAgent API reference. - Create Contact:
Request Headers
-
If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g.,
header1:value1,header2:value2).You do not need to include the OAuth
Authorizationheader — this is handled automatically by Nexla using the FreeAgent credential. The FreeAgent API expects JSON request bodies for write operations; theContent-Type: application/jsonheader is typically set automatically based on your selected Content Format.
Exclude Attributes from the Call
-
If any record attributes in the Nexset should be omitted when sending data to this FreeAgent destination, select the attributes from the Exclude Attributes pulldown menu.
-
Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.
Record Batching
-
If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.
-
Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to
100. -
Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings. Some algorithms require additional settings — click on an algorithm listed below to view instructions for configuring these settings.
Most FreeAgent API write endpoints operate on individual resources (one record per API call). Record batching is most applicable when using a custom endpoint or a FreeAgent API endpoint that supports bulk operations. For standard FreeAgent resource endpoints, sending one record per call (the default) is recommended for compatibility.
Response Webhook
Nexla can automatically send the response received from the FreeAgent API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call.
-
To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.
Enabling the Response Webhook is useful for capturing FreeAgent API responses that include the newly created resource — for example, after creating an invoice via
POST /v2/invoices, FreeAgent returns the full invoice object including the system-assigned resource URL and ID. Capturing these responses allows you to use the new resource identifiers in downstream flows.
Sample Request Payload
Sample request payloads containing a portion of the Nexset data that will be sent to the FreeAgent API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.
-
Click on a sample request payload to expand it and view the complete payload content.
-
Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.
Endpoint Testing
After all endpoint settings have been configured, Nexla can send a test payload to the FreeAgent API to ensure that the destination is configured correctly.
-
To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.
-
If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.
-
Click the Send Test Data button at the top of a sample payload to send the test payload to the FreeAgent API using the current settings.
Save & Activate the Destination
-
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured FreeAgent endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to FreeAgent until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.