• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A template for building complex bots for Microsoft Teams - Node.JS version
page_type products languages extensions
sample
office-teams
office-365
nodejs
typescript
contentType technologies createdDate
samples
Tabs
5/8/2017 9:41:53 AM

NOTE: This repository is now archived. Its contents have moved here.

Microsoft Teams Bot in Node.js

Sample that shows how to build a Microsoft Teams bot in Node.js.

Fastest way to see this project in action

  1. Remix and get the project running on Glitch by simply clicking here:

Remix on Glitch

  1. It will take a few moments for the project to start running. Watch as the project builds/deploys by clicking the "Logs" button on the left. You know it is running when you see something similar to this at the end of the logs:

    Server running successfully
    Endpoint to register in Bot Framework:
    https://incredible-court.glitch.me/api/messages

  2. Using the endpoint given in the logs, register a new bot (or update an existing one) with Bot Framework by using the full endpoint as the bot's "Messaging endpoint". Make sure to add Teams as a channel for the bot. Bot registration is here (open in a new browser tab): https://dev.botframework.com/bots

    NOTE: When you create your bot you will create an App ID and App password - make sure you keep these for later.

  3. Once you have saved your bot and gotten the confirmation that it is created, navigate back to your Glitch project. Open the ".env" file. There, copy/paste your App ID and App password from the step above in the environment variables replacing "NeedToSetThis", e.g.

    MICROSOFT_APP_ID=88888888-1111-2222-3333-999999999999
    MICROSOFT_APP_PASSWORD=abc123abc123abc123abc12
    
  4. With Glitch, file saves happen automatically, and the project is rebuilt seconds after the file is saved. Once you get the confirmation from the logs (Tools -> Logs at the bottom) that your server is running again, press the "Show" -> "In a New Window" button at the top. This should open a page with information about your project, verification icons with green vs. red indicators, and a button to Create/Download Manifest file for the project.

  5. Click to Create/Download Manifest taking note of the download location. Once complete, sideload the manifest to a team as described here (open in a new browser tab): https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/deploy-and-publish/apps-upload

Congratulations!!! You have just created and sideloaded your first Microsoft Teams app! Try adding a configurable tab, at-mentioning your bot by its registered name, or viewing your static tabs.

NOTE: Most of this sample app's functionality will now work. The only limitations are the authentication examples because your app is not registered with AAD nor Visual Studio Team Services.

Steps to run locally

Prerequisites

  • Install Git for windows: https://git-for-windows.github.io/

  • Clone this repo:

    git clone https://github.com/OfficeDev/microsoft-teams-sample-complete-node.git
  • Install VSCode: https://code.visualstudio.com/

    • NOTE: When installing, setting "open with" for the file and directory contexts can be helpful
  • Install Node: https://nodejs.org/en/download/

  • Download the npm modules - in the microsoft-teams-bot-template directory run:

    npm install
  • (Only needed if wanting to run in Microsoft Teams)
    Install some sort of tunnelling service. These instructions assume you are using ngrok: https://ngrok.com/

  • (Only needed if wanting to run in the Bot Emulator)
    Install the Bot Emulator - click on "Bot Framework Emulator (Mac and Windows)": https://docs.botframework.com/en-us/downloads/#navtitle

    • NOTE: make sure to pin the emulator to your task bar because it can sometimes be difficult to find again

Steps to see the bot running in the Bot Emulator

NOTE: Teams does not work nor render things exactly like the Bot Emulator - this method is meant as just a slightly easier way to see the project's bot running

  1. Open the microsoft-teams-bot-template directory with VSCode

  2. In VSCode go to the debug tab on the left side (looks like a bug), and then at the top click the play button (should be defaulted to running the "Launch - Emulator" configuration)

  3. Once the code is running (bar at the bottom will be orange), connect with the Bot Emulator to the default endpoint, "http://localhost:3978/api/messages", leaving "Microsoft App ID" and "Microsoft App Password" blank

Congratulations!!! You can now chat with the bot in the Bot Emulator!

