---
title: Nimble API Integration on Truto
slug: nimble
category: CRM
canonical: "https://truto.one/integrations/detail/nimble/"
---

# Nimble API Integration on Truto



**Category:** CRM  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 85 tools for Nimble that AI agents can call directly.

- **list_all_nimble_me** — Get current user info in Nimble. Returns company_id, company_size, email, name, and user_id in the response.
- **list_all_nimble_contacts** — List contacts in Nimble. Returns important fields such as id, avatar_url, employers_info, tags, last_contacted, company_last_contacted, reminder, and record_type. These fields provide identification, company data, tags, interaction history, reminders, and type.
- **create_a_nimble_contact** — Create a new contact in Nimble. Requires fields for contact data with at least a first or last name for persons or a company name for companies. Returns id, avatar_url, owner_id, privacy, tags, record_type, type, fields, created, updated, and additional details of the created contact.
- **delete_a_nimble_contact_by_id** — Delete a contact in Nimble. Requires id. Returns a message field indicating the operation result.
- **update_a_nimble_contact_by_id** — Update a contact in Nimble by id. Requires id. Returns fields such as id, avatar_url, fields, is_important, last_contacted, record_type, owner_id, tags, stages_info, reminder, notice, and contexts for the contact.
- **nimble_contacts_contact_ids** — List contact ids in Nimble. Returns an array of ids for matching contacts. Response includes resources (array of contact ids) and meta (pagination details).
- **nimble_contacts_standard** — List contacts in Nimble using required id parameter (comma-separated up to 30). Returns key fields including id, avatar_url, employers_info, company_last_contacted, created, updated, tags, record_type, stages_info, and contexts.
- **nimble_contacts_bulk** — Delete a list of contacts in Nimble using advanced search query or record_type. Returns data.ids of deleted contacts, push_data with action and notification info, and status.
- **get_single_nimble_contact_by_id** — Get a specific contact in Nimble by id. Returns avatar_url, employers_info, company_last_contacted, fields, created, updated, tags, reminder, privacy settings, stages_info, notice details, and contexts data.
- **nimble_contacts_proceedings** — List proceedings for a specific contact in Nimble. Requires contact_id, direction, and limit. Returns proceeding_id, name, description, feed_tstamp, and proceeding_type with type_id and type_name.
- **nimble_contacts_proceeding_providers** — List contacts proceeding providers in Nimble. Returns providers with name, provider_id, and available types including type_id and type_name.
- **nimble_contacts_assign_tags** — Assign tags to a specific contact in Nimble. Requires id. Returns contact details including id, tags, avatar_url, employers_info, created, updated, fields, record_type, stages_info, and related metadata.
- **list_all_nimble_contact_notes** — List contact-notes for a specific contact in Nimble. Requires contact_id. Returns id, note, note_preview, author_name, created, updated, owner details, and related contacts including their name, email, phones, and employment.
- **create_a_nimble_contact_note** — Create a note on one or more contacts in Nimble. Requires contact_ids, note, and note_preview. Returns id, note, note_preview, author_name, created, updated, owner details, and associated contacts with their information.
- **update_a_nimble_contact_note_by_id** — Update a contact note in Nimble by id. Requires id, contact_ids, note, and note_preview. Returns note content, note_preview, author_name, contacts details (id, name, email, employment, phones), owner details, created, updated, and owner_id.
- **delete_a_nimble_contact_note_by_id** — Delete a specific contact note in Nimble using id. Returns id of the deleted note.
- **get_single_nimble_contact_note_by_id** — Get a specific contact note in Nimble using id. Returns author_name, id, note, note_preview, created, updated, owner, and related contacts details.
- **nimble_contact_notes_create_with_id** — Create a contact note in Nimble with id. Requires id, contact_ids (1-10), note, and note_preview. Returns id, note, note_preview, author_name, contacts with details (id, name, email, phones, employment), owner info, created, and updated.
- **list_all_nimble_contact_fields** — List all available metadata for company contact fields in Nimble. Returns tabs with tab_id, tab_name, contact_types, members, and fields including field_id, name, type, field_kind, validation_rule, read_only, multiples, and available_actions.
- **create_a_nimble_contact_field** — Create a new contact field in Nimble. Requires field_type, group_id, insert_after, name, presentation, tab_id, and multiples. Returns the created field including field_type, group_id, insert_after, name, presentation, tab_id, and multiples.
- **update_a_nimble_contact_field_by_id** — Update a specific contact field in Nimble by id. Requires id. Returns the updated field details including group_id, insert_after, name, presentation with number_type, and tab_id.
- **delete_a_nimble_contact_field_by_id** — Delete a contact field in Nimble by id. Requires id and preflight_checks. Returns object_id and object_type to confirm the deleted field.
- **nimble_contact_fields_unset_primary** — Delete is_primary mark from a specific contact field in Nimble. Requires contact_id, field_id, and position. Returns object_id and object_type in the response.
- **nimble_contact_fields_set_primary** — Update contact field in Nimble by marking it with is_primary flag. Requires contact_id, field_id, and position. Returns updated field details including is_primary status.
- **create_a_nimble_contact_fields_group** — Create a new contacts fields group in Nimble. Requires insert_after, logo_id, name, and tab_id. Returns tab_id, tab_name, contact_types, is_standard, members with their fields, and available_actions.
- **update_a_nimble_contact_fields_group_by_id** — Update a contacts fields group in Nimble by id. Requires id. Response includes tab_id, tab_name, contact_types, is_standard, members with fields details, and available_actions.
- **delete_a_nimble_contact_fields_group_by_id** — Delete contact-fields-groups by id in Nimble. Requires id. Returns object_id for deleted resource and object_type indicating the resource type.
- **create_a_nimble_contact_field_tab** — Create a new contact-field-tab in Nimble. Requires contact_types, insert_after, and tab_name. Returns the created tab details including its id and name.
- **update_a_nimble_contact_field_tab_by_id** — Update contact-field-tab in Nimble using id. Requires id. Response returns updated tab details including contact_types, insert_after, and tab_name.
- **delete_a_nimble_contact_field_tab_by_id** — Delete a contact-field-tab in Nimble by id. Requires id. Returns confirmation of deletion.
- **create_a_nimble_contact_field_choice** — Create a choice for a contact field in Nimble. Requires field_id. Returns tab_id, tab_name, contact_types, is_standard, members with group and field details, and available_actions.
- **update_a_nimble_contact_field_choice_by_id** — Update a contact-field-choice in Nimble. Requires field_id and id. Returns tabs with tab_id, tab_name, contact_types, is_standard, members with groups and fields including field_id, name, type, field_type, and available_actions.
- **delete_a_nimble_contact_field_choice_by_id** — Delete a specific contact-field-choice in Nimble by providing field_id and id. The response confirms successful deletion.
- **list_all_nimble_contact_pipelines** — List contacts pipelines in Nimble. Returns pipelines with fields such as pipeline_id, name, description, created, updated, creator details, stages with stage_id and name, and lost_reasons with id and text.
- **list_all_nimble_contacts_search** — Search contacts in Nimble using advanced query. Requires query parameter. Returns resources containing fields like id, first name, last name, company, and email.
- **create_a_nimble_deal** — Create a new deal in Nimble. Requires owner_id, fields_values (with at least deal_name), pipeline_id, and stage_id. Returns deal details including id, owner_id, pipeline_id, stage_id, fields_values like name, probability, description, amount, expected_close_date, plus related_contacts, related_external_contacts, tags, privacy settings, and currency.
- **get_single_nimble_deal_by_id** — Get deal in Nimble by id. Returns deal_id, deal_number, creator details, related_contacts, owner, custom field values, stage_transitions, files, tags, final_probability, and age_in_days.
- **delete_a_nimble_deal_by_id** — Delete a deal in Nimble by id. Requires id. Returns a message confirming deletion or access restrictions.
- **update_a_nimble_deal_by_id** — Update a deal in Nimble by id. Requires id. Returns updated deal fields including name, probability, description, amount, stage_id, currency, related_contacts, external_contacts, and tags.
- **nimble_deals_won_deals_last_month** — Get sum of all deals won last month in Nimble. Returns last_month_won_amount as the total amount and last_month_won_count as the total number of deals.
- **nimble_deals_overdue** — List overdue activities for a specific deal in Nimble. Requires id. Returns activities with fields including activity_id, activity_type details, assigned_to, comments, created, description, priority, related_contacts, and related_deals.
- **list_all_nimble_deals_tags** — List deals tags in Nimble. Returns tag name and created date for each tag.
- **create_a_nimble_deals_tag** — Add tags to deals in Nimble using a query to match deals. Returns is_completed, operation_id, processed, started_at, total, and errors with details on failed operations.
- **update_a_nimble_deals_tag_by_id** — Update a deals tag by name in Nimble. Requires id as tag_name in path and new_tag in body. Returns updated tag information.
- **delete_a_nimble_deals_tag_by_id** — Delete a deals tag by name in Nimble. Requires id (tag name). Returns errors with message, nse_query, total, and type if deletion fails due to restrictions.
- **list_all_nimble_deal_column_catalogue** — List column catalogue in Nimble. Returns columns and column groups including id, human_readable_name, json_path, value_json_path, presentation details, and whether columns are read_only, is_standard, or sortable.
- **list_all_nimble_deals_pipelines** — List all deals pipelines in Nimble. Returns available pipelines including their details such as stages and structure.
- **get_single_nimble_deals_pipeline_by_id** — Get deals pipeline by id in Nimble. Requires id. Returns details about the pipeline including name, stages, and configuration.
- **create_a_nimble_deals_pipeline** — Create a new deals pipeline in Nimble. Requires name, description, color, lost_reasons, stages, fields_tab_members, and default_currency. Returns pipeline details including id, name, description, color, lost_reasons, stages with probabilities and expected_days, fields_tab_members, and default_currency.
- **update_a_nimble_deals_pipeline_by_id** — Update a deals pipeline in Nimble by id. Requires id. Returns updated fields including name (pipeline name), description (pipeline description), and color (pipeline color).
- **delete_a_nimble_deals_pipeline_by_id** — Delete a deals pipeline in Nimble by id. Requires id. All deals in this pipeline will also be deleted. Response confirms successful deletion.
- **nimble_deals_pipelines_archive** — Archive a specific deals pipeline in Nimble using id. Returns confirmation of successful archival.
- **nimble_deals_pipelines_unarchive** — Un-archive a deals pipeline in Nimble. Requires id. Returns pipeline details including id, name, and status to confirm it is unarchived.
- **nimble_deals_pipelines_add_pipeline_lost_reason** — Add a new lost reason to a deals pipeline in Nimble. Requires pipeline_id and reason. Returns the created lost reason with its id and details.
- **list_all_nimble_message_drafts** — List message drafts in Nimble. Returns draft_id, specification (including subject, body, sender, recipients), creator, recipients, cc, bcc, sender, and updated fields.
- **create_a_nimble_message_draft** — Create a draft message in Nimble. Returns draft details including subject, body, sender, recipients, attachments, tracking_configuration, expiration settings, and sender_credential_id.
- **create_a_nimble_pipeline_transition** — Exit lead from pipeline successfully in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, owner_id, stages_info, record_type, company_last_contacted, reminder, notice, and tags.
- **update_a_nimble_pipeline_transition_by_id** — Update the successful exit pipeline-transition in Nimble for a lead. Requires lead_id and pipeline_id. Returns fields including id, avatar_url, company_last_contacted, fields, owner_id, tags, stages_info, and updated.
- **delete_a_nimble_pipeline_transition_by_id** — Clear all pipeline-transition for a lead in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, record_type, object_type, stages_info with pipeline_id, pipeline_name, and stage_name, along with tags, created, updated, and owner_id.
- **nimble_pipeline_transition_exit_lead_unsuccessfully** — Exit lead from a pipeline unsuccessfully in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, name, avatar_url, tags, employers_info, stages_info, and contact metadata.
- **nimble_pipeline_transition_unsuccessful_exit** — Update the unsuccessful exit pipeline-transition in Nimble. Requires lead_id and pipeline_id. Returns updated transition details including actual_exit_date, notes, and lost_reason.
- **nimble_pipeline_transition_move_lead_stage** — Move lead to a specific pipeline stage in Nimble. Requires lead_id, pipeline_id, and stage_id. Returns lead details including id, owner_id, fields, tags, reminder, stages_info, and contact metadata.
- **nimble_pipeline_transition_undo_lead** — Undo a recent lead transition to won or lost stage in Nimble. Requires lead_id and pipeline_id. Returns lead details including id, avatar_url, record_type, owner_id, stages_info, reminder, tags, and notice information.
- **create_a_nimble_deal_file** — Store a new deal file in Nimble for a specific deal using id. Supports external sources or uploaded files via Azure SDK. Returns metadata including data_id and source.
- **update_a_nimble_deal_file_by_id** — Update a deal file in Nimble using deal_id and id. Allows renaming the file by providing new_file_name. Only files uploaded using Azure SDK can be renamed. Response returns updated file details.
- **delete_a_nimble_deal_file_by_id** — Delete a specific deal file in Nimble. Requires deal_id and id. Returns confirmation of deletion.
- **nimble_deal_file_download** — Get download URL for a specific deal file in Nimble. Requires deal_id and id. Returns the download link of the requested file in the response.
- **create_a_nimble_deal_note** — Create note in Nimble for a deal. Requires deal_id and title. Returns note details including title and body.
- **update_a_nimble_deal_note_by_id** — Update a specific deal note in Nimble. Requires deal_id and id. Returns the updated note including title and body fields.
- **delete_a_nimble_deal_note_by_id** — Delete a specific deal note in Nimble. Requires deal_id and id. The response confirms successful deletion of the note.
- **list_all_nimble_deal_fields** — List deal fields in Nimble. Returns standard_fields with field_id, field_type, and field_name, and pipelines_tabs with tab_id, tab_name, pipeline_id, members, and related field details.
- **create_a_nimble_pipeline_stage** — Create a new pipeline-stage in Nimble. Requires pipeline_id. Returns fields including id (stage identifier), name (stage name), description (stage description), expected_days (time before stage completion), and default_probability (default deal probability in this stage).
- **update_a_nimble_pipeline_stage_by_id** — Update a pipeline stage in Nimble. Requires pipeline_id and id. Returns stage details including name, description, expected_days, and default_probability.
- **delete_a_nimble_pipeline_stage_by_id** — Archive pipeline-stage in Nimble. Requires pipeline_id and id. Response confirms stage archived.
- **list_all_nimble_pipeline_deals_by_stages** — List pipeline deals by stages in Nimble. Requires pipeline_id. Returns deals with fields such as deal_id, deal_number, creator, owner, related_contacts, stage details, tags, files, final_probability, and meta information including totals.
- **list_all_nimble_pipeline_deals_by_owner** — List pipeline deals by owner in Nimble. Requires pipeline_id and sort. Returns groups containing deals with deal_id, deal_number, creator, owner, related contacts, stage transitions, files, tags, and meta with total_amount.
- **create_a_nimble_deal_pipeline_field** — Create a new custom field in a deals pipeline in Nimble. Requires pipeline_id. Returns field id, name, field_type, validation_rule, presentation, and placement details.
- **update_a_nimble_deal_pipeline_field_by_id** — Update a custom field in a specific deals pipeline in Nimble using pipeline_id and id. Returns pipelines_tabs with tab_id, tab_name, pipeline_id, members details, and standard_fields with field_id, field_type, and field_name.
- **delete_a_nimble_deal_pipeline_field_by_id** — Delete a custom field from a deals pipeline in Nimble. Requires pipeline_id and id. Returns success if deleted, 404 if field not found, and 403 if access is forbidden.
- **create_a_nimble_deal_pipeline_choice** — Create a new choice in a deals pipeline field in Nimble. Requires pipeline_id and field_id. Returns choice id and value fields in the response.
- **update_a_nimble_deal_pipeline_choice_by_id** — Update a choice in a custom deals pipeline field in Nimble. Requires pipeline_id, field_id, and id. Returns updated choice details including value and order within the field.
- **delete_a_nimble_deal_pipeline_choice_by_id** — Delete a specific deal pipeline custom field choice in Nimble. Requires pipeline_id, field_id, and id. If preflight_checks is true and deals use this choice, an error is returned; otherwise, the choice and its values are removed.
- **create_a_nimble_deal_pipeline_fields_group** — Create a deal pipeline fields group in Nimble. Requires pipeline_id. Returns the created group details including group_name, logo_id, insert_after, and associated fields with their types and presentation.
- **update_a_nimble_deal_pipeline_fields_group_by_id** — Update a specific deal pipeline fields group in Nimble. Requires pipeline_id and id. Returns updated group details such as group_name, logo_id, and position (insert_after).
- **delete_a_nimble_deal_pipeline_fields_group_by_id** — Delete a specific deal pipeline fields group in Nimble. Requires pipeline_id and id. Returns confirmation of deletion.

## How it works

1. **Link your customer's Nimble account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Nimble.** The Proxy API is a 1-to-1 mapping of the Nimble API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Log call transcripts and interaction history directly into Nimble contacts** — Cloud telephony and conversational AI platforms can search Nimble contacts by phone number, then automatically attach AI-generated call summaries and sentiment analysis as contact notes — keeping the sales rep's CRM updated without manual data entry.
- **Automate deal progression from external commercial events** — E-signature, billing, or CPQ platforms can programmatically move deals through pipeline stages — including marking them as won or exiting them as lost with specific reasons — when contracts are signed, invoices are paid, or proposals expire.
- **Sync lead scores and segment contacts with tag-based automation** — Marketing automation platforms can assign tags to Nimble contacts when engagement thresholds are met, then advance tagged leads to specific pipeline stages, bridging the gap between Nimble's lightweight automation and sophisticated lead scoring engines.
- **Provision custom CRM fields and tabs for your SaaS data** — Any B2B SaaS product can dynamically create dedicated field groups, tabs, and custom fields on Nimble contact profiles to store proprietary data like health scores, subscription tiers, or product usage metrics — without requiring the end user to manually configure their CRM.
- **Generate personalized email drafts from AI-powered outreach tools** — Sales enablement and AI writing platforms can inject hyper-personalized message drafts directly into a Nimble user's draft queue, ready for review and sending through their connected Microsoft 365 or Google Workspace account.

