Microapps

Integrate Smartsheet

Deploy the Smartsheet integration to manage sheets, discussions, update requests, and attachments.

For comprehensive details of the out-of-the-box microapps for Smartsheet, see Use Smartsheet microapps.

Note:

This Smartsheet integration template is released in Citrix Labs category. This allows the functionality to mature as a result of initial customer feedback. For Citrix Labs templates, there is no commitment to support and support is provided by the developer on a best-effort basis. Citrix Labs integration templates are shared for the purpose of testing/validation. We do not advise deploying them in production environments. Citrix Labs templates are listed in a separate section. We want your feedback! Please provide feedback for this integration template as you use it. For any issues, our team will also monitor our dedicated forum on a daily basis.

Review prerequisites

These prerequisites assume that the administrator will be a part of the SmartSheet integration set up of the organization. This Smartsheet admin account must have full read privileges for all users and sheets informations.

After you set up this integration with Smartsheet, you will need these artifacts to add the integration in Citrix Workspace Microapps:

  • Base URL: https://api.smartsheet.com/
  • Authorization URL: https://app.smartsheet.com/b/authorize
  • Token URL: https://api.smartsheet.com/2.0/token
  • Client ID: The client ID is the string representing client registration information unique to the authorization server. You collect this as Application Key when you configure the OAuth server.
  • Secret: The client secret is a unique string issued when setting up the target application integration. You collect this as Application Key when you configure the OAuth server.

Note:

It is recommended that you always use OAuth 2.0 as your service authentication method where 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 for Blackboard so that once users log in 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.

Create a service account

The integration requires regular access to your Smartsheet instance, so we recommend creating a dedicated user account. This account must have the following permissions for your Service Account: Full administrator privileges. You can view the permission/privileges using https://admin.smartsheet.com.

To create a service account, sign up here: https://app.smartsheet.com/b/signup. Ensure that the paid account is available to create a new service account.

In case of issues setting up the new service account, please connect to the respective sales support team or customer support team: https://www.smartsheet.com/contact/sales?fts=contact.

API access

The number of API requests that can be made to specific resources is limited, we therefore recommend the following:

Smartsheet APIs are available in open source by default.

Configure OAuth server

Configure the OAuth server to read data through the Smartsheet integration.

  1. Navigate to https://developers.smartsheet.com/register/ and enter your service account admin email.
  2. Select Register Developer Account.
  3. Check for an email from Smartsheet in the Service account admin inbox.
  4. Select the link. You are navigated to https://app.smartsheet.com.
  5. A dialog box will prompt you to create a new app. Select Create New App under the developer profile section.
  6. Complete the required fields, including App name, Description, URL, and Contact/Support email.
  7. Enter the following authorized redirect URLs for this app in the Redirect URL field: https://{yourmicroappserverurl}/admin/api/gwsc/auth/serverContext
  8. Select the Publish app check box and select Save.
  9. Copy and save the ClientId and Secret shown on the screen. You use this for Service Authentication while configuring the integration.

Configure OAuth client

Configure the OAuth client to write data back through the Smartsheet integration.

  1. As in step 5 above, select Create New App under the developer profile section.
  2. Complete the required fields, including App name, Description, URL, and Contact/Support email.
  3. Enter the following authorized redirect URLs for this app in the Redirect URL field: https://{yourmicroappserverurl}/admin/api/gwsc/auth/serviceAction/callback
  4. Select the Publish app check box and select Save.
  5. Copy and save the ClientId and Secret shown on the screen. You use this for Service Action Authentication while configuring the integration.
  6. Select Close.

Add the integration to Citrix Workspace Microapps

Add the Smartsheet integration to Citrix Workspace Microapps to connect to your application. The authentication options are preselected. Ensure that these options are selected as you complete the process. This delivers out-of-the-box microapps with pre-configured notifications and actions that are ready to use within your Workspace.

Follow these steps:

  1. From the Microapp Integrations page, select Add New Integration and Add a new integration from Citrix-provided templates.
  2. Choose the SmartSheet tile.
  3. Enter an Integration name for the integration.
  4. Enter Connector parameters.
    • Enter the instance Base URL:
    • Select an Icon for the integration from the Icon Library, or leave this as the default icon.
  5. Under Service authentication, select OAuth 2.0 from the Authentication method menu and complete the authentication details. The authentication options are preselected. Ensure that these options are selected as you complete the process. Use the OAuth 2.0 security protocol to generate request/authorization tokens for delegated access. It is recommended that you always use OAuth 2.0 as your service authentication method where available. OAuth 2.0 ensures that your integration meets the maximum security compliance with your configured microapp.
    1. Select OAuth 2.0 from the Authentication method menu and complete the authentication details.
    2. Select Authorization Header from the Token authorization menu.
    3. The Authorization URL is prefilled: https://app.smartsheet.com/b/authorize
    4. The Token URL is prefilled: https://api.smartsheet.com/2.0/token
    5. Ensure the following is entered for Scope: ADMIN_SHEETS ADMIN_USERS READ_SHEETS READ_USERS
    6. Enter your Client ID. The client ID is the string representing client registration information unique to the authorization server. You collect this as ClientId when you configure the OAuth server.
    7. Enter your Client secret. The client secret is a unique string issued when setting up the target application integration. You collect this as Secret when you configure the OAuth server.
  6. Under Service Action Authentication, enable the Use Separate User Authentication in Actions toggle. Service action authentication authenticates at the service action level. The authentication options are preselected. Ensure that these options are selected as you complete the process.
    1. Select OAuth 2.0 from the Authentication method menu and complete the authentication details.
    2. Select Authorization Header from the Token authorization menu.
    3. The Authorization URL is prefilled: https://app.smartsheet.com/b/authorize
    4. The Token URL is prefilled: https://api.smartsheet.com/2.0/token
    5. Ensure the following is entered for Scope: ADMIN_SHEETS ADMIN_USERS SHARE_SHEETS WRITE_SHEETS CREATE_SHEETS ADMIN_WORKSPACES
    6. Enter your Client ID. The client ID is the string representing client registration information unique to the authorization server. You collect this as ClientID when you configure the OAuth client.
    7. Enter your Client secret. The client secret is a unique string issued when setting up the target application integration. You collect this as Secret when you configure the OAuth client.
  7. Enable the Enable request rate limiting toggle button. Enter 300 for Number of requests and 1 minute for Time interval.
  8. Request timeout is set to 120 by default.
  9. (Optional) Enable Logging toggle to keep 24 hours of logging for support purposes.
  10. Select Save to proceed.