Steps to see the full app in Microsoft Teams

  1. Begin your tunnelling service to get an https endpoint. For this example ngrok is used. Start an ngrok tunnel with the following command (you'll need the https endpoint for the bot registration):

    ngrok http 3978 --host-header=localhost
  2. Register a new bot (or update an existing one) with Bot Framework by using the https endpoint started by ngrok and the extension "/api/messages" as the full endpoint for the bot's "Messaging endpoint". e.g. "https://####abcd.ngrok.io/api/messages" - Bot registration is here (open in a new browser tab): https://dev.botframework.com/bots

    NOTE: When you create your bot you will create an App ID and App password - make sure you keep these for later.

  3. Open the whole project, the microsoft-teams-bot-template directory, with VSCode - navigate to .vscode/launch.json and find the configuration named "Launch - Teams Debug" - here you will need to set three of the environment variables:

    • BASE_URI - gets set to your ngrok's https endpoint
    • MICROSOFT_APP_ID - gets set to your registered bot's app ID
    • MICROSOFT_APP_PASSWORD - gets set to your registered bot's app password
      "BASE_URI": "https://#####abc.ngrok.io"
      "MICROSOFT_APP_ID": "88888888-8888-8888-8888-888888888888"
      "MICROSOFT_APP_PASSWORD": "aaaa22229999dddd0000999"
      

NOTE: making the above changes to the "Launch - Fiddler" configuration and running this configuration will allow the bot's messages to show up in Fiddler. Fiddler must be running, though, for the app to work.

  1. Start your app. Do this by going to the debug tab on the left side of VSCode (looks like a bug) - in the upper left hand corner you will see a dropdown that probably says "Launch - Emulator" - change that to the "Launch - Teams Debug" configuration that you setup (NOTE: certain things can trigger this to revert back to the "Launch - Emulator" configuration, so make sure you are running the correct configuration) - click the play button - the app is running when the bar at the bottom changes to orange

  2. Once the app is running, a manifest file is needed. There are two ways to get this:

    • Easiest - in a browser, navigate to (open in a new browser tab) http://localhost:3978 - this should open a page with information about your project, verification icons with green vs. red indicators, and a button to Create/Download Manifest file for the project. Click to Create/Download Manifest taking note of the download location.

      OR

    • Manual way, but good to know about the manifest file - on the left pane of VSCode, navigate back to the Files Explorer. Navigate to the file, manifest/manifest.json - change:

      • <<REGISTERED_BOT_ID>> (there are 3) change to your registered bot's app ID
      • <<BASE_URI>> (there are 4) change to your https endpoint from ngrok
      • <<BASE_URI_DOMAIN>> (there is 1) change to your https endpoint from ngrok excluding the "https://" part
    • Save the file and zip this file and the bot_blue.png file (located next to it) together to create a manifest.zip file

  3. Once complete, sideload your zipped manifest to a team as described here (open in a new browser tab): https://docs.microsoft.com/microsoftteams/platform/concepts/apps/apps-upload

Congratulations!!! You have just created and sideloaded your first Microsoft Teams app! Try adding a configurable tab, at-mentioning your bot by its registered name, or viewing your static tabs.

NOTE: Most of this sample app's functionality will now work. The only limitations are the authentication examples because your app is not registered with AAD nor Visual Studio Team Services.

Overview

This project is meant to help a Teams developer in two ways. First, it is meant to show many examples of how an app can integrate into Teams. Second, it is meant to give a set of patterns, templates, and tools that can be used as a starting point for creating a larger, scalable, more enterprise level bot to work within Teams. Although this project focuses on creating a robust bot, it does include simples examples of tabs as well as examples of how a bot can give links into these tabs.

What it is

At a high level, this project is written in TypeScript, built to run a Node server, uses Gulp to run its build steps, runs a TypeScript linting tool to keep the code uniform, and uses the BotFramework to handle the bot's requests and responses. This project is designed to be run in VSCode using its debugger in order to leverage breakpoints in TypeScript. Most directories will hold a README file which will describe what the files within that directory do.

The easiest way to get started is to follow the steps listed in the "Steps to get started running the Bot Emulator". Once this is complete and running, the easiest way to add your own content is to create a new dialog in src/dialogs by copying one from src/dialogs/examples, change it accordingly, and then instantiate it with the others in the RootDialog.ts.

General Architecture

Most TypeScript files that need to be transpiled (and the bulk of the project) reside in the src directory. Most files outside of the src directory are static files used for either configuration or for providing static resources to tabs, e.g. images and html. At build time, Gulp will transpile everything in the src directory and place these transpiled files into a build directory. Gulp will also move a few static files into this new build directory. Because of this, it is recommended that nothing be changed by a developer in the build directory. All changes should be done on the "source" files so rebuilding the project will update the build directory.

The general flow for using this template is to copy/paste/create/build on the example dialogs in the src/dialogs/examples directory, but to put your newly created dialogs outside of the src/dialogs/examples directory (either parallel to the src/dialogs/examples directory or in new directories of your own). In this way, your dialogs do not coexist with the example dialogs so if the time comes to delete the examples, one can simply delete the src/dialogs/examples directory. More information on how to create new dialogs and add to this project can be found in the file src/dialogs/README.md in the "Creating a New Dialog" section.

Files and Directories

  • .vscode

    This directory holds the files used by VSCode to build the project. The launch.json file is where important environment variables will be stored.

  • luis

    This directory holds an example of a json file used to instruct a Luis recognizer for natural language processing.

  • manifest

    This directory holds the skeleton of a manifest.json file that can be altered in order sideload this application into a team.

  • public

    This directory holds static html, image, and javascript files used by the tabs and bot. This is not the only public directory that is used for the tabs, though. This directory holds the html and javascript used for the configuration page of the configurable tab. The main content of the static and configurable tabs is created dynamically by the code in src/tab/TabSetup.ts or comes from the static files placed in build/src/public/exampleDialogs, which are created at build time based upon the TypeScript dialogs in src/dialogs/examples.

  • src

    This directory holds all of the TypeScript files, which run the entire application. These files, at build, are transpiled and their transpiled javascript files are placed in the build directory.

  • test

    This is a directory to do two things. First, it acts as a placeholder to give an example of a place to store tests. Second, it is a directory that works to keep the directory hierarchy correct when files are moved into the build directory.

  • gulpfile.js

    This file defines the tasks that Gulp will run to build the project correctly. The task to completely build the project is named "build".

  • tsconfig.json

    This file configures the TypeScript transpiling tool.

  • tslint.json

    This file configures the TypeScript linting tool.

  • web.config

    This file is a skeleton of a web.config file that can be used to upload this project into an Azure application.

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

More Repositories

1

office-ui-fabric-core

The front-end CSS framework for building experiences for Office and Microsoft 365.
SCSS
3,770
star
2

Microsoft-Teams-Samples

Welcome to the Microsoft Teams samples repository. Here you will find task-focused samples in C#, JavaScript and TypeScript to help you get started with the Microsoft Teams App!
C#
1,000
star
3

TrainingContent

Training Content used for developer.microsoft.com/office
C#
884
star
4

Office-IT-Pro-Deployment-Scripts

A collection of useful PowerShell scripts to make deploying Office 2016 and Office 365 ProPlus easier for IT Pros and administrators. If you have any feature requests or ideas for future scripts please add the idea to the issues list in this repository
Visual Basic
884
star
5

ews-java-api

A java client library to access Exchange web services. The API works against Office 365 Exchange Online as well as on premises Exchange.
Java
856
star
6

generator-office

Yeoman generator for building Microsoft Office related projects.
TypeScript
833
star
7

Office-Add-in-samples

Code samples for Office Add-in development on the Microsoft 365 platform.
JavaScript
726
star
8

script-lab

Create, run and share your code directly from Office
TypeScript
703
star
9

office-js

A repo and NPM package for Office.js, corresponding to a copy of what gets published to the official "evergreen" Office.js CDN, at https://appsforoffice.microsoft.com/lib/1/hosted/office.js.
JavaScript
674
star
10

ews-managed-api

C#
573
star
11

ui-fabric-ios

DEPRECATED Please use the new repo
Swift
572
star
12

O365-InvestigationTooling

PowerShell
563
star
13

VBA-content

All content in this repository has been migrated to a new repository (https://github.com/MicrosoftDocs/VBA-Docs). Please do not open issues or pull requests here. We are no longer monitoring this content.
PowerShell
563
star
14

teams-toolkit

Developer tools for building Teams apps
TypeScript
453
star
15

office-js-docs-pr

Microsoft Office Add-ins Documentation
PowerShell
400
star
16

office-js-docs

[ARCHIVED] Microsoft Office Add-ins API Reference Documentation
397
star
17

microsoft-teams-library-js

JavaScript library for use by Microsoft Teams apps
TypeScript
370
star
18

office-ui-fabric-js

JavaScript components for building experiences for Office and Office 365.
CSS
367
star
19

teams-toolkit-samples

Scenario-focused sample applications that help you get started with building Microsoft Teams App.
TypeScript
340
star
20

microsoft-teams-apps-company-communicator

Company Communicator app template
C#
327
star
21

Excel-Custom-Functions

Learn about custom functions in Excel.
TypeScript
319
star
22

BotBuilder-MicrosoftTeams

Microsoft Bot Builder extension library for developing bots for Microsoft Teams
C#
256
star
23

office-js-snippets

A collection of code snippets built with Script Lab
JavaScript
242
star
24

microsoft-teams-apps-requestateam

Power Platform based solution that allows users to request teams and automates team creation. NO LONGER MAINTAINED. Please use 'Provision Assist' - https://github.com/pnp/provision-assist-m365/ instead.
PowerShell
235
star
25

Office-365-SDK-for-Android

Microsoft Services SDKs for Android produced by MS Open Tech.
Java
224
star
26

script-lab-2017

[Archived. This is an older version that's no longer maintained. See https://github.com/officedev/script-lab instead]
JavaScript
219
star
27

Office-Add-in-Commands

[Moved] Sample that illustrates how to add custom commands to the Office Ribbon and Context Menus
TypeScript
206
star
28

O365-EDU-Tools

O365 Education tools and scripts repository
PowerShell
199
star
29

ui-fabric-android

This repo has been moved. See website for new url.
Kotlin
179
star
30

office-scripts-docs

Office Scripts Documentation
PowerShell
172
star
31

microsoft-teams-apps-icebreaker

Icebreaker is an open-source app for Microsoft Teams that helps the whole team get closer by pairing members up every week at random to meet for coffee, burgers, pizza, or a walk around the block.
C#
172
star
32

Project-Power-BI-Templates

Expand Project with a Power BI Template
165
star
33

Office-Addin-Scripts

A set of scripts and packages that are consumed in Office add-ins projects.
TypeScript
156
star
34

skype-docs

This repository contains the content of the Skype Web SDK documentation. To review your PR, contact [email protected]
HTML
150
star
35

microsoft-teams-apps-faqplus

FAQ Plus is a friendly Q&A bot that brings a human in the loop when it is unable to help with an answer from the knowledge base.
C#
141
star
36

office-content

Contains content from our Office Developer Portals (https://developer.microsoft.com/office) that is openly editable by the public.
137
star
37

Open-XML-Package-Editor-Power-Tool-for-Visual-Studio

This Power Tool is a Visual Studio add-in that provides an easy way to parse and edit Open Packaging Conventions files, including Word, Excel and PowerPoint documents.
C#
129
star
38

microsoft-teams-apps-champion-management

Champion Management Platform is a custom Teams app that enables organizations to onboard and maintain champions/ SME in their organization in Teams.
TypeScript
129
star
39

Project-Accelerator

An Accelerator solution for Project for the web
127
star
40

microsoft-teams-ui-component-library

Component library enhanced experiences styled for use in Microsoft Teams custom applications.
TypeScript
127
star
41

Copilot-for-M365-Samples

Microsoft Copilot for Microsoft 365 samples
125
star
42

outlook-add-in-command-demo

[ARCHIVED] The Add-in Command Demo add-in uses the commands model for Outlook add-ins to add buttons to the ribbon.
JavaScript
124
star
43

office-js-helpers

[ARCHIVED] A collection of helpers to simplify development of Office Add-ins & Microsoft Teams Tabs
TypeScript
124
star
44

skype-web-sdk-samples

HTML
115
star
45

office-js-docs-reference

Microsoft Office JavaScript API Reference
TypeScript
112
star
46

office-custom-ui-editor

Standalone tool to edit custom UI part of Office open document file format
Rich Text Format
103
star
47

Office-Apps

Office Apps by Microsoft Open Technologies, Inc.
JavaScript
100
star
48

microsoft-teams-sample-complete-csharp

A template for building complex bots for Microsoft Teams - C# version
C#
99
star
49

Office-365-SDK-for-iOS

Microsoft Services SDKs for iOS Preview produced by MS Open Tech.
Objective-C
93
star
50

msteams-ui-components

Empowering developers to build beautiful Microsoft Teams integrations
TypeScript
91
star
51

microsoft-teams-emergency-operations-center

The Microsoft Teams Emergency Operations Center (TEOC) solution template leverages the power of the Microsoft 365 platform to centralize incident response, information sharing and field communications using powerful services like Microsoft Lists, SharePoint and more.
TypeScript
89
star
52

office-fluent-ui-command-identifiers

Office Fluent User Interface Control Identifiers
88
star
53

microsoft-teams-apps-greatideas

An “innovation challenge” system that lets employees submit and share ideas and insights, with voting and contests. An app using which employees can submit an innovative idea in a selected category to be visible to all colleagues and leadership, ideas can be voted upon and a leader board of best idea contributors can be shared. This app can also be a route to file patent ideas by anyone in an organization.
C#
84
star
54

msteams-samples-hello-world-nodejs

Microsoft Teams hello world sample app in Node.js
JavaScript
83
star
55

PnP-WOPI

Patterns and Practices repo for Office Online integration via WOPI Host
C#
83
star
56

Office-Inspectors-for-Fiddler

Microsoft Office (MAPI, WOPI, and FSSHTTP) inspectors for Fiddler
C#
83
star
57

open-xml-docs

Doc repository for the Office OpenXML documentation.
PowerShell
83
star
58

Office-Add-in-UX-Design-Patterns-Code

[ARCHIVED] Implementations in HTML and CSS of the design patterns in the repo Office-Add-in-UX-Design-Patterns
CSS
80
star
59

MCCA

Microsoft Compliance Configuration Analyzer
PowerShell
78
star
60

Office-Add-in-Fabric-UI-Sample

[ARCHIVED]
CSS
78
star
61

outlook-dev-docs

Microsoft Outlook Developer Documentation
PowerShell
76
star
62

microsoft-teams-tunnelrelay

Tunnel relay allows you to expose local services to the outside world over HTTPS
C#
72
star
63

Office-Add-in-UX-Design-Patterns

[ARCHIVED] A library of common Office Add-in design patterns
69
star
64

microsoft-teams-apps-newemployeeonboarding

New Employee Onboarding(NEO) enables your organization to connect new employees to people & culture and provide them with consistent experience and information to be productive faster. Built with Sharepoint New Employee Onboarding solution as a backend with deep integration in Teams, NEO app makes it super easy for learning teams/ Human resources to manage relevant content and process for new employees using sharepoint lists. HR teams can also configure the time for an employee to be a new hire ex. 90 days and the app will stop notifying the new hires after that window. The new hire checklist is integrated into the NEO Teams app and is used to guide the new hire through the onboarding journey. The checklist can be corporate or departmental. Additionally, new hires can also introduce themselves using the app by sharing an introduction which is automatically shared with their managers. This automation makes it easier for managers to review introductions about all new hires and share them with the relevant teams in one shot! At any time, new employees can share feedback on a task in their onboarding journey or on the overall experience using a helpful bot command. All feedback is shared with HR team through helpful notifications and can be downloaded. Moreover, HR teams can also use the app to share pulse surveys for new employees at a configurable frequency.
C#
69
star
65

office-ui-fabric-ios

[ARCHIVED] Please switch to the new Office UI Fabric for iOS: https://github.com/OfficeDev/ui-fabric-ios
Swift
67
star
66

BotBuilder-MicrosoftTeams-dotnet

BotBuilder's SDK extension for Microsoft Teams
C#
66
star
67

msteams-samples-hello-world-csharp

Microsoft Teams "Hello world" application for .NET/C#
CSS
65
star
68

Office-365-REST-API-Explorer

This project is a Windows Store app that uses the Office 365 APIs client libraries to get access tokens. The app then uses the tokens with the REST API in SharePoint to show you how to build HTTP requests that perform CRUD operations on lists, list items, and files.
C#
65
star
69

Project-Samples

This Project Online add-in demonstrates how to create a project using DotNet with CSOM
C#
64
star
70

microsoft-teams-apps-stickers

The awesome Stickers app can help your organization enhance messaging in Microsoft Teams!
C#
63
star
71

SP-AngularJS-ExpenseManager-Code-Sample

An Expense Manager scenario with a App for SharePoint with a Provider Hosted AngularJS backend.
JavaScript
63
star
72

msteams-meetings-template

Template for an app that creates Microsoft Teams meetings
TypeScript
61
star
73

O365-Windows-Start

[DEPRECATED] To see current samples that demonstrate the concepts explained here, visit https://github.com/microsoftgraph/uwp-csharp-snippets-sample and https://github.com/microsoftgraph/uwp-csharp-snippets-rest-sample
C#
60
star
74

microsoft-teams-sample-todo

Sample that shows how to adapt an existing web app into a tab app for Microsoft Teams
TypeScript
57
star
75

microsoft-teams-apps-employeetraining

Employee training app helps you manage the people side of any event smoothly. Not only coordinating teams can create a new event and provide detailed event information within to attract the right learning crowd​, but also Manage all event-related information within a channel tab to keep the participants updated with the latest progress​. Employee training app provides a dedicated space to learners and enable them to browse, discover, filter, and register for events with ease​. Users can get a view of the event that are mandatory or recommended for them. Allow users to access events they have registered for in a separate tab to help them manage their registrations with ease​. Lastly, users can receive notifications for upcoming events to execute all the planned event-management activities on time. It's a seamless event /training management app which will ease event management for all employees. ​
C#
57
star
76

O365-ASPNETMVC-Start

[DEPRECATED] To see a current sample that demonstrates the concepts explained here, visit https://github.com/microsoftgraph/aspnet-snippets-sample
C#
56
star
77

microsoft-teams-apps-incentives

Power App to incentivize and track participation in training and other adoption and change management initiatives.
PowerShell
56
star
78

microsoft-teams-sample-auth-node

Sample illustrating seamless inline authentication for Microsoft Teams apps.
Handlebars
56
star
79

Excel-IO

A utility library that makes it easy to read and write Excel workbooks using C#
C#
55
star
80

microsoft-teams-apps-bookaroom

Book-a-room bot lets you quickly find and book a meeting room on the go.
C#
54
star
81

Excel-Add-in-WoodGrove-Expense-Trends

A compelling Excel add-in that demonstrates how you can use the new JavaScript API for Excel 2016. Comes in two flavors - task pane and add-in commands.
CSS
54
star
82

Office-Add-in-NodeJS-SSO

[MOVED] The getAccessToken API in Office.js enables users who are signed into Office to get access to an AAD-protected add-in and to Microsoft Graph without needing to sign-in again. This sample is built on Node.js and express.
JavaScript
53
star
83

microsoft-teams-sample-outgoing-webhook

Samples to create "Custom Bots" to be used in Microsoft Teams
C#
52
star
84

microsoft-teams-apps-remotesupport

Search & report incidents, and connect with specialists immediately
C#
52
star
85

skype-android-app-sdk-samples

This repo contains Android samples powered by the Microsoft Skype for Business App SDK. Samples developed using Android Studio
Java
51
star
86

PHP-App-for-SharePoint

Sample project to build an app for SharePoint using PHP. You can reuse the TokenHelper class in your project to get access tokens that work with apps for SharePoint. The project also includes an example page that shows how to use the TokenHelper class to contact a REST endpoint in SharePoint.
PHP
51
star
87

office-js-snippet-explorer

Simple web application for browsing, tweaking, and writing samples that use the new JavaScript APIs for Word and Excel
JavaScript
50
star
88

microsoft-teams-apps-attendance

The Attendance Power App helps teachers record and save the attendance of students in their class.
PowerShell
50
star
89

O365-WebApp-MultiTenant

[ARCHIVED] This sample shows how to build a multitenant MVC web application that uses Azure AD for sign-in using the OpenID Connect protocol, and then calls a Office 365 API under the signed-in user's identity using tokens obtained via OAuth 2.0. This sample uses the OpenID Connect ASP.Net OWIN middleware and ADAL .Net.
C#
50
star
90

office-scripts-docs-reference

Office Scripts API Reference Documentation
TypeScript
49
star
91

Outlook-Add-in-SSO

[MOVED] The sample implements an Outlook add-in that uses Office's SSO system to get access to Microsoft Graph APIs and adds buttons to the Outlook ribbon.
JavaScript
49
star
92

microsoft-teams-faqplusplus-app

DEPRECATED - This repository contains a deprecated version of the FAQ Plus app template. Please see the README file for more details and a link to the new repository
C#
48
star
93

Office-Addin-TaskPane-JS

Template to get start started writing a TaskPane Office Add-in using JavaScript.
JavaScript
48
star
94

SharePoint-Add-in-REST-OData-BasicDataOperations

Use the SharePoint REST/OData endpoints to perform create, read, update, and delete operations on lists and list items from a SharePoint Add-in.
C#
48
star
95

SharePoint-Power-Hour-Code-Samples

[ARCHIVED] All the code samples shown in the SharePoint Power Hour including Windows 8 and ASP.NET MVC Office 365 API demos
JavaScript
47
star
96

MS-Graph-Data-Connect

One stop shop for developers using Microsoft Graph data connect
C#
46
star
97

skype-ios-app-sdk-samples

This repository contains Objective C and Swift samples powered by the Microsoft Skype for Business App SDK.
Swift
46
star
98

Office-365-SDK-for-Java

Office 365 client for Java
Java
46
star
99

microsoft-data-visualization-library

TypeScript
46
star
100

Office-Addin-TaskPane

Template to get started writing a TaskPane Office Add-in.
TypeScript
46
star