Assignment Apps Integration Requirements
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.
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.
- The app categories that the App is published under, must include "Learning and Training" (Previously known as "Training and Tutorials").
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.
To maximize the best user experience, this is what you need to do:
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.
- 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.
- If the main content of the page takes some time to load, consider using the Teams Loading Indicator to provide the user feedback. Show a native loading indicator - Create a content page - Teams | Microsoft Docs
- 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.
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 | 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 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.
- Figma Microsoft Team UI Kit: Figma link for UI information.
- App submission tips and frequently failed cases – Teams: Describes tips for a successful Teams store submission and common reasons submissions fail..