## What you can build

- **Automatic call log injection** — After every call, create a timestamped contact note in Nimble containing the transcript, duration, and outcome using the contact notes API.
- **Closed-won deal automation with file attachment** — Attach signed contracts or invoices to Nimble deals as files and trigger a pipeline transition to mark the deal as won — all from a single external workflow.
- **Dynamic custom field provisioning** — Programmatically create custom tabs, field groups, fields, and dropdown choices on Nimble contact or deal records so your SaaS data appears natively inside the CRM.
- **Smart contact deduplication on ingest** — Before creating new contacts, query Nimble's search endpoint to check for existing records by email or name, preventing duplicate entries from your lead generation or event platform.
- **Tag-driven audience segmentation sync** — Assign and manage tags on Nimble contacts based on external engagement data, enabling end users to build Nimble-native saved searches and segments without leaving their CRM.
- **Pipeline stage progression from external triggers** — Move leads between pipeline stages, undo transitions, or exit leads unsuccessfully using Nimble's granular pipeline transition endpoints — driven by events in your product like form submissions, payment failures, or contract expirations.

## FAQs

### What authentication method does the Nimble integration use?

Nimble uses OAuth 2.0 for authentication. Truto handles the full OAuth flow, token refresh, and credential storage so your end users can connect their Nimble accounts securely without you managing auth infrastructure.

