Skip to main content
All CollectionsThird Party IntegrationsNimble API Access
Connect Nimble to External Services with Make.com
Connect Nimble to External Services with Make.com
Ionia avatar
Written by Ionia
Updated over a week ago

Make.com is a powerful integration platform connecting Nimble CRM with various third-party apps and websites. Nimble is a smart CRM that helps you manage relationships, automate workflows, and streamline communication.

You can leverage Make.com to automate processes, enhance productivity, and create seamless workflows across multiple platforms by generating an API key in Nimble. Whether you want to sync contacts, trigger actions, or update data, Make.com makes it easy to connect Nimble to the tools you use daily.

While this integration offers various possibilities, we’ll focus on a common workflow in this article:

  1. Setting up a webhook to receive data from a service such as a lead generation tool or a customer feedback platform.

  2. Use the webhook data to search for existing contacts in Nimble.

  3. Based on the search results:

    • If the contact is found: Update the existing contact with new information.

    • If the contact is not found: Create a new contact entry in Nimble

Tools You'll Need:

  1. Nimble API Documentation: Nimble API Docs

  2. JSON Formatter: Use a tool like jsonformatter to format and validate your JSON data.

  3. Webhook Testing Tool: A tool to test and troubleshoot your webhook integration

Step 1: Generate an API key in Nimble

  1. Log in to Nimble: Access your Nimble CRM account

  2. Navigate to API Settings: Go to "Settings" >> API and generate a new API key

  3. Copy the API Key: You'll need this to authenticate requests from Make.com

Step 2: Create a New Scenario

  1. Log in to Make.com: Start by logging into your Make.com account

  2. Create New Scenario: Click on the "Create a new scenario" button on your dashboard

Step 3: Add the Webhook Module

  1. Search for Webhooks: In the scenario editor, search for the "Webhooks" module in the module library.

  2. Select "Custom Webhook": Choose the "Custom Webhook" trigger option.

  3. Create a Webhook: Click on "Add," and Make.com will generate a unique webhook URL for you.

Copy the Webhook URL: Copy this URL, as you will need to use it in the service or application that will be sending data to this webhook.

Step 4: Add the HTTP: Make a Request Module

Using the HTTP module allows you to connect to any REST API. View our API documentation here: Nimble API Access

  1. Search for HTTP Module: In the scenario editor, search for the "HTTP" module in the module library.

  2. Select "Make a Request": Choose the "Make a Request" action.

  3. Configure the HTTP Request:

    • Method: Choose the HTTP method (GET, POST, PUT, DELETE, etc.).

    • URL: Enter the API endpoint or URL where the request should be sent.

    • Headers: Add any required headers, such as `Authorization` or `Content-Type`

      • This is where you'll add the API token mentioned in Step 1. Under "Value" add "Bearer" then the API token.

    • Query Parameters: Add any required query parameters.

      • Under Name add "query" lowercase

      • Under Value - This is where you'll add your JSON with an advanced search query

    • Request Body: If you're using POST or PUT, specify the body of the request, which could include data received from the webhook.

Search for Contacts

  • Search for HTTP Module: In the scenario editor on Make.com, find the "HTTP" module in the module library.

  • Select "Make a Request": Choose the "Make a Request" action to initiate the search.

  • Configure the HTTP Request:

    • Method: Select the appropriate HTTP method (typically GET for searching).

    • URL: Input the Nimble API endpoint URL for searching contacts.

    • Headers: Add any necessary headers, such as Authorization with "Bearer" followed by the Nimble API token.

    • Query Parameters: Add lowercase "query" as the Name, and under Value, insert the JSON containing your advanced search criteria, such as:

      {
      "and": [
      {
      "linkedin": {
      "is": "{{3.linkedin}}"
      }
      },
      {
      "record type": {
      "is": "person"
      }
      }
      ]
      }
  • Send the Request: This request will query Nimble for any contacts matching the criteria specified in your JSON.

