The Upwork Microapps for Citrix Workspace can help you save time and effort by giving you direct access to many of Upwork's features right in your company's workspace.
What is Citrix Workspace?
Citrix Workspace is an app that allows users to access multiple computers, files, apps, and services from a single unified interface. By adding Upwork to your Citrix Workspace, you can reduce context switching for users and eliminate the need to visit the Upwork platform for many routine tasks.
Citrix Workspace and their integrated microapps provide users with a streamlined work experience and user interface. It works to:
- Deliver relevant, actionable notifications
- Offer intuitive microapp workflows
- Make essential systems and applications directly accessible from a user’s own workspace
Learn more about Citrix here.
These prerequisites assume that the administrator will be a part of the Upwork integration setup of the organization. This Upwork admin account must have full read privileges for user information.
After you set up this integration with Upwork, you will need these artifacts to add the integration in Citrix Workspace Microapps, specifically the following list of parameters for setting up OAuth integration:
- BASE URL: https://www.upwork.com/api/
- AUTHORIZATION URL: https://www.upwork.com/ab/account-security/oauth2/authorize
- TOKEN URL: https://www.upwork.com/api/v3/oauth2/token
- CLIENT ID: The client ID is the string representing client registration information unique to the authorization server
- SECRET: The client secret is a unique string issued when setting up the target application integration
Note that the fields listed will be pre-populated when the template is imported.
We recommend that you always use OAuth 2.0 as your service authentication method, when available. OAuth 2.0 ensures that your integration meets the maximum security compliance with your configured microapp.
Configure Citrix Gateway to support single sign-on (SSO) for Upwork so that once users have logged in once, they are automatically logged in again without having to enter their credentials a second time. For more information about configuring SSO, see Citrix Gateway Service.
The integration requires regular access to your Upwork instance, so we require creating a dedicated service account. This account must have the following permissions:
- Request setup: As an Administrator for your company’s Upwork account, please reach out to your Upwork Solutions Architect for support in setting up your Citrix integration.
- Permissions Required: Full hiring privileges on all teams
The number of API requests that can be made to specific resources is limited. We recommend Upwork Enterprise plans for use with the Upwork Microapps.
Enable APIs and create a service account
Upwork APIs are enabled by default through web services for paid accounts.
Upwork API provisioning
As an administrator for your company’s Upwork account, please reach out to your Upwork Solutions Architect for support in setting up your Citrix integration.
To get a Service Account set up (for back-end polling APIs), you’ll need:
- Client ID
The Upwork team will need:
- Company name
- User email
- User ID
To ensure your Upwork Microapps are fully functional, you’ll need to request a client ID & token for end user write actions.
Apply for your OAuth2 keys here.
You’ll need to enter the necessary usage and permissions.
- Project title: Citrix microapp setup
- Project type: Web project
- Project description: Citrix microapp service actionsetup
- API usage: 11-100
- Auth Type: OAuth 2.0
- Permissions required: Permissions required: Create, modify and remove job posts
Add Upwork Microapps to Citrix Workspace
To add the Upwork Microapps to Citrix Workspace, the authentication options have been preselected. Ensure that these options are selected as you complete the process.
By applying preselected authentication options, you can use the Upwork Microapps out-of-the-box with pre-configured notifications and actions all ready to use within your Workspace.
Under My Services, you’ll find the Manage button on the Microapps tile.
You’re now in the Microapps Admin. You’ll see the Get Started button in the middle of the page. You can also choose the Manage tab at the top of the page.
You’ll see this button once you’re working under the Microapps Admin Manage tab.
You’ll see a popup asking what kind of integration you’d like to add. The first option will be Add a new integration from Citrix-provided templates. Choose this option and select Continue.
The Upwork Microapp tile is white and green, and it displays the Upwork logo.
Once you choose the Upwork Microapp, a drawer will open showing the integration details. Choose Add to add your configuration details.
Input the authorization details to connect your Citrix and Upwork company accounts. Once complete, choose Save.
There are two sets of tokens, Service Authentication and Service Action. Each has a unique ClientID and Secret requested and received from Upwork.
Within Configuration, look for the Service authentication section. You’ll need to enter your client ID and client secret in the appropriate fields.
Also, look for the Service Action Authentication section. You’ll need to enter your client ID and the second client secret in the appropriate fields. Then, choose Save.
Note: If a user ever wants/needs to change their configuration, you should see the Upwork Microapp listed on the Microapp Integrations page. Open the three-dot menu (...) in the top right corner, and select Edit. Next, select Configuration from the left sidebar to see the full configuration details.
You’ll find the Data loading option in the left sidebar.
You’ll see GQL_JOB listed. Open the (...) menu icon and select Edit.
Find the Header tab. Set your Organization ID against the parameter X-Upwork-API-TenantId. Once entered, scroll down and choose Apply.
Return to the Data Loading section. This time, go to organization_teams and select Edit.
Return to the Header tab.
Set your Organization ID against the parameter X-Upwork-API-TenantId.
Next, find the Body tab and set your Organization ID against the parameter X-Upwork-API-TenantId.
Once entered, scroll down and choose Apply. Your service account is set up and ready to go!
List of jobs
Displays the latest active 20 jobs that belong to the organization
List of proposals
Displays the latest 10 proposals for each job
List of providers
Displays first 100 records with Job Success Score >= 90% and English Skill level >= 4
Displays all active categories
Displays list of root organization and children which are not hidden
Displays all the companies the currently authorized user has access to
Displays list of teams that belongs to each company
Notes on General Behavior
- Each cache table associated with the endpoints above gets synchronized once every 15 minutes
- Synchronization happens in full mode
Example: After adding a new job post or canceling a job, the notification should be received in 15 minutes or less.