Skip to main content

Timely

Timely is an automatic time-tracking application for teams and agencies. Its REST API exposes accounts, users, clients, projects, labels, and logged hours, so you can pull tracked-time data into your warehouse or write time entries and projects back into Timely. Nexla connects to the Timely API using an OAuth 2.0 access token sent as a Bearer token.

Timely icon

Power end-to-end data operations for your Timely API with Nexla. Our bi-directional Timely connector is purpose-built for Timely, 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 Timely or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Timely 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 Timely credential, you need an OAuth 2.0 access token and your Timely account ID. Timely's API is served from the base URL https://api.timelyapp.com/1.1, and every request must include the access token as a Bearer token in the Authorization header. Your account ID appears in Timely URL paths and is used to build the API endpoint paths.

To obtain your Timely credentials, follow these steps:

  1. Sign in to your Timely account as an administrator. Registering an OAuth application is only available to the account admin.

  2. Register an OAuth application from your account's OAuth applications page (https://app.timelyapp.com/<account_id>/oauth_applications), providing an application name and a redirect URL. Timely will issue a client ID and client secret for the application.

  3. Complete the OAuth 2.0 authorization code flow: direct the user to Timely's authorize endpoint, then exchange the returned authorization code for an access token by making a POST request to the token endpoint with your client ID, client secret, redirect URL, and the authorization code.

  4. Note the access_token returned in the token response. This value is used as the Bearer token for all API requests and remains valid until a new token is generated.

  5. Record your Timely account ID, which is the numeric identifier that appears in your Timely application URLs. Nexla uses this value to construct the API URL paths for each endpoint.

For full details on Timely's authentication flow and available endpoints, see the Timely API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
API KeyYesYesOAuth 2.0 access token. Include as a Bearer token.
Account IDYesNoTimely account ID used in API URL paths.

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.

  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 Timely OAuth 2.0 access token in the API Key field. Nexla sends this value as a Bearer token in the Authorization header of every request to the Timely API, so it must be kept confidential.

  4. Enter your Timely account ID in the Account ID field. Nexla uses this value to construct the API URL paths for each endpoint.

    If your access token is compromised, generate a new token in Timely and update the credential in Nexla. A Timely access token remains valid until a new one is generated.

    For detailed information about Timely authentication and available endpoints, see the Timely API documentation.

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

Retrieve all users for the account.

  • This endpoint returns the list of users associated with your Timely account. The results are paginated, and Nexla automatically iterates through pages to fetch the complete set of records.

For detailed information about user fields and API response structures, see the Timely API documentation.

[Rest API] List Clients

Retrieve all clients (companies) for the account.

  • This endpoint returns the list of clients, or companies, defined in your Timely account. The results are paginated, and Nexla automatically iterates through pages to fetch the complete set of records.

For detailed information about client fields and API response structures, see the Timely API documentation.

[Rest API] List Time Entries

Retrieve time entries (hours) logged for the account.

  • This endpoint returns the time entries, or logged hours, recorded in your Timely account. The results are paginated, and Nexla automatically iterates through pages to fetch the complete set of records.

For detailed information about time entry fields and API response structures, see the Timely API documentation.

[Rest API] List Labels

Retrieve all labels (tags) for the account.

  • This endpoint returns the labels, or tags, defined in your Timely account. The results are paginated, and Nexla automatically iterates through pages to fetch the complete set of records.

For detailed information about label fields and API response structures, see the Timely API documentation.

[Rest API] List Projects

Retrieve all projects for the account.

  • This endpoint returns the list of projects in your Timely account. The results are paginated, and Nexla automatically iterates through pages to fetch the complete set of records.

For detailed information about project fields and API response structures, see the Timely 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

Timely data sources can also be manually configured to ingest data from any valid Timely 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 Timely 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 Timely destination, and select the Send to Destination option from the menu. Select the Timely connector from the list of available destination connectors, then select the credential that will be used to connect to Timely, and click Next; or, create a new Timely 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 Timely 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.

[Rest API] Create Time Entry

Create a new time entry (hour) in a project.

  • This endpoint sends each record from your Nexset as a JSON request body to create a new time entry, or logged hour, in a Timely project. The request body must include the time entry fields required by the Timely API.

For detailed information about the request body format and required time entry fields, see the Timely API documentation.

[Rest API] Update Time Entry

Update an existing time entry (hour).

  • This endpoint updates an existing time entry in Timely. Provide the ID of the time entry to update, along with the fields to change in the JSON request body. Each record from your Nexset is sent as a separate API request.

For detailed information about the request body format and required time entry fields, see the Timely API documentation.

[Rest API] Create Project

Create a new project.

  • This endpoint sends each record from your Nexset as a JSON request body to create a new project in your Timely account. The request body must include the project fields required by the Timely API.

For detailed information about the request body format and required project fields, see the Timely API documentation.

[Rest API] Update Project

Update an existing project.

  • This endpoint updates an existing project in Timely. Provide the ID of the project to update, along with the fields to change in the JSON request body. Each record from your Nexset is sent as a separate API request.

For detailed information about the request body format and required project fields, see the Timely API documentation.

[Rest API] Create Client

Create a new client.

  • This endpoint sends each record from your Nexset as a JSON request body to create a new client, or company, in your Timely account. The request body must include the client fields required by the Timely API.

For detailed information about the request body format and required client fields, see the Timely API documentation.

Manual configuration

Timely destinations can also be manually configured to send data to any valid Timely 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.

Timely APIs expect JSON format for write operations. For update operations, include the ID of the object to be updated at the end of the URL.

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 Timely endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Timely endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.