Basecamp
Basecamp is a project management and team collaboration tool for organizing to-dos, messages, schedules, documents, and card tables. Its REST API (the Basecamp 3 API) exposes projects and their tools so you can read and update work items programmatically.
Power end-to-end data operations for your Basecamp API with Nexla. Our bi-directional Basecamp connector is purpose-built for Basecamp, 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 Basecamp or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Basecamp workflows fast, secure, and fully governed.
Features
Type: API
- 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 you connect Nexla to Basecamp, you need a Basecamp account and access to the Basecamp 3 API. A few facts about the API are useful when configuring endpoints:
-
Sign in to your Basecamp account. The Basecamp 3 API is documented in the Basecamp 3 API reference.
-
Note your account ID. Every Basecamp API request is scoped to an account, and the base URL follows the pattern
https://3.basecampapi.com/{ACCOUNT_ID}/. You can find your account ID in the URL you see while using Basecamp in the browser. Nexla's endpoint templates expose this as the Accountid path parameter. -
Basecamp authorizes API requests with OAuth 2.0 through
https://launchpad.37signals.com. To use OAuth, register an application with 37signals to obtain a client ID and client secret, then complete the authorization flow to receive an access token. See the authentication guide for details. -
Every Basecamp API request must include a
User-Agentheader that identifies your application and provides a contact link or email address (for example,User-Agent: My Company (me@example.com)). Requests without this header are rejected with a400 Bad Request.
Authenticate
The Basecamp connector uses a No Authentication credential template, so there are no secret fields to store in the Nexla credential itself. You still create a credential so it can be attached to a data flow; the request-level details Basecamp requires (an OAuth Authorization header and a User-Agent header) are supplied when you configure the endpoint or through the Connect to Any API advanced flow.
Create a credential in Nexla
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
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.
Because this connector uses the No Authentication template, Basecamp API authorization is not stored in the credential. Add the required
Authorization(OAuth bearer token) andUser-Agentrequest headers when configuring the source or destination endpoint. For details on Basecamp authorization, see the Basecamp 3 API authentication guide.
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 Basecamp connector tile, then select the credential that will be used to connect to Basecamp, and click Next; or, create a new Basecamp 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 Basecamp 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.
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
Basecamp data sources can also be manually configured to ingest data from any valid Basecamp 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.
Basecamp API requests use the base URL https://3.basecampapi.com/{ACCOUNT_ID}/, must include a User-Agent header identifying your application, and are authorized with an OAuth 2.0 bearer token in the Authorization header.
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 Basecamp 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.
Use as a destination
Click the + icon on the Nexset that will be sent to the Basecamp destination, and select the Send to Destination option from the menu. Select the Basecamp connector from the list of available destination connectors, then select the credential that will be used to connect to Basecamp, and click Next; or, create a new Basecamp credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Basecamp endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Manual configuration
Basecamp destinations can also be manually configured to send data to any valid Basecamp API endpoint. 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, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Basecamp APIs expect JSON request bodies and require a User-Agent header on every request. Requests are authorized with an OAuth 2.0 bearer token in the Authorization header.
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Basecamp endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Basecamp endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.