Skip to content

Assignment Apps Integration Requirements

cristobal-buenrostro edited this page Jan 30, 2023 · 17 revisions

We are excited that you will be integrating your app with the new Assignment Flow in Microsoft Teams! This makes it easier for educators to share your learning content with students.

The Assignment Integration is built on the Channel Tabs Apps in Teams. If you have already built this, you are almost there for supporting assignments. Since we are using a new functionality in Teams called Stage view, there are additional requirements for a JavaScript and Manifest version before enabling this in Assignments. Learn more below.

Requirements

Latest SDK JavaScript Version

  • The application needs to use SDK 1.9 or newer.
  • For SDK reference information see here.

Channel Tab App

  • Only Channel and Groups Tab Apps are supported for Assignments.
  • Find out more here on how to create Channel and Group Tab Apps.

Mobile Support

  • The Assignment Apps will appear on Teams mobile clients.
  • The setSettings() configuration must have a value for the websiteUrl property.
  • To ensure optimal user experience, you must follow the guidance for tabs on mobile when creating your tabs.
  • Apps distributed through the Teams store have a separate approval process for mobile clients.

Manifest Support

  • The Manifest Support for the application will need to be 1.6 or newer.
  • The developer updates the Manifest by resubmitting the app to the store with the updated manifest file.

App Category in Manifest

  • The app categories that the App is published under, must include "Learning and Training" (Previously known as "Training and Tutorials").

Stage View

When the application is launched from Assignments, it is launched in a new feature called Stage View. Stage View is a new UI component, which allows you to render the content that is opened in full screen in Teams. You can test your application in Stage view following the steps here Tabs link unfurling and Stage View - Teams | Microsoft Docs

Tip: You can use the Excel Workbook here https://aka.ms/StageViewURL to generate a URL to quickly test your app in Stage View using your appid, contentURL and WebURL.

Best Experience

To maximize the best user experience, this is what you need to do:

Support SSO

Support an authentication flow for the application to allow for quick configuration for the educators creating the Assignment App and easy use for the Student using the Application inside Assignments.

Note: You need to support JavaScript 1.9 or newer in order to use SSO with Assignments.

Support content selection in App Setup

  • When a teacher shares content with students to use, the educator selects a single quiz or piece of content to share. So instead of sharing a dashboard of quizzes, move to a model where a single quiz or content is selected.
  • To enable this, the educator should be able to select from his quiz/content as part of the installation process.
  • The configuration is done on the configuration page here Create a configuration page - Teams | Microsoft Docs, where at the end you will get a content url that is shared with the student.

Loading Indicator

Immersive Reader

  • Inclusively designed to help people of all abilities with reading.
  • Dyslexia, ADHD, emerging readers, non-native speakers, visual impairments
  • Already used in Word, OneNote, Teams, Outlook, Forms, Flipgrid and Office Lens. Today, Immersive Reader is empowering more than 35 million people
  • https://aka.ms/ImmersiveReaderforPartners.

Utilize Assignments Context

Use the Assignments context payload passed within the content URL to intelligently navigate users to the correct location within your app. The context contains the following properties:

  • classId: The ID of the class.
  • assignmentId: The ID of the assignment.
  • submissionId: The ID of the assignment submission.
  • view: The view in Assignments where the user opened the Teams app from.
    • Values: AssignmentCreator, AssignmentViewer, SpeedGrader
  • userRole: The role of the user.
    • Values: teacher, student

Example contentUrl:

https://www.my-teams-app.com/open?classId=a9b0c265-498b-4c19-a10a-fde468f96a81&assignmentId=244666b4-34e8-4524-a805-041a8e05aee2&submissionId=13b53e7f-c300-be6a-dfbe-c12eb0b1272d&view=SpeedGrader&userRole=teacher

NOTE: The Assignments context should not be used to infer the identity of the user. Instead, use the scenario reference table to learn more about how to identify the user.

Scenario Reference Table

Scenario Documentation Link
Identify a user https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/how-to/access-teams-context#get-context-by-using-the-microsoft-teams-javascript-library
Retrieve an auth token on behalf of the user SSO documentation
Utilize the Assignments context Assignments context documentation
Query for Assignments data https://docs.microsoft.com/en-us/graph/api/resources/educationassignment?view=graph-rest-1.0

Developer Tips

  • Developer Environment: Using your Microsoft Partner Network (MPN) ID (sign up here if you don’t have one), follow the steps here to create an EDU Developer tenant.

Other helpful resources: