Nutshell API

Integrate Nutshell with your product– along with any other
 CRM
 application

Connect your product to all the applications your customers use via Merge's

CRM 

Unified API to close more deals, retain customers, and expand to new markets

Your Product
Merge
Your customers' data
Accounts
Association Types
Associations
Async Passthroughs
Audit Trails
Contacts
Custom Object Classes
Custom Objects
Engagement Types
Engagements
Field Mappings
Leads
Notes

Top integration use cases for Nutshell

Analyze sales reps’ performance

Imagine you offer an analytics tool that helps sales managers and leaders analyze reps’ performance (your tool can also help users pinpoint additional insights).

To help facilitate this use case, you can integrate your product with a CRM like Nutshell via Merge’s CRM Unified API. You can then sync closed-won opportunities and key fields within them, like the account owner and the deal size. 

These syncs can run on a frequent cadence, say once every hour, to ensure your leadership is analyzing up-to-date and reliable data. Moreover, you can build additional steps in your product on top of these syncs to make the data easier to take action off of, such as sending out a notification when a rep’s performance falls below or above a certain set of conditions.

Streamline customer onboarding

Say you offer an enterprise resource planning (ERP) system that allows finance teams to create customer records, store critical customer documents (e.g. invoices),  perform analysis on key activities, and more.

To help your clients’ finance teams learn about new clients on time and begin the process of invoicing them within your product, you can integrate your ERP system with a CRM like Nutshell via Merge. 

More specifically, using Merge, you can register a webhook in Nutshell that listens for any opportunity’s status getting marked as “closed won” within the CRM. Whenever this happens, Nutshell calls the URL, triggering a payload to your application in real-time.  

This payload notification can include all the relevant context on the closed opportunity for the finance team, enabling them to carry out their invoicing tasks quickly and easily within you product. 

Learn more about using Merge to send deal notifications to your product.

Add leads from other applications 

Suppose you offer a product that recommends leads to reps, lets them accept or reject leads, and enables them to take action on these leads—all within your application.

Accepted leads should also live in a CRM like Nutshell so that the reps’ managers have visibility on the prospects reps pursue and how they're pursued. Only then can the managers support the reps effectively and forecast their teams’ closed-won revenue accurately.

With this in mind, you can integrate your application with Nutshell via Merge’s CRM Unified API. You can then sync leads and their associated fields, like their first and last name, email address, role, employer, etc. You can also sync this data at frequent intervals, like every 5 minutes, or even use webhooks to ensure the data is consistent between your application and the CRM system at all times.

Read more

Sync Nutshell Data

Trusted to power integrations globally
Build Smarter

Make integrations your competitive advantage

More sales, less code, fewer headaches

Focus on your core product

Stop diverting your engineers to yet another integration and let them get back to work.

Give customer success a break

Manage your simplified integration issues in a single pane. No therapist required.

Stop losing sales due to integrations

Launch integrations in days, not quarters. Your sales team will thank you.

APIs Made Simple

The toolkit for all your integration needs

We make integrations painless with accessible API design, dead-simple SDKs, and beautiful documentation that we agonize over.

View docs
Get Employee Data
import merge
from merge.client import Merge
merge_client = Merge(api_key="<YOUR_API_KEY>", account_token="<YOUR_ACCOUNT_TOKEN>")
employee = merge_client.hris.employees.list()
import { MergeClient, Merge } from '@mergeapi/merge-node-client';
const merge = new MergeClient({
  apiKey: 'YOUR_API_KEY',
  accountToken: 'YOUR_ACCOUNT_TOKEN',
});
employee = await merge.hris.employees.list()
ApiClient.instance.authentications.tokenAuth = {
  type: 'bearer',
  accessToken: 'API_KEY',
};
new EmployeesApi().employeesList('ACCOUNT_TOKEN', {}, (data) => {
  console.log(data);
});
import (
  "context"
  "fmt"
  merge "github.com/fern-api/merge-go"
  mergeclient "github.com/fern-api/merge-go/client"
  "github.com/fern-api/merge-go/hris"
)

client := mergeclient.NewClient(
  mergeclient.ClientWithAuthApiKey("<YOUR_API_KEY>"),
  mergeclient.ClientWithHeaderAccountToken("<YOUR_ACCOUNT_TOKEN>"),
)
employee, err := client.Hris().Employees().List(
  context.TODO(),
  &hris.EmployeesRetrieveRequest{
    IncludeRemoteData: merge.Bool(true),
  },
)
if err != nil {
  return err
}
fmt.Printf("Retrieved employee with ID %q\n", *employee.Id)
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath('https://api.merge.dev/api/ats/v1');
ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
tokenAuth.setApiKey('API_KEY');
CandidatesApi apiInstance = new CandidatesApi(client);
apiInstance.candidatesList('ACCOUNT_TOKEN');
import com.merge.api.MergeApiClient;
import com.merge.api.resources.hris.employees.requests.EmployeesRetrieveRequest;
import com.merge.api.resources.hris.types.Employee;
MergeApiClient mergeClient = MergeApiClient.builder()
    .accountToken("ACCOUNT_TOKEN")
    .apiKey("API_KEY")
    .build();
Employee employee = mergeClient.hris().employees().list(
    EmployeesRetrieveRequest.builder()
        .includeRemoteData(true)
        .build());
{
"id": "0958cbc6-6040-430a-848e-aafacbadf4ae",
"remote_id": "19202938",
"employee_number": "2",
"company": "8d9fd929-436c-4fd4-a48b-0c61f68d6178",
"first_name": "Dirna",
"last_name": "Emanuel",
"display_full_name": "Dirna Emanuel",
"username": "dirnaemanuel",
"groups": [
  "21a54124-397f-494d-985e-3c5b330b8a68"
],
"work_email": "dirna@merge.dev",
"personal_email": "dirnaemanuel@gmail.com",
"mobile_phone_number": "+1234567890",
"employments": [
  "17a54124-287f-494d-965e-3c5b330c9a68"
Meta Endpoint

Programmatically access required schemas

Third-party providers require specific (and often different) fields to write data to their APIs, making your code a mess.

Dynamically fetch required data schemas from Merge’s /meta endpoint to make POST or PATCH requests that just work.

View Docs
Beyond Building

Rely on the best integration observability system

Let our logs, issue detection, and automated alerts save your customer success team time, money, and headaches.

Forget maintenance - let your developers focus on building!

Start for free

How Drata helps thousands streamline their SOC 2 with Merge

Read case study

​​”Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.”

Daniel Marashlian of profile photo
Daniel Marashlian
Co-Founder & CTO

Read more about building and maintaining multiple integrations

A guide to maintaining your product integrations
A guide to maintaining your product integrations
Blog
Blog Posts
10/27/2023
A guide to integrating multiple APIs
A guide to integrating multiple APIs
Blog
Blog Posts
11/13/2023
The top challenges of normalizing multiple API integrations
The top challenges of normalizing multiple API integrations
Blog
Blog Posts
11/20/2023
One Step Ahead

We're the cheat code to your integrations strategy

Revolutionize your integrations strategy for HR, payroll, directory, ATS, project management, ticketing, accounting and CRM platforms.

Start for free or talk to our sales team and learn how Merge makes it easy to add all your integrations in days – not years.
Read more