Skip to main content

Insightly Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to an Insightly location.
insightly_api_destination.png

Insightly

Create an Insightly Destination

  1. Click the + icon on the Nexset that will be sent to the Insightly destination, and select the Send to Destination option from the menu.

  2. Select the Insightly connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Insightly organization, and click Next; or, create a new Insightly credential for use in this flow.

  3. In Nexla, Insightly destinations can be created using pre-built endpoint templates, which expedite destination setup for common Insightly endpoints. Each template is designed specifically for the corresponding Insightly endpoint, making destination setup easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Insightly destinations can also be configured manually, allowing you to send data to any valid Insightly API endpoint — including creating and updating contacts, leads, opportunities, organizations, projects, tasks, and events.
    • 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 Insightly endpoints. Each template is designed specifically for the corresponding Insightly 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.

    Create Contact

    Creates a new contact record in Insightly. Use this endpoint to write new contact data — including custom fields — from any Nexla Nexset into your Insightly CRM.

    • Issues a POST request to /v3.1/Contacts. The request body is a JSON object containing contact fields and any custom field values.
    • After a successful create, Insightly returns the full contact record including the system-assigned CONTACT_ID. Use the Response Webhook option to capture this ID in a downstream Nexset.

    Ensure that the field names in your Nexset match the Insightly API field names (e.g., FIRST_NAME, LAST_NAME, EMAIL_ADDRESS). Use the Exclude Attributes option to omit any Nexset fields not accepted by this endpoint.

    Create Opportunity

    Creates a new opportunity (deal) record in Insightly. Use this endpoint to write deal data — including custom fields — from a Nexset into your Insightly sales pipeline.

    • Issues a POST request to /v3.1/Opportunities. The request body is a JSON object containing opportunity fields and any custom field values.
    • After a successful create, Insightly returns the full opportunity record including the system-assigned OPPORTUNITY_ID. Use the Response Webhook option to capture this ID downstream.

    Required fields for creating an opportunity include OPPORTUNITY_NAME. Ensure your Nexset includes this field and that its name matches the Insightly API field name exactly.

    Update Contact

    Updates an existing contact record by ID. Use this endpoint to propagate changes to contact data from an external system back into Insightly.

    • Issues a PUT request to /v3.1/Contacts/{id}. The contact's integer CONTACT_ID must be available in your Nexset.
    • Configure the Contact ID parameter to specify which field in the Nexset contains the Insightly contact ID to be updated.

    PUT requests replace the full contact record. Ensure your Nexset contains all required fields for the contact, not just the fields being updated, to avoid overwriting existing data with empty values.

    Delete Contact

    Deletes an existing contact record by ID. Use this endpoint to remove outdated or duplicate contact records from Insightly based on IDs flowing through a Nexset.

    • Issues a DELETE request to /v3.1/Contacts/{id}. The contact's integer CONTACT_ID must be available in your Nexset.
    • Configure the Contact ID parameter to specify which field in the Nexset contains the Insightly contact ID to be deleted.

    Contact deletion in Insightly is permanent and cannot be undone. Verify that the correct contact IDs are flowing through your Nexset before activating this destination.

    Update Opportunity

    Updates an existing opportunity record by ID. Use this endpoint to sync opportunity stage changes, value updates, or close date modifications from external systems back into Insightly.

    • Issues a PUT request to /v3.1/Opportunities/{id}. The opportunity's integer OPPORTUNITY_ID must be available in your Nexset.
    • Configure the Opportunity ID parameter to specify which field in the Nexset contains the Insightly opportunity ID to be updated.

    PUT requests replace the full opportunity record. Ensure your Nexset contains all required opportunity fields to avoid overwriting existing data with empty values during the update.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can send a test payload to the Insightly API to ensure that the destination is configured correctly.

  1. 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.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Insightly API using the current settings.

Configure Manually

