Basecamp

Project Management & Team Communication

Go to site
Explore
/
Apps
/
Basecamp

Basecamp API Integrations

Build and run workflows using the Basecamp API. Use 1000s of open source triggers and actions across 1000+ apps. Or write custom code to integrate any app or API in seconds.

Overview

Using the Basecamp API, you can build applications that:

  • Access and manage your Basecamp account
  • Create, edit, and delete projects
  • Manage project members
  • Manage to-dos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    basecamp: {
      type: "app",
      app: "basecamp",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://launchpad.37signals.com/authorization.json`,
      headers: {
        Authorization: `Bearer ${this.basecamp.$auth.oauth_access_token}`,
      },
    })
  },
})

Authentication

Basecamp uses OAuth authentication. When you connect your Basecamp account, Pipedream will open a popup window where you can sign into Basecamp and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Basecamp API.

Pipedream requests the following authorization scopes when you connect your account:

OAuth Request Configurations:
  1. authorization
    GEThttps://launchpad.37signals.com/authorization/new?client_id={{oauth.client_id}}&redirect_uri={{oauth.redirect_uri}}&state={{oauth.state}}&response_type=code&scope={{oauth.space_separated_scopes}}&type=web_server
  2. accessToken
    POSThttps://launchpad.37signals.com/authorization/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{oauth.client_id}}&client_secret={{oauth.client_secret}}&redirect_uri={{oauth.redirect_uri}}&grant_type=authorization_code&code={{oauth.code}}&type=web_server
  3. refreshToken
    POSThttps://launchpad.37signals.com/authorization/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{oauth.client_id}}&client_secret={{oauth.client_secret}}&refresh_token={{oauth.refresh_token}}&type=refresh&redirect_uri={{oauth.redirect_uri}}