Recruiting & ATS · Integration

Embed an Upwork integration in your product

Add Upwork to your product for your customers, and give your AI agents governed access to it.

Upwork is a marketplace, so the records worth integrating describe an engagement rather than an employee: a job posting, the proposals against it, the offer that follows and the contract the work is billed under. Access is OAuth 2.0 against a GraphQL endpoint, and the practical fact to design around is that the public API leans heavily to reads. You can search postings, look up profiles and contracts, read timesheet and billing records and subscribe to webhook events, but a proposal is submitted by a person on Upwork rather than by your integration. Building on what it genuinely offers, instead of assuming parity with an internal hiring system, is most of the work. fastn keeps each client account's OAuth tokens and follows the schema as it moves.

Start freeBook a demo

In your product

Embedded for your customers. Per-tenant auth, customized per customer, maintained by fastn.

Let each customer connect their own Upwork account so the freelance engagements they already run show up beside the rest of the work in your product.

Read a job posting with the proposals against it so your product can rank or shortlist without anybody re-typing rates and skills.

Follow an offer through to an active contract, and keep your own engagement records in step as its state changes.

Pull timesheet and billing records per client account so freelance spend reconciles against the budgets your product already tracks.

For your AI agents

Governed, audited access for the agents you build, through the MCP server.

An agent compares the proposals on one posting by rate, history and skills, reading only the account that authorised it.

An agent reports hours logged and amounts billed against an active contract for the period somebody asks about.

An agent says plainly which actions the API does not offer, rather than reporting a proposal as submitted when Upwork never accepted one.

Example prompt

Which of our Upwork contracts are still active, and how many hours did each bill last month?

Set up Upwork in 4 steps

  1. 01Enable the Upwork connector in your fastn dashboard.
  2. 02Have each customer authorise their own Upwork account over OAuth, so calls run under their marketplace access rather than a shared key.
  3. 03Map the job posting, proposal, offer, contract and timesheet fields your product uses, then subscribe to the webhook events you want.
  4. 04Call it from your product and expose the same connection to your agents through the MCP gateway.

Why teams use the Upwork integration

What you get by embedding it with fastn instead of building it yourself.

  • Ship an Upwork integration without building it. Your customers connect their own Upwork account inside your product and work their job requisitions, candidates and applications there, and nothing lands on your team.
  • Handle the part that actually costs time: candidate records are personal data with consent and retention rules attached. fastn owns the auth, token refresh, rate limits, pagination and breaking-change fixes, so an Upwork update is not your on-call problem.
  • One integration serves your product and your agents. The same governed Upwork integration powers in-product features and gives AI agents scoped, audited access, so you keep hiring pipelines moving without manual re-entry without wiring it twice.

Used by these teams

HR & People Ops

Compare with

GreenhouseLever

Works well with

SAP Fieldglass

Often used alongside

Tools the same teams tend to run next to Upwork, across other categories.

SlackNotionBoxDocusignJiraAsanaWorkdayBambooHR

More in Recruiting & ATS

Other Recruiting & ATS apps your customers can connect the same way. All Recruiting & ATS integrations

WorkableAshbySmartRecruitersJobviteTeamtailorCheckr

Upwork integration FAQ

How do I add an Upwork integration to my product?

Enable the Upwork connector in your fastn dashboard, then let each customer authenticate their own Upwork account. fastn handles the OAuth flow, token storage and refresh per tenant, so there is no Upwork client code in your app and no per-customer branch in your codebase. Setup is 4 steps.

Do my customers each connect their own Upwork account?

Yes. Every integration is scoped to the individual customer, so each authorises their own Upwork account and only ever sees their own job requisitions, candidates and applications. That per-tenant isolation is the point of an embedded integration: you support the long tail of customer setups without maintaining an integration per customer.

Can AI agents use this Upwork integration?

Yes. The same integration is exposed to your agents through the fastn MCP gateway, with permissions scoped per tenant and every call audited. An agent compares the proposals on one posting by rate, history and skills, reading only the account that authorised it. A prompt that works on day one: "Which of our Upwork contracts are still active, and how many hours did each bill last month?"

Who maintains the Upwork integration?

fastn does. When Upwork changes an endpoint, deprecates a field or alters its auth, the fix lands in the connector rather than in your backlog, and your customers' integrations keep working.

How is candidate data from Upwork handled?

Access is scoped per tenant and limited to the fields you map, credentials are encrypted, and every read and write is logged. That matters more here than in most apps, because candidate records are personal data that carry consent and retention obligations.

Can my product react when a candidate's status changes in Upwork?

Yes, through event triggers: a stage move where Upwork owns the pipeline, or a completed assessment, a returned report or a finished reference where it owns one step in it. Events are delivered per tenant and can be replayed after an outage, so a hiring team does not silently lose an update while your product was unreachable.

What can I build with the Upwork integration?

A common starting point: let each customer connect their own Upwork account so the freelance engagements they already run show up beside the rest of the work in your product. Teams also use it for the other use cases listed above, and expose it to agents for governed reads and writes.

How much does the Upwork integration cost?

It is included. Pricing is based on customer connections, not on how many connectors you enable, so adding Upwork does not change your cost. You can start free with 3 customer connections.

Add Upwork to your product

Start free with 3 customer connections. No sales call required, and no per-customer integration code.

Start freeRead the docs
← All integrations