Insightly destinations can be manually configured to send data to any valid Insightly API endpoint. Using manual configuration, you can create new CRM records, update existing records, or upsert records based on unique field values. You can also configure Nexla to automatically capture the response received from the Insightly API after each call in a new Nexla webhook data source — useful for tracking the outcome of each write operation.

The Insightly REST API v3.1 supports the following write operations:

  • POST: Create a new record (for example, POST /Contacts to create a new contact).
  • PUT: Update an existing record by replacing all fields (for example, PUT /Contacts/123456 to update a contact with a known ID).
  • PATCH: Partially update an existing record (for example, PATCH /Contacts/123456 to update only specific fields of a contact).
  • DELETE: Remove an existing record by ID.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Insightly API from the Method pulldown menu.

    • POST: Use this method to create new CRM records in Insightly. Send the record data as a JSON object in the request body.
    • PUT: Use this method to fully update an existing record. Include the record ID in the endpoint URL and provide the complete updated record in the request body.
    • PATCH: Use this method to partially update an existing record. Include the record ID in the endpoint URL and provide only the fields to be updated in the request body.
    • DELETE: Use this method to delete a record. Include the record ID in the endpoint URL; no request body is needed.

Data Format

  1. Select JSON from the Content Format pulldown menu. The Insightly API v3.1 accepts and returns data exclusively in JSON format. Nexla will automatically convert the Nexset data to JSON for each API call.

API Endpoint URL

  1. Enter the URL of the Insightly API endpoint to which you want to send the Nexset data in the URL field. This should be the complete URL including the protocol (https://) and the correct pod subdomain for your Insightly account.

    The Insightly API base URL follows the format https://api.{pod}.insightly.com/v3.1, where {pod} is your account's regional pod identifier. Common endpoint URLs for write operations include:

    • https://api.na1.insightly.com/v3.1/Contacts — create a new contact (POST)
    • https://api.na1.insightly.com/v3.1/Contacts/123456 — update or delete a contact by ID (PUT, PATCH, DELETE)
    • https://api.na1.insightly.com/v3.1/Leads — create a new lead (POST)
    • https://api.na1.insightly.com/v3.1/Opportunities — create a new opportunity (POST)
    • https://api.na1.insightly.com/v3.1/Organisations — create a new organization (POST)
    • https://api.na1.insightly.com/v3.1/Projects — create a new project (POST)
    • https://api.na1.insightly.com/v3.1/Tasks — create a new task (POST)

    For update or delete operations, include the integer record ID at the end of the URL. For example, to update a specific contact whose ID is 987654, the URL would be https://api.na1.insightly.com/v3.1/Contacts/987654.

    Replace na1 in the example URLs with your own pod identifier. Your pod URL is displayed in User Settings > API section in your Insightly account. For the complete list of available endpoints and their required request body formats, refer to the Insightly API v3.1 documentation.

Request Headers

Optional
  • 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 Authorization header or Content-Type: application/json header — Nexla adds these automatically based on your credential and the selected data format.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Insightly destination, select the attributes from the Exclude Attributes pulldown menu. This is useful when the Nexset contains fields that are not valid Insightly API fields, or when you want to prevent certain fields from being written to Insightly.

  • 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

Optional
  1. 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.

  2. 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.

  3. 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.

The Insightly API v3.1 does not natively support bulk create or update operations for most endpoints — each record is typically sent as an individual API request. If you enable record batching, ensure that the target Insightly endpoint supports batch operations, or use the Property Inside JSON Object batching algorithm to wrap records in a format compatible with any Insightly bulk endpoints available for your plan.

Response Webhook

Optional

Nexla can automatically send the response received from the Insightly 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, capture Insightly-assigned record IDs for newly created records, and handle any error messages returned by the API.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Insightly 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 (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Insightly API to ensure that the destination is configured correctly.

  1. 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.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Insightly 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 begin sending data to Insightly, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to Insightly until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.