Verify the Search Results: Check the response to see if the contact information was retrieved successfully from Nimble.

Edit an Existing Contact

  • Setup HTTP Request:

    • Method: Choose PUT as the HTTP method.

    • URL: Enter the Nimble API endpoint for updating contacts.

    • Headers: Add required headers, including Authorization with "Bearer" followed by the Nimble API token.

  • Prepare Your JSON:

    • Include the contact ID and any fields you want to update. For example:

      {
      "fields": {
      "first name": [
      {
      "value": "{{3.first_name}}"
      }
      ],
      "linkedin": [
      {
      "value": "{{3.linkedin}}"
      }
      ],
      "last name": [
      {
      "value": "{{3.last_name}}"
      }
      ]
      },
      "record_type": "person"
      }

  • Send the Request: POST this JSON to the Nimble API endpoint using Make.com.

  • Verify the Update: Check the response to ensure the contact was successfully updated.

Create a New Contact

  • Setup HTTP Request:

    • Method: Choose POST as the HTTP method.

    • URL: Input the Nimble API endpoint URL for creating new contacts.

    • Headers: Include headers such as Authorization with "Bearer" followed by the Nimble API token.

  • Prepare Your JSON:

    • Structure the JSON with the necessary contact details, like this:

      {
      "fields": {
      "first name": [
      {
      "value": "{{3.first_name}}"
      }
      ],
      "linkedin": [
      {
      "value": "{{3.linkedin}}"
      }
      ],
      "last name": [
      {
      "value": "{{3.last_name}}"
      }
      ]
      },
      "record_type": "person"
      }

  • Send the Request: POST the JSON to the Nimble API endpoint.

  • Verify the Creation: Ensure the contact was created successfully by checking the response.

Step 5: Add the Router

  1. Insert a Router:

    • Click on the plus (+) sign between the Webhook and HTTP modules

    • Select "Router" to split the scenario into multiple paths

  2. Configure Paths:

    • Click on the Router to add new paths

    • For each path, add a new "HTTP: Make a Request" module

    • Set up the HTTP requests as needed, similar to Step 4

Step 6: Set Up AND/OR Rules in the Router

  1. Define Conditions for Each Path:

    1. Click on the three dots (...) on each path connected to the Router and select "Set up a filter."

    2. Define the conditions that determine which path the data should take. For example:

      • Path 1 (Update Existing Contact):

        • Condition: Check if the data includes an existing contact (e.g., resource = contact AND email contains a known domain).

        • Action: This path might trigger an HTTP request to update the contact's details in Nimble

      • Path 2 (Create New Contact):

        • Condition: Check if the contact does not already exist (e.g., resource = contact AND email is not found in Nimble).

        • Action: This path could trigger an HTTP request to create a new contact in Nimble.

    You can combine multiple conditions using AND/OR logic

Step 7: Test the Scenario

  1. Run a Test:

    • Run the scenario with test data to ensure that everything is working as expected

    • Check that the Webhook triggers, the HTTP requests are made correctly, and the Router paths follow the correct conditions

Step 8: Activate the Scenario

  1. Activate:

    • Once everything is tested and working, activate your scenario by clicking the "On/Off" switch at the bottom left

    • Your scenario is now live and will run whenever the webhook is triggered

Summary of the Flow

  1. Webhook: Receives incoming data from an external source

  2. HTTP Request: Processes the data by interacting with an external API

  3. Router: Splits the scenario into multiple paths based on custom conditions

  4. HTTP Requests in Paths: Sends further requests based on the Router’s conditions

This setup allows you to automate complex workflows, ensuring that your data is handled correctly and efficiently at every step.

If you have any questions, please write us at care@nimble.com, initiate a chat from this FAQ, or join one of our Nimble Onboarding and Best Practices sessions, held every weekday at 9 AM PT.

Did this answer your question?