Skip to main content

Productive

Productive is an all-in-one agency management platform for professional services teams, covering project management, budgeting, time tracking, resource planning, and billing. The Productive REST API exposes this data over HTTP following the JSON:API specification, letting you extract projects, invoices, payments, bookings, and related records for reporting and integration.

Productive icon

Power end-to-end data operations for your Productive API with Nexla. Our bi-directional Productive connector is purpose-built for Productive, 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 Productive or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Productive 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 a Productive credential, you need a Productive API token and your Organization ID. Productive authenticates API requests using a personal access token sent in the X-Auth-Token header, together with your organization identifier in the X-Organization-Id header. The API base URL is https://api.productive.io/api/v2.

To obtain your credentials, follow these steps:

  1. Sign in to your Productive account with a user that has permission to manage integrations.

  2. Navigate to Settings > API integrations.

  3. Click Generate new token, then choose the token's access level — Read-only to allow viewing data, or Read/Write to allow viewing and editing. For ingesting data into Nexla, Read-only access is sufficient.

  4. Copy the generated token and store it securely. Tokens remain active indefinitely until you manually revoke them, and they inherit the same access restrictions as the user who created them.

  5. Note your Organization ID, which is required in the X-Organization-Id header for every request. It is shown alongside your API integration settings and in your Productive account URL.

API tokens are linked to a specific user, so the data accessible through the token matches that user's permissions in Productive. If a token is compromised, revoke it from Settings > API integrations and generate a new one. For more details, see the Productive API Access guide and the Productive API Documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API KeyYesYesAPI key.

Create a credential in Nexla

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

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

  3. Enter your Productive API token in the API Key field. This is the personal access token you generated in Prerequisites. Nexla sends this token when authenticating to the Productive API, so it must be kept confidential.

    If your API token is compromised, revoke it in Settings > API integrations in Productive and generate a new one. API tokens inherit the access restrictions of the user who created them.

    For detailed information about Productive API authentication and available resources, see the Productive API Access guide and the Productive API Documentation.

  4. 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 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 Productive connector tile, then select the credential that will be used to connect to Productive, and click Next; or, create a new Productive 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 Productive 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.

[Rest API] List Users

This endpoint template retrieves a list of users from your Productive account. Retrieve users. Use this template when you need to access users data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/users and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the users resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Invoice Attributions

This endpoint template retrieves a list of invoice attributions from your Productive account. Retrieve invoice_attributions. Use this template when you need to access invoice attributions data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/invoice_attributions and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the invoice attributions resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Invoices

This endpoint template retrieves a list of invoices from your Productive account. Retrieve invoices. Use this template when you need to access invoices data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/invoices and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the invoices resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Payment Reminder Sequences

This endpoint template retrieves a list of payment reminder sequences from your Productive account. Retrieve payment_reminder_sequences. Use this template when you need to access payment reminder sequences data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/payment_reminder_sequences and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the payment reminder sequences resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Payment Reminders

This endpoint template retrieves a list of payment reminders from your Productive account. Retrieve payment_reminders. Use this template when you need to access payment reminders data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/payment_reminders and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the payment reminders resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Payments

This endpoint template retrieves a list of payments from your Productive account. Retrieve payments. Use this template when you need to access payments data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/payments and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the payments resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Prices

This endpoint template retrieves a list of prices from your Productive account. Retrieve prices. Use this template when you need to access prices data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/prices and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the prices resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Contact Entries

This endpoint template retrieves a list of contact entries from your Productive account. Retrieve contact_entries. Use this template when you need to access contact entries data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/contact_entries and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the contact entries resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Memberships

This endpoint template retrieves a list of memberships from your Productive account. Retrieve memberships. Use this template when you need to access memberships data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/memberships and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the memberships resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Organization Memberships

This endpoint template retrieves a list of organization memberships from your Productive account. Retrieve organization_memberships. Use this template when you need to access organization memberships data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/organization_memberships and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the organization memberships resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Sessions

This endpoint template retrieves a list of sessions from your Productive account. Retrieve sessions. Use this template when you need to access sessions data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/sessions and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the sessions resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Activities

This endpoint template retrieves a list of activities from your Productive account. Retrieve activities. Use this template when you need to access activities data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/activities and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the activities resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Approval Policies

This endpoint template retrieves a list of approval policies from your Productive account. Retrieve approval_policies. Use this template when you need to access approval policies data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/approval_policies and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the approval policies resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Workflows

This endpoint template retrieves a list of workflows from your Productive account. Retrieve workflows. Use this template when you need to access workflows data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/workflows and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the workflows resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Boards

This endpoint template retrieves a list of boards from your Productive account. Retrieve boards. Use this template when you need to access boards data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/boards and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the boards resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Attachments

This endpoint template retrieves a list of attachments from your Productive account. Retrieve attachments. Use this template when you need to access attachments data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/attachments and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the attachments resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Bookings

This endpoint template retrieves a list of bookings from your Productive account. Retrieve bookings. Use this template when you need to access bookings data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/bookings and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the bookings resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Comments

This endpoint template retrieves a list of comments from your Productive account. Retrieve comments. Use this template when you need to access comments data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/comments and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the comments resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Companies

This endpoint template retrieves a list of companies from your Productive account. Retrieve companies. Use this template when you need to access companies data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/companies and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the companies resource, its attributes, filters, and relationships, see the Productive API Documentation.

[Rest API] List Custom Field Options

This endpoint template retrieves a list of custom field options from your Productive account. Retrieve custom_field_options. Use this template when you need to access custom field options data for analysis, reporting, or integration purposes.

  • This endpoint calls GET /api/v2/custom_field_options and returns records from the data array of the JSON:API response. Nexla automatically handles pagination to fetch all available pages of data.

The Productive API follows the JSON:API specification, returning records under the data key along with related included resources and pagination metadata. For detailed information about the custom field options resource, its attributes, filters, and relationships, see the Productive 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

Productive data sources can also be manually configured to ingest data from any valid Productive 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.

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