You are now ready to set and run your first data synchronization.

Synchronization

Due to the API call limit, incremental synchronization is setup to retain only List org sheets, List org discussions, and Get all org sentupdaterequests. The remaining endpoints will be triggered as part of full synchronization.

We recommend setting the Full Synchronization interval as Daily and Incremental Synchronization interval as Every 5 mins to regularly refresh data from Smartsheet to the Microapps platform and receive timely notifications. For complete information about synchronization rules, synchronization that does not meet its schedule and veto rules, see Synchronize data.

Note:

The pagination limit is set to 100. Administrators can extend this limit based on APIs.

The default value for Max pages to load variable is set as shown below:

Endpoint Name Value
List Org Sheets 50
List Groups 10
List Org Discussions 10
Get all org sentupdaterequests 10
List Sheets 50
Get Sheets 10
List Sheet Shares 10
List Groups 50

For more details of API endpoints and table entities, see Smartsheet connector specifications.

Use Smartsheet microapps

Existing application integrations come with out-of-the-box microapps. Start with these microapps and customize them for your needs.

Access Sheets: View sheets, share a sheet to a licensed or non-licensed user or group, add a sheet as favorite, and allow users to view their individual sheet.

Notification or Page Use-case workflows
View All Sheets page Allows users to search for shareable and non-shareable sheets.
Shareable Sheet Detail page Provides an actionable view of adding the sheet as a favorite, viewing the sheet, sharing the sheet with licensed/non-licensed users or groups.
Non-Shareable Sheet Detail page Provides an actionable view of adding sheet as a favorite and viewing the sheet.
Shareable Group Sheet Detail page Provides an actionable view of adding the sheet as a favorite, viewing the sheet, sharing the sheet with licensed/non-licensed users or groups.
Non-Shareable Group Sheet Detail page Provides an actionable view of adding group sheet as a favorite and viewing the group sheet.

Create a Sheet: Create a new sheet with fields and options such as sheet name, enter column title, select column type, and select primary column.

Notification or Page Use-case workflows
Create Sheet page Provides a form to create a new sheet.

Discussion: Generate notifications to the discussion creator whenever there is a reply to theirs discussion thread.

Notification or Page Use-case workflows
New comment added to your discussion notification When a reply or comment is added to an existing discussion, the discussion creator receives a notification.
Discussion Detail page Provides a form to reply to the discussion thread and view previous comments.

My Update Requests: View sent and received update requests with details such as sent to, sent by, subject and status. Additionally, when a user sends an update request to recipients, the recipients receive a notification. Once the update request is complete,d the sender receive a completed notification.

Notification or Page Use-case workflows
Smartsheet Update Request Received notification When a requester requests an update request, the recipient receives a notification.
Smartsheet Update Request Completed notification When a recipient completes an update request, the requester receives a notification.
All Update Requests page Allows users to search for sent and received update requests.
Sent Update Request Detail page Provides an actionable view of sent update request with Delete update request and view sheet functionality.
Received Update Request Detail page Provides a read only view of a received update request with view sheet functionality.
Completed Update Request Detail page Provides a read only view of a completed update request with view sheet functionality.

Send Smartsheet as Attachment: Send Smartsheets as an attachment (PDF or Excel), with details such as To email, subject, and message.

Notification or Page Use-case workflows
View All Sheets page Allows users to search sheet they own.
Send as Email Detail page Provides an actionable view to send a smartsheet as an attachment (PDF or Excel) with subject and/or message.

Share with Admin: Used by Non-Admin users to share their sheets to admins with view only access, and to unlock other features such as Access sheets, My Update request, Discussions, and receive the respective notification. Share the sheet with Admin to unlock additional Smartsheet actions and notifications in Workspace for you, including: update request actions/notifications, discussion notifications, and viewing your sheets.

Note:

In this microapp there is a page named Share Sheet To Admin which contains a Select component called Admin Email (this is not visible to the end user). This component is used to share user sheets with your organization’s Admin account. This Admin account is the same Service Account that you have setup in the previous step. In case your organization has multiple Service/Admin accounts, please make sure to point this Admin Email Select component to the right account to ensure this microapp works correctly.

Notification or Page Use-case workflows
View All Sheets page Allows users to search through their sheets and share them with admin as needed.
Share Sheet to Admin Detail page Provides an actionable view to share a sheet with admin with view-only access, and add a note to a sheet which is already shared.
Sheet Shared with Admin page Provides user confirmation message when the sheet is shared with admin.

Start a Discussion: Start a discussion on sheet level.

Notification or Page Use-case workflows
Start Discussion page Provides an actionable view to initiate a discussion at a sheet level.
Integrate Smartsheet