Upwork · 15 min · reviewed 2026-09-06

How do I create an Upwork API key and connect it to a CRM?

Upwork needs an API key (client id + secret) created in your Upwork account, with a callback URL pointing at your workspace. The platform team stores the id and secret on your instance; you then click Authorize once and paste the code Upwork returns.

What you will need

  • An Upwork account that owns the agency or profiles you want to pull.
  • Upwork API access (https://www.upwork.com/developer/keys/apply: approval can take a few days).

Steps

  1. 1

    Step 1

    Open https://www.upwork.com/developer/keys and click Create a new key.

  2. 2

    Step 2

    Choose OAuth 2.0, project name SalesCrew, callback URL https://<your-workspace>/functions/v1/upwork-fetch-jobs, permissions Read jobs, proposals and messages.

  3. 3

    Step 3

    Copy the client id and client secret and send them to your platform contact. They are stored as secrets on your instance, never in the browser.

  4. 4

    Step 4

    In SalesCrew: Settings → Upwork API → Step 1: open Upwork's authorization page. Sign in and allow.

  5. 5

    Step 5

    Upwork redirects back with a code. If the page opens the CRM, it finishes by itself; otherwise paste the code or the full callback URL into Step 2.

  6. 6

    Step 6

    Add your profiles under Settings → Channels & profiles.

Common errors

redirect_uri mismatch
the callback URL on the key differs from step 2. They must match exactly.
invalid_client
the secret changed on Upwork's side. Regenerate and send it again.
Feed stays empty
no saved searches yet. Create one under Upwork → Searches.

How you know it worked

Settings → Upwork API shows Connected with the account name. The Upwork feed shows jobs within a minute.

Where this goes in SalesCrew

Settings → Upwork API shows Connected and the job feed fills. In your own workspace the same how-to opens beside the field, with your callback URLs filled in.