Upwork API Job search

I’m a noob and have no idea what I’m doing.

  1. I created a webhook in Make
  2. Then I requested a API key from Upwork with my webhook URL from Make
  3. I can paste a url into a web browser and get access token
  4. I can’t seem to make this whole process inside of Make the redirect_url seems to fail or I really have no clue what I’m doing.

Then end goal is to create a workflow that uses the Upwork API to get jobs and send me a email of new jobs posted.

Please help!!

I’ve not yet used the Upwork API, but https://www.upwork.com/developer/documentation/graphql/api/docs/index.html#getting-started-authentication points out this is an OAuth2 request sequence; so inside Make you’ll start with the HTTP “Make an OAuth2 Request” module.

So I have set that up I either get these two issues.

  1. It runs opens a new browser windows with the word Accepted. Then the workflow say verifyauth failed
  2. It runs and says the redirect url is required but there is no option for a redirect url in the workflow.

Hi @Kyle_Ericson and welcome to Make!

It looks like there is an incorrect setup in your OAuth configuration.

Does this help:

L

I saw this but total noob have no idea how to add that to the oauth settings.
There is no setting for redirect URL

I don’t have an upwork API so I can’t test it on my end. However, this:

https://www.make.com/en/help/tools/http#make-an-oauth-2-0-request

Should help to get you going. They provide the information for the callback URL and how to configure the HTTP call to use the OAuth configuration.

That said, it would really help if we could see what your scenario looks like. If you provide screenshots of how you’ve set it up, how you’ve configured the various modules in your scenario, and the result of running that scenario (screenshots of the input and output bundles) then someone might be able to see the problem.

L

P.S. If you have no idea what I mean when I talk about input and output bundles and screenshots of the configuration, you might want to look at

https://academy.make.com/collections/make-foundation

Welcome to the Make community!

Upwork does NOT have a webhook option. You cannot use a Custom Webhook’s URL with Upwork.

Follow the advice from the others provided above to connect using the HTTP Make an OAuth 2.0 request module, or use the Upwork community integration found here: https://www.make.com/en/integrations/upwork-community

Hope this helps! Let me know if there are any further questions or issues.

@samliew


P.S.: Did you know, the concepts of about 70% of questions asked on this forum are already covered in the Make Academy. Investing some effort into it will save you lots of time and frustration using Make later!

When I went to request the Upwork API I had to put in a callback URL, which is the URL or my webhook.
These are my settings in my Make scenario:


This is the URL I used:
https://www.upwork.com/ab/account-security/oauth2/authorize?client_id=$MYID&response_type=code&redirect_uri=https://hook.us2.make.com/$MYID

Also If I copy this url and paste it into a web browser I get the text accept. I think look in the logs on the web hook and I have my access code.

https://www.upwork.com/ab/account-security/oauth2/authorize?client_id=$client_id&response_type=code&redirect_uri=https://hook.us2.make.com/$webhookid

I’d use the community built Upwork api that was mentioned but it doesn’t include the search for jobs function.

I am looking at the same issue. I have the key, and upworks redirects to call back url (Make.com webhook ) and i am able to extract the access code. However, no matter what i try, any subsequent http requests result in bad request.
Looking for input on how to formulate graphql query using make module and how to provide the access code information ?

Good luck no one on this community seems to know how to do this.

Here’s a simplified breakdown:

  1. Understanding the Upwork API Authentication Process
    Upwork uses OAuth 2.0 for authentication, which involves:

Getting an authorization code.
Exchanging the authorization code for an access token.
The tricky part is to handle the redirect_url properly in your workflow within Make.

  1. Basic OAuth 2.0 Flow for Upwork API
    Request Authorization Code: You open a URL to get the user’s consent (where you paste the URL into your web browser). Upwork then redirects you to your redirect_url with an authorization code.

Exchange Authorization Code: You exchange that code for an access token using another API request.

Access Token: Once you have the access token, you can use it to access Upwork’s API.

  1. Setting Up the Webhook in Make (formerly Integromat)
    Create a Webhook in Make:
    In Make, create a webhook module.
    It will give you a unique Webhook URL.
    Set Webhook URL as Redirect:
    When registering your app on Upwork, use the Webhook URL from Make as your redirect_url.
    This way, once you authorize in the browser, Upwork will send the authorization code to the Webhook.
  2. OAuth Setup for Upwork in Make
    Now, let’s break down how you can automate the OAuth 2.0 process in Make.

Step 1: Authorization Code Request In Make, you won’t trigger this automatically as OAuth requires user interaction for login. Open the URL in your browser:
https:/ /www.upwork. com/api/auth/v1/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_MAKE_WEBHOOK_URL

Replace YOUR_CLIENT_ID with your Upwork app’s client ID.
Replace YOUR_MAKE_WEBHOOK_URL with the Webhook URL created in Make.
After you grant access, Upwork will redirect to the Make Webhook URL with the authorization code.

Step 2: Capture the Authorization Code in Make When Upwork redirects to the Webhook URL, Make will capture the authorization code.

Add a Webhook Trigger module in Make to capture the incoming data from Upwork (this will be the authorization_code).
Step 3: Exchange Authorization Code for Access Token

Add an HTTP module in Make to send a POST request to Upwork to exchange the authorization code for an access token. The endpoint to use is:
https:// www.upwork. com/api/auth/v1/oauth2/token

Use the authorization code from the previous step.
You need to send the client_id, client_secret, grant_type as authorization_code, and the authorization code itself.
Upwork will respond with an access token.
Step 4: Use the Access Token to Get New Jobs Now that you have the access token, you can use it to call the Upwork Jobs API. You can make requests to endpoints like:
https:// www.upwork. com/api/v3/jobs/search.json?q=YOUR_QUERY

Add another HTTP module to Make to make the request.
Include the access token in the header (as a Bearer Token).
Step 5: Send the Job Data to Email After fetching the jobs:

Use an Email module in Make to send yourself an email with the list of new jobs.

Have you considered using a Browse AI module? You could build a custom monitoring robot to scrape results from a specific search in upwork and set a run frequency in Browse AI. Then, use the Browse AI module in Make.com to retrieve this data. Then you could connect it to an email module to send the data directly or, for better organization, upload the data to a sheet like Airtable or Google Sheets. You could then include a link to this sheet in the email, allowing for an organized review of posting information and links.