Skip to main content

Affinity CRM

Affinity CRM is a relationship intelligence platform designed for investment firms and professional services, providing relationship mapping, deal tracking, and network analysis tools to enhance business development and deal sourcing.

Affinity CRM icon

Power end-to-end data operations for your Affinity CRM API with Nexla. Our bi-directional Affinity CRM connector is purpose-built for Affinity CRM, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Affinity CRM or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Affinity CRM workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an Affinity CRM credential in Nexla, you need to obtain your API key from your Affinity account. This credential authenticates Nexla with the Affinity API and should be kept secure.

  1. Sign in to your Affinity account.

  2. Navigate to Settings in your Affinity account to access the settings page.

  3. Locate the API section in the settings menu. This section contains your API credentials and access tokens.

  4. Generate or copy your API Key. The API key is a secret token that authenticates API requests and provides access to your Affinity account data. The API key is used with basic authentication, where the username is set to "x" and the password is your API key.

    Your API key provides full access to your Affinity account data through the API. Keep your API key secure and do not share it publicly or commit it to version control systems. If you suspect your API key has been compromised, regenerate it immediately in your Affinity account settings. For detailed instructions on obtaining your API key, see the Affinity support documentation.

For additional information about Affinity API authentication and credential management, see the Affinity API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API KeyYesYesTo use the Affinity API, you will need to provide an Affinity API secret key. See https://support.affinity.co/hc/en-us/articles/360032633992-How-to-obtain-your-API-Key for instructions.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Affinity CRM

AffinityCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your Affinity API key in the API Key field. This key authenticates Nexla with the Affinity API and should match the API key obtained from your Affinity account settings. The API key is used with basic authentication, where the username is set to "x" and the password is your API key.

    The API key provides full access to your Affinity account data through the API. Keep your API key secure and do not share it publicly or commit it to version control systems. Affinity uses basic authentication with the API key, which allows Nexla to make authenticated requests to your account.

  3. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Affinity CRM connector tile, then select the credential that will be used to connect to the Affinity CRM instance, and click Next; or, create a new Affinity CRM credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Affinity CRM endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Fetch all Records of a Resource

This endpoint retrieves all records of a specified resource type from your Affinity CRM account. Use this endpoint when you need to access all organizations, opportunities, persons, or reminders from your Affinity account. Use the advanced tab for fetching a filtered list of records.

  • Select the resource type you want to retrieve from the Resource Type dropdown menu. Available options include Organizations, Opportunities, Persons, and Reminders.
  • The endpoint uses token-based pagination, automatically fetching additional pages as needed. The endpoint retrieves records using the page_token parameter to handle pagination efficiently.
  • The endpoint will return all records of the selected resource type, organized into pages for efficient data retrieval.

This endpoint supports pagination through page tokens. Nexla automatically handles pagination to retrieve all available records. For detailed information about available resource types and filtering options, see the Affinity API documentation.

Fetch One Record of a Resource

This endpoint retrieves detailed information about a specific record by its unique identifier. Use this endpoint when you need to fetch complete details for a single organization, opportunity, person, or reminder.

  • Select the resource type you want to retrieve from the Resource Type dropdown menu. Available options include Organizations, Opportunities, Persons, and Reminders.
  • Enter the unique identifier (ID) of the resource you want to retrieve in the Resource ID field. Resource IDs are integer values that uniquely identify each resource in your Affinity account.
  • The endpoint will return the complete details for the specified resource, including all associated fields and metadata.

Resource IDs can be obtained by first using the "Fetch all Records of a Resource" endpoint to retrieve available resources and their corresponding IDs. For detailed information about retrieving specific resources, see the Affinity API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Affinity CRM data sources can also be manually configured to ingest data from any valid Affinity CRM API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Affinity CRM API endpoints typically follow the pattern https://api.affinity.co/{resource_type} for listing resources or https://api.affinity.co/{resource_type}/{resource_id} for retrieving specific resources. For example, if a JSON response includes a top-level array named organizations that contains the relevant data, the path to data would be entered as $.organizations[*]. For a complete list of available Affinity CRM API endpoints, see the Affinity API documentation.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Affinity CRM data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.