### Can I create custom fields and tabs on Nimble contact records through this integration?

Yes. The integration supports creating, updating, and deleting custom contact fields, field groups, field tabs, and field choices. You can also set or unset primary fields, and do the same for deal pipeline fields, groups, and choices.

### How does deal pipeline management work with the available tools?

You have full lifecycle control over deals and pipelines. You can create and manage pipelines, stages, and deals. For pipeline transitions specifically, you can move leads between stages, undo transitions, exit leads unsuccessfully, and add lost reasons — all as discrete API operations rather than simple record updates.

### Is there a Unified CRM API available for Nimble?

Nimble does not yet have a Unified API mapping in Truto. However, all listed tools are available as direct API proxy calls through Truto, giving you full access to Nimble's native API capabilities including contacts, deals, pipelines, notes, files, fields, tags, drafts, and search.

### Can I search for existing contacts before creating new ones to avoid duplicates?

Yes. The list_all_nimble_contacts_search tool lets you run advanced queries against Nimble contacts. You can search by email, name, or other fields to check for existing records before ingesting new leads.

### What contact and deal operations does the integration support?

For contacts: full CRUD, bulk operations, search, tag assignment, notes (with CRUD), and proceedings. For deals: full CRUD, notes, file attachments with download, pipeline transitions, and filtered views like won deals last month and overdue deals. Truto handles pagination and API quirks across all these endpoints.
