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
Step 1
Open https://www.upwork.com/developer/keys and click Create a new key.
- 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
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
Step 4
In SalesCrew: Settings → Upwork API → Step 1: open Upwork's authorization page. Sign in and allow.
- 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
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.