# bisser.io — Full Content Index # Author: Stephan Bisser # Generated: 2026-04-23 # Total posts: 72 ## Building a Second Brain That Actually Works with Copilot Cowork as the Librarian - URL: https://bisser.io/building-a-second-brain-that-actually-works-with-copilot-cowork-as-the-librarian/ - Date: 2026-04-22 - Description: How to build a personal Second Brain in OneDrive using the PARA methodology — with Copilot Cowork as the routing layer that decides where every note belongs. - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot, Microsoft Foundry, Copilot Studio - Categories: AI, Copilot - Word count: 1885 - Reading time: 9 min Building a Second Brain That Actually Works — With Copilot Cowork as the Librarian# Every knowledge worker I know has the same problem: too much information, not enough structure. Meeting notes live in one tool, research in another, ideas scribbled on Post-its, articles bookmarked but never read again. The stuff you need in six months is exactly the stuff you can’t find. I’ve tried note-taking apps, wikis, bullet journals. They all fail the same way — the capture is easy, the retrieval is the problem, and the maintenance is what kills it. This post is about how I solved it for myself: a personal Second Brain in OneDrive, structured around PARA, and driven by Copilot Cowork that knows where things belong. It took me a few weekends to set up. It’s been paying off every day since. If you’re thinking about building something similar — for yourself, not for a team — this is the blueprint. The Core Idea# A Second Brain is a persistent, external memory for the things your wetware can’t be trusted with: decisions, context, half-formed ideas, research, conversations. Tiago Forte popularized the term and the PARA methodology (Projects, Areas, Resources, Archive). I use that as the backbone, but I extended it in two ways: A dedicated space for AI-generated artifacts — briefings, research outputs, meeting debriefs, weekly reviews. This stuff piles up fast once you start working with Copilot Cowork, and it needs its own home. A skill-based routing layer — instead of me deciding where each note goes, I describe the intent in natural language (“debrief this meeting”, “capture this thought”, “save this article to read”) and Copilot Cowork figures out the right folder. The key insight: the hard part of a Second Brain isn’t storage, it’s routing. If every new note forces you to stop and think “where does this belong?”, you’ll stop capturing. Automate that decision and the system runs … --- ## Why Most Copilot Agent Projects Fail Before They Ship - URL: https://bisser.io/why-most-copilot-agent-projects-fail-before-they-ship/ - Date: 2026-03-16 - Description: The three reasons agent projects stall — and three things to do before you build. - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot, Microsoft Foundry, Copilot Studio - Categories: AI, Copilot - Word count: 1070 - Reading time: 6 min Why Most Copilot Agent Projects Fail Before They Ship# The problem is rarely the technology. It is almost always the preparation. I have seen a lot of agent projects over the past year. Some shipped successfully, many didn’t. And here is the pattern I keep noticing: the ones that fail almost never fail because of a technical limitation. They fail because of things that should have been sorted out before anyone started building. That’s frustrating, because most of these failures are entirely preventable. The Demo Trap# Let me start with the most common failure driver: unrealistic expectations. We have all seen the keynote demos. Someone describes what they want in natural language, an agent gets built in minutes, it connects to enterprise data, and it delivers perfect results. The audience applauds. The executives get excited. And then someone in the organization says: “Let’s build that.” The problem is that the demo showed the happy path of a carefully prepared scenario. It didn’t show the weeks of data preparation. It didn’t show the prompt engineering iterations. It didn’t show the edge cases that break the agent. And it certainly didn’t show the governance review that needs to happen before anything goes to production. When teams start an agent project with demo-level expectations, they are setting themselves up for disappointment. Not because the technology is bad — it is genuinely impressive — but because the gap between a demo and a production-ready agent is much larger than most people think. The Three Reasons Agent Projects Stall# In my experience, agent projects that fail before shipping almost always hit one of these three walls: 1. The Platform Was Not Ready# This one is painful because it is often outside your control. You start building an agent on a platform, and halfway through you realize that a critical feature is missing, still in preview, or doesn’t work the way the documentation … --- ## Agent Governance Is the Next Big Bottleneck - URL: https://bisser.io/agent-governance-is-the-next-big-bottleneck/ - Date: 2026-03-13 - Description: Six governance pillars, shadow agents, and why you need a dedicated AI lead. - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot, Governance, Agent Governance, Agents 365 - Categories: AI, Copilot - Word count: 1067 - Reading time: 6 min Agent Governance Is the Next Big Bottleneck# Everyone is building agents. But who decides what they are allowed to do? Here’s an irony I keep seeing: organizations that don’t have agent governance in place don’t end up with chaos. They end up with nothing. Because when there are no clear rules about what people can and cannot do with agents, IT does the only rational thing — they block everything. And I get it. If you’re responsible for security and compliance, and suddenly business users start building agents that connect to your ERP, your CRM, and your internal databases without any oversight, your instinct is to shut it down. The problem is that blocking everything is just as damaging as allowing everything. You’re just trading one risk for another. The Real Problem Is Not Tooling# When people talk about agent governance, the conversation usually jumps to platform features — admin centers, policies, DLP rules. And yes, those matter. But in my experience, the real bottleneck is much more fundamental: most IT departments don’t have the knowledge to think about agent governance holistically, and most organizations don’t have a dedicated person who owns this topic. Think about it. Agent governance sits at the intersection of IT security, data governance, application lifecycle management, and business process design. That’s a lot of domains to cover. And right now, in most organizations, nobody owns this intersection. Security owns their piece. IT ops owns their piece. The business owns their piece. But nobody is looking at the full picture. That’s how you end up with either total lockdown or total chaos. There’s no middle ground without someone actively designing it. The Six Pillars of Agent Governance# If I had to help an organization build an agent governance framework from scratch, these are the six areas I’d focus on: Pillar Key Question Roles & Permissions Who is allowed to build, test, and … --- ## Testing AI Agents Is a Problem Nobody Wants to Talk About - URL: https://bisser.io/testing-ai-agents-is-a-problem-nobody-wants-to-talk-about/ - Date: 2026-03-11 - Description: Why agent testing is neglected, why classical methods fail, and what to do instead. - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot, Testing, Agent Testing, ALM - Categories: AI, Copilot - Word count: 1094 - Reading time: 6 min Testing AI Agents Is a Problem Nobody Wants to Talk About# Everyone is building agents. Almost nobody is testing them properly. Here’s something that’s been bugging me for a while: in classical software development, testing is non-negotiable. Nobody would ship a production application without at least some level of automated testing, code reviews, and quality gates. It’s fundamental. And yet, when it comes to AI agents, testing is often completely neglected. It’s like we collectively decided that the rules don’t apply anymore. I think it’s time we talk about this. Why Agent Testing Falls Through the Cracks# The main reason is actually straightforward: the people building agents today aren’t necessarily developers. Microsoft has done an incredible job democratizing agent development — from Agent Builder to Copilot Studio, anyone can build an agent without writing a single line of code. And that’s genuinely great for innovation. But here’s the flip side: many of these builders have never been exposed to the discipline of software testing. They don’t know what a test plan looks like. They’ve never written a test case. Not because they’re not smart — they absolutely are — but because testing was never part of their world. When a business analyst builds an agent in Copilot Studio, their definition of “done” is usually “it works when I try it.” And that’s not the same as “it’s been properly tested.” Deterministic Testing Doesn’t Work Here# Even if you do come from a development background, you’ll quickly realize that classical testing approaches don’t translate well to AI agents. In traditional software, you test deterministically: given input X, you expect output Y. If the output matches, the test passes. Simple. With AI agents, that model breaks down completely. Ask the same agent the same question twice, and you might get two … --- ## The Agentic Organization — When Agents Become Part of the Team - URL: https://bisser.io/the-agentic-organization-when-agents-become-part-of-the-team/ - Date: 2026-03-09 - Description: A 5-stage maturity model for the journey from Copilot rollout to agents as teammates. - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot, Agentic Organization - Categories: AI, Copilot - Word count: 988 - Reading time: 5 min The Agentic Organization — When Agents Become Part of the Team# We’ve been talking about agents. It’s time to talk about what happens when they join the org chart. The word “agentic” is everywhere right now. Every platform, every keynote, every product update — everything is suddenly “agentic.” But here’s what I’ve noticed: everyone uses the term, and everyone means something slightly different by it. So before we talk about the agentic organization, I think we need to take a step back and create some clarity. Where We Are Today# Right now, most interactions with AI agents follow a simple pattern: one person, one agent, one task. You ask your Copilot agent a question, it gives you an answer. You trigger a workflow, the agent executes it. It’s a 1:1 relationship — useful, productive, but fundamentally still a tool interaction. And that’s fine. That’s the current state for most organizations, and there’s a lot of value in getting this right. But I don’t think this is the end state. I think the next logical step on our agentic AI journey is something bigger: organizations where people and agents work together in teams. Not as tool and user, but as teammates with different roles and responsibilities. That’s what I mean when I talk about the agentic organization. The Agentic Maturity Model# To make this more tangible, here’s how I see the journey from “we just got Copilot” to a fully agentic organization. Most companies will recognize themselves somewhere on this scale: Stage Description Stage 1: Copilot Rollout You’re deploying Microsoft 365 Copilot, figuring out adoption, licensing, and governance basics Stage 2: Agent Ideation You’re thinking about agent use cases, exploring Copilot extensibility, and piloting your first agents Stage 3: Targeted Deployment You’re running agents in selected teams or specific process steps — real work, limited scope … --- ## The Real ROI of Microsoft 365 Copilot Extensibility - URL: https://bisser.io/the-real-roi-of-microsoft-365-copilot-extensibility/ - Date: 2026-03-02 - Description: When does extending Microsoft 365 Copilot pay off? My take on real ROI, readiness, and what to measure. - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot - Categories: AI, Copilot - Word count: 823 - Reading time: 4 min The Real ROI of Microsoft 365 Copilot Extensibility# When does extending Microsoft 365 Copilot actually pay off? Here are my thoughts. I’ve been consuming a lot of content around Microsoft 365 Copilot extensibility lately. And while the community is doing a great job producing tutorials, samples, and getting-started guides, I noticed something: there’s a ton of Hello World-style content out there, but very little about the actual return on investment. So I wanted to share my personal take on when extensibility is worth it — and what the real value looks like. Are You Even Ready?# Here’s the thing: many organizations I talk to are still in the middle of rolling out Microsoft 365 Copilot to their users. They’re figuring out adoption, licensing, governance — the basics. And that’s totally fine. But for these organizations, extensibility shouldn’t be the priority yet (even though the conference demos make it look like everyone should be building agents right now). To me, the “extensibility moment” comes when you’ve reached a certain maturity. You’ve got a Copilot rollout going. Your users are actively working with it. You’ve identified use cases that work out of the box. And then — this is key — you start noticing the gaps. The moments where users need data or processes from third-party systems, LOB apps, or your ERP that Microsoft 365 Copilot simply can’t reach by default. That’s when extensibility becomes relevant. Not because a demo looked cool, but because your users actually need it. It’s About Personalization, Not Just Time Savings# When people talk about ROI for extensibility, the conversation usually goes straight to time savings. “The agent saves 15 minutes per day.” And sure, that’s measurable. But to me, that misses the bigger picture. The real value of Microsoft 365 Copilot extensibility is personalization. Out of the box, Microsoft 365 Copilot is a … --- ## The Citizen Developer Promise for Copilot Agents is an Illusion - URL: https://bisser.io/the-citizen-developer-promise-for-copilot-agents-is-an-illusion/ - Date: 2026-02-28 - Description: Microsoft's promise that business users can independently build production-ready Copilot agents through Agent Builder and Copilot Studio breaks down the moment you need real integrations, complex debugging, or enterprise governance. Instead of selling the illusion of fully self-service agent deve... - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot - Categories: AI, Copilot - Word count: 1117 - Reading time: 6 min The Citizen Developer Promise for Copilot Agents is an Illusion# Low-code doesn’t mean low-complexity. Here’s where the line really is. Microsoft has been telling a beautiful story: business users can describe what they want in natural language, and Agent Builder in Microsoft 365 Copilot will create an agent for them. When they outgrow the basics, they can seamlessly move to Copilot Studio with one click. No code required. Anyone can build an agent. I’ve been watching this narrative evolve for over a year now, and I think it’s time for a reality check. The citizen developer promise for Copilot agents, as it’s currently marketed, is an illusion. Not a lie — an illusion. There’s an important difference. The Happy Path Works Beautifully# Let me be fair first. If you want to build a declarative agent that answers questions based on a curated set of SharePoint documents, Agent Builder does a genuinely impressive job. You describe the agent’s purpose, point it at your knowledge sources, maybe adjust the instructions, and you have something functional in minutes. For this specific use case — essentially a scoped Q&A bot over your own content — the citizen developer story absolutely holds up. The problem starts the moment you need anything beyond that happy path. Where Things Fall Apart# The moment you need real integrations. Your HR manager wants an agent that doesn’t just answer questions about company policies but actually checks leave balances in Workday and submits time-off requests. That requires MCP server connections, authentication configuration, understanding OAuth flows, and dealing with connector infrastructure. I’ve watched technically savvy business analysts — people who are genuinely good with Power Automate and Power Apps — hit a wall when they try to configure MCP authentication with dynamic client registration. These aren’t concepts that a weekend workshop prepares you for. The moment you need … --- ## Microsoft 365 Copilot Extensibility - Possibilities and Pitfalls - URL: https://bisser.io/microsoft-365-copilot-extensibility-possibilities-and-pitfalls/ - Date: 2025-12-02 - Description: Microsoft 365 Copilot can be extended through three pillars—Connectors (for bringing external data in), Agents (for performing actions via OpenAPI, MCP, or Copilot Studio), and APIs (for embedding Copilot capabilities in your apps)—but the key gotcha is that Actions only work inside Agents. Start... - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot - Categories: AI, Copilot - Word count: 964 - Reading time: 5 min Microsoft 365 Copilot Extensibility: Navigating the Possibilities and Pitfalls# As organizations rush to adopt Microsoft 365 Copilot, a critical question emerges: How do we extend Copilot to work with our unique business data and processes? The answer lies in understanding the three extensibility pillars—Connectors, Agents, and APIs—and knowing when (and when not) to use each. And that’s why I created an infographic for that: Understanding the Anatomy of Microsoft 365 Copilot# Before diving into extensibility, let’s understand what we’re extending. At its core, Microsoft 365 Copilot consists of: The Core Engine# Orchestrator: The traffic controller that manages data governance, safety, and responsible AI (RAI) policies Foundation Models: The AI backbone powered by GPT-4o, GPT-4.1, and newer models like o1 and o3-mini Where Extensibility Plugs In# Copilot’s architecture exposes three key areas for extension: Area Built-in Extensible Via Knowledge Memory Grounding ← Connectors Skills Workflows, M365 Apps Triggers & Actions ↔ Agents APIs — Your Apps → Copilot APIs The Three Extensibility Pillars# 1. Connectors: Bringing External Data to Copilot# Direction: External Data → Copilot Graph Connectors allow you to ingest and index external data into Microsoft Graph, making it available for Copilot to reason over. What you get: 100+ prebuilt connectors for popular systems Custom connector development via Graph API Support for CRM, ERP, databases, and file systems Best for: Making enterprise data searchable and available to Copilot Connecting line-of-business applications Enabling Copilot to answer questions about your proprietary data ⚠️ Pitfall: Connectors only provide read access. If you need Copilot to take actions in external systems, you’ll need Agents. 2. Agents: AI Assistants That Do Work# Direction: AI Assistants ↔ M365 (Bidirectional) Agents are specialized AI assistants that can automate workflows and perform tasks. They’re … --- ## The Future of Copilot Agents - An Agent-Centric Workplace - URL: https://bisser.io/the-future-of-copilot-agents-an-agent-centric-workplace/ - Date: 2025-10-27 - Description: The workplace is evolving from prompt-based assistants to an agent-centric model, where specialized digital teammates pursue goals autonomously. Microsoft’s ecosystem—from SharePoint to Azure AI Foundry—empowers everyone to build agents that seamlessly extend Microsoft 365 Copilot. What began wit... - Tags: AI, Copilot, Generative AI, Gen AI, Agents, Microsoft 365 Copilot - Categories: AI, Copilot - Word count: 856 - Reading time: 5 min Introduction# Today we live in an era of constant change. Technology changes, mindset changes and vision changes. It started out with a bunch of Generative AI tools fueled by LLMs. These AI Tools now do not only offer the access to LLMs itself, but also give you the chance of creating and using agents. These agents give you two extra-assets: Consistency Scope My friend Thomy wrote about the topic of AI Agents at Process Handovers: Where Consistency Matters More Than Intelligence , so if you want to know about why consistency matters, please read that first. But with the introduction of agents, we also started shifting into an “Agent-Centric Workplace”. And I started to feel this myself rather quick: For every platform, for every service and for every use case, an agent could be built to assist me throughout my workday. To me, using agents goes beyond using Copilot. It’s more a concept of delegating work to my digital teammates = agents. And with all the recent announcements and udpates published by Microsoft around topics like autonomous agents, I do not think that this concept is going to vanish in the future. More likely, we will see the transition going from prompt-based assistants to goal/task-oriented, multi-step reasoning systems more and more over the course of the next weeks, months and years. Ecosystem# The Microsoft platforms offers a sophisticated ecosystem when it comes to building (and yes you may think why is he not writing “developing” instead of building, but we’ll come to that in a second) agents of many kinds. You can build agents in a variety of places with a variety of tools like: SharePoint Copilot Studio lite Copilot Studio full Microsoft Fabric M365 Agents Toolkit & SDK Azure AI Foundry Agent Framework … And all of these platforms and frameworks target a specific agent builder audience, from low-code to pro-code. Eventually I will write another blog post, or even a series, about which platforms … --- ## Exploring Autonomous Agent Capabilities with Microsoft Copilot Studio - URL: https://bisser.io/exploring-autonomous-agent-capabilities-with-microsoft-copilot-studio/ - Date: 2025-03-29 - Description: Examining how Microsoft Copilot Studio's preview release of autonomous agent capabilities lays a basic yet promising foundation—highlighting its core architecture, current functionalities, and future potential for automating enterprise workflows. - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 434 - Reading time: 3 min Introduction# Microsoft is pushing the boundaries of how business processes can be automated with its Copilot Studio—a cloud-based, low-code platform that empowers organizations to build AI agents. In its latest release, Microsoft has introduced autonomous agent capabilities aimed at enabling agents to proactively respond to events, orchestrate tasks, and integrate seamlessly with enterprise data sources. However, while these functionalities open exciting prospects, in my opinion, they currently feel quite basic—likely reflecting their preview status. Autonomous Agent Capabilities at a Glance# With Copilot Studio, Microsoft now provides tools to build autonomous agents that can: Monitor & React: Automatically respond to business signals or triggers to initiate tasks. Execute Business Processes: Leverage AI orchestration to run rule-based workflows and automate repetitive tasks. Integrate with Data Sources: Connect to Microsoft Graph, Dataverse, and other connectors to pull in context. Enhance Productivity: Offer a low-code way for teams to extend Microsoft 365 Copilot with personalized AI agents. Fundamental Architecture Diagram# A core element of understanding autonomous agents in Copilot Studio is their underlying architecture. Below is a diagram which displays a visual representation of the system: Figure 1: Fundamental Architecture for Autonomous Agents in Microsoft Copilot Studio This diagram illustrates how user interactions are processed through Copilot Studio, which utilizes an orchestration engine to understand the trigger and inputs along with building and executing a plan. The agents then access context-rich data from secure sources to generate responses. The Preview Nature: Opportunities and Limitations# While the preview release is promising, the current autonomous agent capabilities appear somewhat basic: Limited Customization: The workflow options and decision-making granularity are still evolving. Early-Stage Integrations: Integrations with … --- ## Add deep reasoning to an Copilot Studio agent - URL: https://bisser.io/add-deep-reasoning-to-an-copilot-studio-agent/ - Date: 2025-03-26 - Description: Enabling deep reasoning on a Microsoft Copilot Studio agent and use it in Microsoft 365 Copilot - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 202 - Reading time: 1 min Setup# You obviously need to create or already have an agent in Microsoft Copilot Studio. If you don’t have an agent already follow this tutorial to create a new custom engine agent in Copilot Studio. After you have created an agent go to your settings page of the agent and then under “Generative AI” you can enable the checkmark on “Use deep reasoning models”: When you now send a prompt to your agent you should see that the agent is using deep reasoning to generate the answer: What’s interesting is that you can also see what the agent does take into account when doing the reasoning: As you can now also add your custom engine agents built with Copilot Studio to your Microsoft 365 Copilot you can use this method to add deep reasoning to Microsoft 365 Copilot: Considerations# This feature is currently in preview so be careful when to enable this (maybe not the best idea to use this for all production agents already). Another requirement is that your agent needs to be created in a US-based Power Platform environment and the agent’s language should be English, otherwise you’ll see the setting, but the agent will not use deep reasoning unfortunately. --- ## Introducing Agent Instructor - A VS Code extension for managing agent instructions - URL: https://bisser.io/introducing-agent-instructor-a-vs-code-extension-for-managing-agent-instructions/ - Date: 2025-02-20 - Description: A powerful VS Code extension designed to help developers create, analyze, and refine instructions for declarative AI agents. - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 148 - Reading time: 1 min Agent Instructor# Agent Instructor is a powerful Visual Studio Code extension designed to help developers create, analyze, and refine instructions for declarative AI agents. This tool is essential for ensuring clarity and effectiveness in agent instructions, making it easier to build robust AI solutions. Key Features:# Analyze Instructions: Clarity Score: Evaluates existing instructions and provides a clarity score (0-100). Ambiguity Detection: Identifies ambiguous phrases and offers specific improvement suggestions. One-Click Corrections: Allows users to apply suggested improvements with a single click. Visual Analysis: Displays analysis results with intuitive charts. Generate Instructions: Interactive Input: Facilitates the creation of comprehensive instructions through interactive agent description input. AI-Powered Generation: Automatically generates well-structured and formatted instructions. Installation# Head over to the VS Code Marketplace to install the extension from there or search for “Agent Instructor” in the VS Code extension store. Feel free to leave feedback as I’m interested in your opinion! --- ## Copilot for Microsoft 365 Series - 7 - Copilot Agent Building Options - URL: https://bisser.io/copilot-for-microsoft-365-series-7-copilot-agent-building-options/ - Date: 2025-01-21 - Description: A comparison infographic on the various options you have when building Microsoft 365 Copilot Agents, from no-code to low-code to pro-code. - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 242 - Reading time: 2 min Introduction# As of now, there are a lot of options for building agents for Microsoft 365 Copilot and related services. If you are a heavy SharePoint user you can build agents which are grounded into your SharePoint knowledge with only a few clicks right within the SharePoint UI. If you are a low code maker, you can use either the Copilot Agent Builder or Microsoft Copilot Studio to build declarative agents which can then be surfaced through the Microsoft 365 Copilot Chat UX or Microsoft Teams. And if you are a pro developer you can build either declarative agents using Teams Toolkit for Visual Studio Code or Visual Studio or you can build a custom engine agent using whatever tech stack you like. That may range from integration services such as the Teams AI Library to the Microsoft 365 Agents SDK to Azure AI Foundry or any other API you may want to consume. As there are many options for building agents, I tried to visualize all of them into one single infographic: Conclusion# As the infographic shows, you have a lot of options to choose from when it comes to building agents for Microsoft 365 Copilot. Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## Copilot for Microsoft 365 Series - 6 - Extensibility options Wave 2 updates - URL: https://bisser.io/copilot-for-microsoft-365-series-6-extensibility-options-wave-2-updates/ - Date: 2024-10-01 - Description: Everything you need to know about the different ways of extending Copilot for Microsoft 365 including agents, plugins and connectors which have been announced/updated after the Copilot Wave 2 event. - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 240 - Reading time: 2 min Introduction# In early 2024 I released the first version of the Microsoft 365 Copilot extensiblilty options guide . Since then a lot has changed, especially the fact that Microsoft announced a at Build the capability of not only building Connectors and Plugins, but also Agents . This path was further strengthened with the Microsoft 365 Copilot Wave 2 announcements in September 2024. Despite many other updates and announcements like Copilot Pages and others, the agentic capabilities within Copilot is one of the biggest updates which lets developers not only extend Copilot using plugins or connectors, but now you can build declarative agents which combine plugins and connectors into one single solution which can then be used either seperately or within the Microsoft 365 Copilot experiences. As there where many updates and changes, I modified the initial version of my decision guide, which can be found in the following infographic: Conclusion# As the infographic shows, you have a lot of options to choose from when it comes to finding the suitable approach for extending Microsoft 365 Copilot. And when the Agent Builder functionality is rolled out, I will certainly add this to that infographic as well. Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## Copilot for Microsoft 365 Series - 5 - Hidden prerequisites - URL: https://bisser.io/copilot-for-microsoft-365-series-5-hidden-prerequisites/ - Date: 2024-03-25 - Description: All Copilot for Microsoft 365 requirements at a glance - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 441 - Reading time: 3 min Introduction# In this post, we will delve into the hidden prerequisites and requirements for using Copilot for Microsoft 365. We aim to provide a comprehensive guide that will help you understand what you need to get started and ensure a smooth operation of Copilot within your Microsoft 365 environment. Let’s uncover these hidden prerequisites together. Copilot requirements# The requirements and prerequisites for Copilot for Microsoft 365 are very well documented here . Of course I asked Copilot to generate a list of requirements, so here it is: Base License: Users need a prerequisite base license, detailed in the service description guide. Microsoft 365 Apps: Deployment of Microsoft 365 Apps is necessary. Third-party Cookies: For online versions of Word, Excel, and PowerPoint, third-party cookies must be enabled. Privacy Settings: Review Microsoft 365 Apps privacy settings as they affect Copilot features. Microsoft Entra ID: Users require Microsoft Entra ID accounts, which can be added or synced via the admin center. OneDrive Account: Certain features like file restore need users to have a OneDrive account. Outlook: Copilot works with the new Outlook in preview, and settings sync is required for integratio5. Teams: Configuration of Teams settings is essential for Copilot functionality in Teams. Teams Phone: For referencing meeting content, transcription or recording needs to be enabled. Microsoft Loop & Whiteboard: Enablement of Loop and Whiteboard for tenant use is required. Update Channels: Copilot is supported in all update channels, except for Semi-Annual Enterprise Channel. Network Connectivity: Aligning with Microsoft 365 network connectivity principles is recommended. WebSocket Connections: Allow WebSocket connections for Copilot experiences that require them. In terms of licensing, Copilot for Microsoft 365 is available as an add-on plan with one of the following licensing prerequisites: Microsoft 365 E5 Microsoft 365 E3 Office 365 E3 Office 365 … --- ## Copilot for Microsoft 365 Series - 4 - Dall-E 3 sample plugin - URL: https://bisser.io/copilot-for-microsoft-365-series-4-dall-e-3-sample-plugin/ - Date: 2024-03-15 - Description: A short guidance on how to create a Copilot for Microsoft 365 plugin including a sample - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 511 - Reading time: 3 min Introduction# A while ago I created my first plugin for Copilot for Microsoft 365. Therefore, I would like to take the opportunity to share my experience and insights. You can find the working plugin sample in my GitHub repository . The setup# I used the Teams Toolkit for Visual Studio Code to develop my plugin. You also need to make sure that you fulfill all the requirements mentioned here . Additionally, you need to deploy an Azure Open AI resource in your Azure subscription. Make sure sure to choose an Azure region which offers Dall-E models from the list of available regions , otherwise you cannot deploy a Dall-E model. Developing the plugin# When cloning my repo, make sure that you create a file called .localConfigs in the root of your plugin’s folder and add the following content to that file along with the correct values for those parameters: BOT_ID= BOT_PASSWORD= SECRET_AOAI_KEY= AOAI_ENDPOINT= The next important part is your manifest. The manifest is crucial as Copilot uses it to determine what your plugin will do and how it can be used as well as when it should be triggered. Therefore, make sure to add meaningful descriptions to your app, your commands, and your parameters: Then within the searchApp.ts you will need to call your Azure Open AI resource API to generate an image and retreive it: public async handleTeamsMessagingExtensionQuery( context: TurnContext, query: MessagingExtensionQuery ): Promise<MessagingExtensionResponse> { const searchQuery = query.parameters[0].value; const attachments = []; //const apiKey = ""; // Insert your Azure Open AI API Key here const service = new DalleService(apiKey, endpoint, searchQuery); switch (query.commandId ) { case 'generateImage': console.log('Trying to generate image using Dall-E'); let response = await service.makeApiCall(); const template = new ACData.Template(imageCard); const card = template.expand({ $root: { prompt: response.data[0].revised_prompt, imageUrl: … --- ## Copilot for Microsoft 365 Series - 3 - Technical architecture - URL: https://bisser.io/copilot-for-microsoft-365-series-3-technical-architecture/ - Date: 2024-03-01 - Description: Wondering how Copilot for Microsoft 365 is working technically? This post describes the technical architecure briefly - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 396 - Reading time: 2 min Introduction# It’s a bit confusing how Copilot for Microsoft 365 actually works as there are a lot of components involved. Therefore, this short post should give you a glimpse on how the inner parts of Copilot work. How Copilot works# As you can see in the infographic below, the Copilot system consists of multiple components: Copilot Service Microsoft Graph Semantic Index Plugin catalog Plugins The most important thing to understand, is that currently plugins are not available everywhere. At the moment you can use plugins here: Copilot (previously called “M365 Chat”) Microsoft Teams Microsoft 365 Portal Edge (Although here is only the “Web content” plugin available) In all other applications like Word, Excel, PowerPoint and so on, plugins are not yet available. So therefore, you can only use plugins where you have a more chat-based interface where Copilot assists you at the moment. The way Copilot plugins work is as follows: User’s prompts in Microsoft 365 Apps are sent to Copilot Copilot determines user’s intent to decide what actions should follow next If Microsoft 365 data is required, Copilot grounds prompt before forwarding to LLM & after receiving LLM response using Graph & Semantic Index If non-Microsoft 365 data is required, Copilot fetches available plugins & connectors to decide where to retrieve information from. If user’s intent is to take actions in a 3rd party system with a plugin available, Copilot uses plugin to execute plan Therefore, it is vital that your plugin description as well as your command & parameter descriptions in your plugin’s manifest files are as precise as they can be. Only then Copilot knows which plugins to pick when and how to treat them accordingly so that user’s will benefit from your plugins. Conclusion# Plugins are an essential part of the whole Copilot ecosystem as they allow you to extend the skills Copilot has out of the box and connect it to your LOB apps or … --- ## Copilot for Microsoft 365 Series - 2 - Extensibility options - URL: https://bisser.io/copilot-for-microsoft-365-series-2-extensibility-options/ - Date: 2024-02-27 - Description: Everything you need to know about the different ways of extending Copilot for Microsoft 365 including plugins and connectors. - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 404 - Reading time: 2 min Introduction# As I now used Copilot for Microsoft 365 quite some time and also worked in various Copilot introduction projects with customers, I found out, that the out-of-the-box experience, for me, wasn’t enough. Therefore I did a deep dive into the documentation on how to extend Copilot for Microsoft 365. In the docs, there is a decision guide which visualizes the ways of extending Copilot for Microsoft 365 and in general you have 2 options: Extending the data source Copilot has access to This basically is just about giving Copilot access to more than “just” Microsoft 365 data sources like SharePoint, OneDrive, Exchange, and so on but also including 3rd party data stores like other SaaS platforms, on premises data sources like file shares or data stored in Azure. But choosing this option does not mean, that Copilot can bidirectional communicate with those other data stores. This option is a one-way option which only allows data to flow into the Microsoft 365 index but not the other way around. Extending the Copilot functionality This option lets you extend the features Copilot offers in various situations and it also allows you to integrate Copilot with other services (3rd party platforms, custom LOB apps and so on) in a way that it can retreive data from but also writes data into those services, in other words a bidirectional communication flow. So when choosing this option, you can allow users to communicate with other services outside of the Microsoft 365 ecosystem for instance through Copilot to retreive and ingest data. And for those two options you basically have muliple ways of implementing that kind of extensibility options. But in the decision guide, there was one thing missing which is essential when talking about Copilot extensibility: Copilot Studio. Therefore, I created a modified version of the decision guide, which can be found in the following infographic: Conclusion# As the infographic shows, you have a lot of options to choose … --- ## Copilot for Microsoft 365 Series - 1 - The different flavours of Copilot - URL: https://bisser.io/copilot-for-microsoft-365-series-1-the-different-flavours-of-copilot/ - Date: 2023-11-21 - Description: A fresh start of something new. I would like to take you on a journey about things I learnt while using Copilot for Microsoft 365 - Tags: AI, Copilot, Generative AI, Gen AI - Categories: AI, Copilot - Word count: 727 - Reading time: 4 min Introduction# It has been a while since I wrote my last blog post (more than half a year - time flies). I had a lot of things to do while I “paused” my blogging game, but now I wanted to start sharing some insights again. And this time about a topic which is everywhere and everything: Copilot. I’m using various Copilots for quite some time now and wanted to share my learnings I had while using it. Outline# To be precise: What I will share is my experience with Copilot. You might now think, which Copilot, right? I know there are a ton of Copilots out there. However, I will focus on Copilot, Copilot and Copilot 😉 But to make you understand better which Copilots, the following Infographic should help you understand which Copilots I’m using and for which Copilots you can expect to gain information throughout this blog series. Let me explain you the differences of those 3 briefly. Copilot# Copilot (or formerly know as “Bing Chat Enterprise”) is the equivalent to ChatGPT but baked into Bing and moreover, into Microsoft’s Edge browser. I use it quite some time now as it’s a great companion while browsing through websites and reading information as it provides concise summaries of websites within a few seconds. On top of that I used it as tool to brainstorm and generate ideas, but I replaced that use case now with something different (scroll down to see what I’m using now). Custom Copilot# Well, what a ride. For those of you who don’t know, to me Custom Copilot has quite some history. As I see it as a successor to not only Power Virtual Agents, but to all other related tech in Microsoft’s Conversational AI space, like Bot Framework SDK, Bot Framework Composer, Azure Bot Service and many more. Copilot studio nowadays lets you do two main things: Extend 1st party Copilots (like the Copilot for Microsoft 365 ) Build custom Copilots (like a company HR copilot) But I personally am using custom copilots for years … --- ## Bot Framework Composer Series - 5 - Proactive Messages - URL: https://bisser.io/bot-framework-composer-series-5-proactive-messages/ - Date: 2023-03-15 - Description: The 5th post in this series covers how to extend Bot Framework Composer to support proactive messages - Tags: AI, Bot Framework, Teams Development - Categories: AI, Bot Framework - Word count: 899 - Reading time: 5 min Introduction# In this post I will show you how to extend Bot Framework Composer to support proactive messages. I will also show you how to use the extension to send proactive messages from a web application. The goal here is to use the feature of proactive messages to send notifications to users in Microsoft Teams from a web application or API. The implementation# What we need is basically any chatbot build with Bot Framework Composer. So you can either go ahead and create a new one (it doesn’t matter which template you choose) or you can use a bot which you already built using Composer. I will use the bot I created in the previous post in this series. You can find the code for the bot here . There are basically 3 things we need to do to extend Composer to support proactive messages: We need to add an additional controller to the bot called NotifyController which will be used to manage and send the proactive messages We need at least one Adaptive Card to be used within the proactive message towards the user NotifyController# The NotifyController is the controller which will be used to send the proactive messages. It will be called from a web application or API to send the message. The controller will be added to the bot project and will be called from the web application or API. The controller will be called with a JSON payload which will contain the following information: { "botId": "28:botid", "userId": "29:userid", "conversationId": "19:conversationid", "cardName": "oppCard.json" } The controller will then use the information from the JSON payload to send the message to the user. Therefore the controller to be added into the Controllers folder of the bot project will look like this: using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Bot.Builder; using Microsoft.Bot.Builder.Integration.AspNet.Core; using Microsoft.Bot.Schema; using Microsoft.Extensions.Configuration; … --- ## Test ChatGPT for tutorial writing - URL: https://bisser.io/test-chatgpt-for-tutorial-writing/ - Date: 2023-03-14 - Description: Read this post to see how to use ChatGPT for supporting you in writing tech tutorials - Tags: AI, Bot Framework, Teams Development - Categories: AI, Bot Framework - Word count: 723 - Reading time: 4 min Introduction# As ChatGPT is currently everywhere, I wanted to test it out and see how it works. I also wanted to see if it can be used to write tutorials. So I decided to write this tutorial using ChatGPT. I will explain how I did it and what I think about it. So what I basically wanted to see is if it can write me a tutorial which lists all the steps I need to do to create a Teams bot. I also wanted to see if it can write the code for me. So I decided to use Yo Teams as a starting point. Yo Teams is a Yeoman generator for creating Microsoft Teams apps. It can be used to create a new Teams app project with all the necessary files and configurations. It can also be used to create a new bot project with all the necessary files and configurations. So I thought it would be a good starting point for my tutorial. The input# The instruction I gave to ChatGPT was the following: write a step by step tutorial on building a chatbot using yo teams And this was the outcome: The result# Install Node.js and npm on your computer if you don’t have them already. Yo Teams is built on top of Yeoman, a scaffolding tool for web development projects that runs on Node.js. Install Yo Teams globally by running the following command in your terminal: npm install -g yo @microsoft/generator-teams This will install Yo Teams and its dependencies on your system. Create a new directory for your project and navigate to it in your terminal. Run the Yo Teams generator by typing the following command: yo teams This will launch the Yo Teams wizard, which will guide you through the process of creating a new Teams project. Select the “Bot” option from the wizard menu. This will create a new bot project template with all the necessary files and configurations. Follow the prompts to enter your bot’s display name, description, and other details. Choose the language you want to use for your bot. Yo Teams supports several popular programming languages, including TypeScript, JavaScript, … --- ## Bot Framework - Power Virtual Agents comparison - URL: https://bisser.io/bot-framework-power-virtual-agents-comparison/ - Date: 2022-09-12 - Description: This post covers the comparison between Bot Framework and Power Virtual Agents - Tags: AI, Bot Framework, Teams Development - Categories: AI, Bot Framework - Word count: 607 - Reading time: 3 min In recent years, there has been a growing interest in chatbots and virtual agents as businesses seek to improve their customer service and automate their workflows. Microsoft, one of the leading tech companies in the world, offers two popular options for building chatbots and virtual agents: the Microsoft Bot Framework and Power Virtual Agents. In this article, we’ll compare and contrast the two options to help you decide which one is right for your needs. Overview of the Microsoft Bot Framework and Power Virtual Agents# The Microsoft Bot Framework is a platform that allows developers to create intelligent bots for a wide range of platforms, including web, mobile, and even voice assistants like Amazon Alexa and Google Assistant. The Bot Framework provides developers with a set of tools and SDKs that enable them to create bots that can understand natural language and carry out complex conversations with users. Power Virtual Agents, on the other hand, is a no-code platform that allows business users to build chatbots and virtual agents without any programming knowledge. Power Virtual Agents offers a drag-and-drop interface that allows users to create and deploy chatbots quickly and easily. Ease of Use# One of the key differences between the Bot Framework and Power Virtual Agents is their ease of use. While the Bot Framework provides developers with a robust set of tools for building chatbots, it requires programming skills and technical knowledge to use effectively. Developers need to have experience with programming languages like C# or JavaScript, as well as knowledge of machine learning and natural language processing. In contrast, Power Virtual Agents is designed to be used by business users with no coding experience. The platform provides a simple drag-and-drop interface that allows users to create chatbots and virtual agents using pre-built templates and workflows. This makes it much easier for non-technical users to build and deploy chatbots. … --- ## Bot Framework Composer Series - 4 - Send a user profile card - URL: https://bisser.io/bot-framework-composer-series-4-send-a-user-profile-card/ - Date: 2022-03-25 - Description: This post covers how to create a user profile card using Adaptive Cards and Bot Framwork Composer - Tags: AI, Bot Framework, Teams Development - Categories: AI, Bot Framework - Word count: 623 - Reading time: 3 min As I was building some demo bots quite recently, I was also dealing a lot with including user profile information in a bot using the Microsoft Graph and Bot Framework Composer ! Build the dialog# The first thing you need to do after creating a new bot in Composer (doesn’t matter which template you choose), is to add a new trigger for the dialog. In this tutorial the dialog is called GetMyUserProfileDialog and will be used to get the necessary information from the Graph and display it using an Adaptive Card: The first action we need in this dialog is to make sure that the user is authenticated. Therefore, we will begin a new dialog called OauthDialog which will make sure to authenticate the user if the user is not already logged in: Within the OauthDialog, we simply use the action OAuth login which takes the connection name of the OAuth Connection Setting, which you need to configure on your Azure Bot (follow this tutorial to configure everything): Install and use the Microsoft Graph package# Now that the authentication flow is set up, we can install a package from the package manager in Composer to ease the use of the Microsoft Graph. Simply install the Microsoft.Bot.Components.Graph package as shown below: This will then add more actions to your list of available actions in Composer. Now we can use the action “Microsoft Graph Get Signed-in User’s Profile” which only takes the token as a parameter and you do not need to take care of the rest to connect to the Graph: The second thing we need for our profile card is the user’s profile picture. Again we take advantage of the Microsoft Graph package to retreive that, by using the “Microsoft Graph - Get Profile Photo” which takes the token and the user ID as parameters and returns the user profile picture to be used later on: Create the Adaptive Card template# Now that we have all information we need, we can go ahead and create the Adaptive Card using the Adaptive Card Designer : … --- ## Bot Framework Composer Series - 3 - Teams Task Modules - URL: https://bisser.io/bot-framework-composer-series-3-teams-task-modules/ - Date: 2021-07-15 - Description: This post covers how to create a Microsoft Teams Task Module using Bot Framework Composer - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 885 - Reading time: 5 min While there is the option to create a Microsoft Teams Task Module using code a already a while ago, you would exactly need to know how to properly use the various methods and actions in your bot project. Therefore, it’s now possible to build a task module using Bot Framework Composer without writing (almost) any code! As I also had the opportunity to demo the things covered in this post on the PnP call earlier this year, you can also follow along by watching the tutorial here: Installing the Teams package in Composer# The first thing you need to do after creating a new bot in Composer (doesn’t matter which template you choose), is to add the Microsoft.Bot.Components.Teams package using the package manager: Now that we have this package installed, you can see that another entry on the “Add action” menu appears called “Microsof Teams” which offers a variety of options to either work with messaging extensions, messages or task modules: Trigger the task module with a card button# The next bit we need is something which should trigger our task module. In this case we’ll use a simple hero card which contains a button to trigger the task module. The hero card for this example looks like this and is part of the bot’s greeting trigger: [HeroCard subTitle = If you want to order a pizza just click here: buttons = ${[orderTaskModuleFetchButton()]} ] As you might notice, this hero card refers to another function called orderTaskModuleFetchButton which we will need to define in the bot respones before we can continue. Therefore, we will need to add the following snippet to the bot responses common section: # cardActionTemplate(title, text, type, value) [CardAction Type = ${type} Title = ${title} Text = ${text} Value = ${value} ] # orderTaskModuleFetchButton() - ${cardActionTemplate('Order Pizza', 'OrderFetch', 'invoke', json({type: "task/fetch", buttonId: "OrderFetch"}))} Creating a new … --- ## Conversational AI updates from MSBuild 2021 - URL: https://bisser.io/conversational-ai-updates-from-msbuild-2021/ - Date: 2021-05-26 - Description: This post covers all the great announcements from this years Microsoft Build conference 2021 - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 382 - Reading time: 2 min Microsoft Bot Framework# In this section you’ll find the list of all updates related to the Microsoft Bot Framework (check out the official blog post on all the updates from here ): Bot Framework Composer# Bot Framework Composer 2.0 is GA Remember, in my blog post about Microsoft Build updates last year I reported, that Composer has been gone GA . Now 1 year forward, we now get the next major version of Composer with lots of great feautures and updates You can either download the desktop app from here for Windows , here for MacOS or here for Linux Bot Framework Composer 2.0 introduces new templates (both in C# & Node (Preview)): Empty Bot Core Bot with Language Core Bot with QnA Maker Core Assistant Bot Enterprise Assistant Bot Enterprise Calendar Bot Enterprise People Bot Bot Framework Components are now available as a package management solution in Composer: You can now install reusable components built by Microsoft or the Bot Framework Community or you can even build your own reusable packages for your Bot Framework Composer based bots Publishing to Azure has been made easier The publishing process of your Composer built bots is getting a lot easier with the release of the integrated resource provisioning and publishing: New interaction types like speech and cards available in Composer to ease the authoring of text & voice bots by having a rich authoring experience including SSML : New Adaptive Runtime for all Bot Framework bots (Composer & SDK) which encapsulates many capabilities like multilingual support or access to Cognitive Services available Power Virtual Agent integration in Bot Framework Composer is now GA Consuming and developing skills in Composer has been improved and simplified Conversational AI Platform# Orchestrator deplaces Bot Framework Dispatch as a dispatching solution Conversational User Experience Guide has been released with lots of useful information on how to build a good CUX Azure Bot Service# Azure Bot Service Telephony … --- ## Bot Framework Composer Series - 2 - Property management - URL: https://bisser.io/bot-framework-composer-series-2-property-management/ - Date: 2020-08-23 - Description: While building chatbots using Bot Framework Composer I often encoutered the problem that I needed to store properties and use them within my dialogs for different purposes. Within the Bot Framework SDK, I would most probably use the state to store information which is not only valuable within a s... - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 806 - Reading time: 4 min This is the second part of my Bot Framework Composer blog series. If you want to know more about Adaptive Cards in Composer, take a look at the first part Introduction# While building chatbots using Bot Framework Composer I often encoutered the problem that I needed to store properties and use them within my dialogs for different purposes. Within the Bot Framework SDK, I would most probably use the state to store information which is not only valuable within a single dialog or turn, but for the whole conversation. The equivalent of the state in Composer is called “memory” which can be described as the bot’s mind or brain. But unlike within the SDK, the concept of storing properties is a bit different from the state approach, where you basically have user and conversation state. Therefore, this post will give you an overview on how to manage your properties accordingly within your Composer based chatbot. Property scopes# Within Composer there are four different property scopes: user conversation dialog turn In Composer, property names are always in the format “scope.name” (e.g.: user.firstName). Therefore, the scope of the property is actually part of the property’s name. When setting a new property you’ll need to make sure that you choose the correct scope, otherwise you might end up using a property which can’t be used in the current context. This can happen if you create a property “turn.choiceResult” in one dialog which you want to access in another dialog. As the scope of this property is turn, the value can’t be accessed outside of this particular turn. Therefore you would need to use another scope for your property to fulfill your use case. All of these scopes have a different property lifetime, which are described below… user# The user scope is tied to the user. This is why properties in the user scope are stored indefinetly for a specific user. Use this scope if you want to store user … --- ## Visual Studio Code extensions for Bot Framework devs - URL: https://bisser.io/visual-studio-code-extensions-for-bot-framework-devs/ - Date: 2020-07-27 - Description: As a Bot Framework enthusiast, I was looking for ways how to speed up routines in my daily tasks. Therefore I decided to publish some nice little helpers together with my friends from the Bot Framework Community to speed up tasks when working on a bot a bit while working with VS Code. - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 373 - Reading time: 2 min Motivation# As a Bot Framework enthusiast, I was looking for ways how to speed up routines in my daily tasks. Therefore I decided to publish some nice little helpers together with my friends from the Bot Framework Community to speed up tasks when working on a bot a bit. And this is what we currently published: All Visual Studio Code snippets can be downloaded from here . All Visual Studio Code commands can be downloaded from here . Snippets# Currently we have snippets available for the following categories: Bot Framework Web Chat LUIS (.lu) files Adaptive Cards Create a basic Web Chat HTML file structure - bf-wc-create-basic-hml# The snippet bf-wc-create-basic-hml creates a basic plain html/js web chat within an HTML file: Create a Web Chat HTML file structure with advanced styling - bf-wc-create-style-html# The snippet bf-wc-create-style-html creates a plain html/js web chat within an HTML file including some styling options already added to the web chat: Create a sample Language Understanding (.lu) file - bfc-lu-create# The snippet bfc-lu-create creates a the required structure within .lu files used for managing LUIS applications: Create a sample Adaptive Card “Activity Update” - bf-ac-activityUpdate# Adds a activity update sample card to your project. Create a sample Adaptive Card “Input Form” - bf-ac-inputForm# Initializes a new input form sample card to be used to gather input from users. Create a sample Adaptive Card “Weather Compact” - bf-ac-weatherCompact# Creates the weather compact sample card to demo a weather card. Create a sample Adaptive Card “Expense Report” - bf-ac-expenseReport# Provides you with the expense report sample card to include in your bot’s project. Commands# At the moment we published one command which lets you import a new LUIS app usign the Bot Framework CLI from a .lu file (which you could create with our snippets) to make the LUIS deployment process … --- ## Conversational AI updates from MSBuild 2020 - URL: https://bisser.io/conversational-ai-updates-from-msbuild-2020/ - Date: 2020-05-20 - Description: This post covers all the great announcements from this years Microsoft Build conference 2020 - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 501 - Reading time: 3 min Microsoft Bot Framework# In this section you’ll find the list of all updates related to the Microsoft Bot Framework (check out the official blog post on all the updates from here ): Bot Framework Composer# Bot Framework Composer is GA You can either download the desktop app from here for Windows , here for MacOS or here for Linux If you want to run Composer locally as a web-based component, you can download and build Composer from Github following this link Bot Framework Composer Docs are here Bot Framework Composer allows to build and export Bot Framework Skills or you can also export the Bot Framework Composer assets (lg, lu, settings and dialog files) which you can then plug into other bots: Bot Framework SDK# Bot Framework SDK v4.9 released - Release notes can be found here with a ton of updates: Adaptive Dialogs are GA Skills support Adaptive Dialogs and have improved support for SSO and OAuth Improvements around Microsoft Teams specific funtionality including previews for the Java SDK as well as the developer preview of SSO capabilities in Microsoft Teams Bot Telemtry improvments including the ability to map dialogs into Azure Application Insights Page View Events Health Check APIs available to see if a bot is still running CLI tools for Adaptive Dialogs available here Language Generation is now GA in C# and JS SDKs Adaptive Expressions is now GA in C# and JS SDKs Authentication improvments for bots and skills are now available to be used like support for certificate based authentication Generated Dialogs is in early preview stage [Bot Framework Adaptive Tool](Bot Framework Adaptive Tool) is in preview Azure Bot Service# Direct Line App Service Extension is now GA Human Handoff capabilities have been improved Alexa channel has been added natively into the Azure Bot Service (Kudos to Gary Pretty for doing that👍) Virtual Assistant# Virtual Assistant is now GA Bot Framework Composer can now be used to build Bot Framework Skills to be used in virtual … --- ## Bot Framework Teams Messaging Extensions Walkthrough - URL: https://bisser.io/bot-framework-teams-messaging-extensions-walkthrough/ - Date: 2020-05-19 - Description: A step-by-step tutorial for building a Microsoft Teams messaging extension using the Microsoft Bot Framework to handle task management (To Do and Planer) directly within conversations! - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 3931 - Reading time: 19 min The Starting Point# I was previously dealing quite extensively with the topic Bot Framework & Microsoft Teams, as Teams is becoming THE communication tool in the modern workplace. Myself, as well as we (the company I work for) have build quite a lot of bots, which are not targeting Teams exclusively but other channels like Web Chat or others as well. But I did a little project during the homeoffice time due to Covid-19 to finally build our very own bot which should serve me and my co-workers in our daily jobs. As we are quite dependent on Teams and do all of our calls, meetings and project work in Teams, I built a bot which is only targeting Teams at the moment. And this bot in it’s first stage has 2 main use cases included: QnA Task management The QnA part is rather simple as it is utilizing LUIS & QnA Maker to answer questions stored in a knowledge base. But for the task management part, I wanted to do something quite new on the platform: Teams Messaging Extensions . And those components are pretty useful in many use cases, may it be as a search based extension to grab stock images somewhere, or an action based extension to handle specific actions with it. And myself and many of my co-workers are dependent on a solid task management solution, I decided to “modernize” how can manage tasks right within a conversation. The awesome thing here is that with the solution shown in this post, we avoid the context-switch, meaning users do not need to go to another tool during a long running Teams conversation to note down a task they need to work on. All that happens now right from the conversation. So the following post describes how to setup your bot in a way to use a messaging extension to fulfill task management based on Microsoft To Do and Planner (but of course you can take the code and exhange the task management tools to your preferred solution). The code is published in the Bot Builder Community GitHub repo and can be found here (feel free … --- ## Bot Framework Composer Series - 1 - Use Adaptive Cards - URL: https://bisser.io/bot-framework-composer-series-1-use-adaptive-cards/ - Date: 2020-04-24 - Description: First part of a blo series dealing with Microsoft Bot Framework Composer. This post is all about how to handle Adaptive Cards right - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 904 - Reading time: 5 min The Problem# As I was using Microsoft Bot Framework Composer quite heavily in the past, I built a lot of bots and dialogs with it. Therefore, I want to take the opportunity to share all my learnings I had with this awesome tool with everyone in a blog series. In this part I want to cover something, which I often found difficult to handle in my bot: rich attachments like Adaptive Cards, as I was struggling a bit on how to implement them correct. As Composer is still in preview by the time of writing, it is totally understandable that some things are not yet shipped or documented. Therefore, this post should outline on how to use Adaptive Cards within Composer for your bots. Implementing Adaptive Cards in BF Composer# First of all we will create a brand new bot using the Echo Bot template: Now that our new bot has been created, we can take a look at the Main dialog, which essentially has 2 triggers: Unknown intent Action to perform when user input is unrecognized and if none of the ‘on intent recognition’ triggers match recognized intent. Greeting Handle the events fired when a user begins a new conversation with the bot. Now when I built a bot, the first thing I do is that I want my bot to greet the user upon starting the conversation. But I don’t want to do that using text only, but I want to create a wow-effect using an Adaptive Card. This way, you can share so much more details and information with your users than just sending some greeting text only. So in order to achieve this, we need to add an Adaptive Card. To create an Adaptive Card it’s probably the easiest way to use the Adaptive Cards Designer as you can design your card using a visual interface rather than writing JSON: Now that we have our card, we need to switch back to Composer and edit our Bot responses, which will look like this in the beginning: The Bot Responses let’s us actually manipulate the .lg file used for the bot. If you want to dig deeper into what’s … --- ## Building Bot Framework Analytics Dashboards using Application Insights - URL: https://bisser.io/building-bot-framework-analytics-dashboards-using-application-insights/ - Date: 2020-04-20 - Description: If you are building bots which are not used - you are not building bots! So analyze your bot's performance with these little tricks - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 949 - Reading time: 5 min Objectives# If you are building chatbots, the one thing you always need to keep in mind is the build useful bots. In most cases you will start by implementing a more or less simple QnA bot utilizing QnA Maker in your bot to answer commonly asked questions. And even with such a simple bot, which is “only” answering questions stored in a knowledge base, you would likely need to have some sort of analytics service, which indicates if your bot is performing well or not. If you don’t build bots that are actually used, you are not building bots Therefore, this blog post will walk you through the steps needed in order to add analytics via Azure Application Insights to your bot to track the bot’s performance. Prepare the Bot# First of all, we to provision a new Application Insights instance in our Azure environment. This can be simply done by searching for “Azure Application Insights” in the Azure portal and create a new service instance. Atfer this has been provisioned, we need to grab the “Instrumentation Key” from the App Insights pane which we’ll later on use within the bot to establish a communication between this service and our bot: Now after this you would need to follow this link to add all neceassary components to your bot to enable the logging into App Insights. After doing so you can go to your App Insights service in the Azure portal and execute this query from the “Logs” section: customEvents | where name == 'QnaMessage' | extend answer = tostring(customDimensions.answer) | summarize count() by answer After executing this query, you should see the following result (with your answers): But as you might guess, there is something missing from the above results. It would be far better if we would not only get the answer in there, but also the question, so we can build a list which holds each question and the corresponding answer. To achieve that, we need to adapt our bot a little as this … --- ## Bot Framework CLI for LUIS Management - URL: https://bisser.io/bot-framework-cli-for-luis-management/ - Date: 2020-03-06 - Description: I wanted to automate the creation of my bots and the necessary services a bit. Therefore, I first took a look at what can be done in order to save time when working with LUIS. This post may be turning out to be the first of a many to come series about automating Bot Framework development and depl... - Tags: AI, Bot Framework - Word count: 743 - Reading time: 4 min Problem Statement# I wanted to automate the creation of my bots and the necessary services a bit. Therefore, I first took a look at what can be done in order to save time when working with LUIS. This post may be turning out to be the first of a many to come series about automating Bot Framework development and deployment. But first let’s take a look at how one can leverage the BotFramework CLI in order to create, train and publish LUIS apps using only the CLI and not the portal. Create new LUIS app and import .lu file using BF CLI# This section will outline how to create a new LUIS app from a .lu file as well as training it and publishing it all from the BotFramework CLI . Convert .lu to .json file# At first we need to create a new .lu file or reuse one which has already been created. For sample .lu files simply check out this link . Typically a .lu file looks as follows: > LUIS application information > !# @app.name = bisserioLUISapp > !# @app.desc = LUIS app for bisserio > !# @app.versionId = 0.1 > !# @app.culture = en-us > !# @app.luis_schema_version = 6.0.0 > Help intent and its utterances # Help - help - i need help - please help - can you please help - what do you do - what is this bot for > Greeting intent and its utterances # Greeting - hi - hey - hello - good afternoon - good evening - good morning > BuySurface intent and its utterances # BuySurface - How can I buy {ProductType=Surface PRO} - I want to buy {ProductType=Surface PRO} - I want to buy {ProductType=Surface laptop} - Can I buy {ProductType=Surface PRO} online After all intents and utterances have been setup correctly int that file we need to convert this .lu file to a .json file to be able to import it later on by using the following command: bf luis:convert --in "pathToLuFile" --culture "cultureCodeOfLuisApp" --out "pathToJsonFile" NOTE: The culture code needs to be in the format like “en-us” or “de-de” to be … --- ## Speaking at SharePoint Conference 2020 in Las Vegas - URL: https://bisser.io/speaking-at-sharepoint-conference-2020-in-las-vegas/ - Date: 2020-01-31 - Description: Speaking at SharePoint Conference 2020 in Las Vegas - Tags: AI, Bot Framework - Word count: 807 - Reading time: 4 min I am delighted so say, that I got accepted for this year’s SharePoint conference 2020 in Las Vegas. The event will take place from 17th to 22nd of May in total. Standard sessions will be presented May 19-21 and full day workshops will take place May 17, 18 and 22. This conference is a must-see if you want to learn anything about Office 365, SharePoint and OneDrive as there will be more than 150 speakers (Microsoft employees as well as industry-leaders and MVPs), more than 200 sessions (ranging from development focus to targeting IT pros and business users) and more than 20 full-day workshops, which allow you to get a deep dive into one specific topic. It’s a real honor for me to be part of this great conference, along with many leaders like Jeff Teper, Dan Holme or Vesa Juvonen, who will share their knowledge and their stories and vision about the products they are responsible for. If you want to hear the latest trends and information on the newest products & features, make sure to book your ticket now. My session with the title “Building intelligent bots for your SharePoint Intranet: Best Practices from the trenches” will be a 60-minute session focusing on the topic developing solutions with the SharePoint Framework, bots and more primarily. In more detail, the session description is: Microsoft offers multiple services to build a chatbot inside your modern workplace, however, if you start building bots without knowing the ins and outs of each platform, you might hit a wall fast. Join this session to learn what works, and what doesn’t when building a chatbot for Microsoft 365, especially for SharePoint (Online) and Teams powered by the Microsoft Graph. This session will cover everything from the Microsoft Bot Framework, Cognitive Services and the Conversational AI Platform to add value to your Microsoft 365 environment. Everyone attending this session will learn something about the real-world use cases and best practices for designing and implementing chatbot … --- ## Local Typescript Bot Auto-Reloading using Nodemon - URL: https://bisser.io/local-typescript-bot-auto-reloading-using-nodemon/ - Date: 2019-11-20 - Description: Local Typescript Bot Auto-Reloading using Nodemon - Tags: AI, Bot Framework - Word count: 324 - Reading time: 2 min Problem Statement# When developing bots using the Bot Framework SDK v4 for JavaScript you certainly want to develop your bots locally using TypeScript, instead of doing the whole development within the Azure poral using the online code editor. But what might be annoying when doing that is that by default, you would need to run npm start for starting the bot. The only problem with that is, that you would need to restart the command again if you changed something in your code to be able that you can test the bot with the latest changes from the Bot Framework emulator. Solution# To avoid this, I was seeking for a way of auto-restarting the bot in the background upon every change/save I do from my code base. And the most easiest way of doing that, is to use a tool called Nodemon . So here are the steps you need to do for your bot project to be auto-reload enabled: Install Nodemon & ts-node# Assuming you have your bot project already setup locally, we need to install two dependencies: npm i install -g ts-node Create nodemon.json# Within your project’s root, you now need to create a new file called “nodemon.json” with the following content (make sure that the path to your index.ts file is correct): "watch": ["src"], "ext": "ts", "exec": "ts-node ./src/index.ts" } Run nodemon# Now you should be able to run the nodemon command within your favorite shell from your project’s root and should see this screen: If you have setup everything correctly, try to go ahead and change something in your code and just test the bot with the emulator, without restarting node.js. You should immediately see your changes in your bot without the need of reloading everything, which saves a lot of time and effort! Hope this makes your development cycle a bit easier as you don’t need to restart everything after changing just a few lines of code… Happy coding! --- ## Integrate QnA Maker Bots - Part 1 - Public Website - URL: https://bisser.io/integrate-qna-maker-bots-part-1-public-website/ - Date: 2019-11-05 - Description: Integrate QnA Maker Bots - Part 1 - Public Website - Tags: AI, Cognitive Services - Word count: 1122 - Reading time: 6 min Problem Statement# Nowadays, it’s quite common to add a “virtual assistant” (a.k.a chatbot) to your public facing website. Almost every organization, especially the ones dealing with endusers (B2C market-oriented organizations) try to add value to their websites in form of a bot. And Microsoft has done a pretty good job, making it easy to build a bot, with little effort and almost no coding. But unfortunately, there is not a complete guide provided, on how to create the bot from the very first click until it can be deployed on to a public website. So this post, shall be one of a few in a blog post series, where I will tackle, the various deployment/integration options you have for your bot (like a webiste, like a SharePoint Online page, Microsoft Teams, …). QnA Maker and Azure Bot Creation# So the first thing we need is our bot, of course. So in order to create a bot, you need an Azure Subscription, where you have the permissions to create new resources in (but I won’t go through that step, as this is very well documented in the docs . QnA Maker Knowledge Base# In order to create a knowledge base, we need to head over to the Azure Portal to create a new QnA Maker resource and fill out the details to fit your needs as shown here: Next up, we need to go to the QnA Maker portal , sign in with the account you used for creating the Azure resource and go to the “Create a knowledge base” page to create a new knowledge base along with the necessary details: So in my case, I enabled the multi-turn extraction feature for my knowledge base and added a URL to a PDF to extract the questions and answers from. Another quite new feature is that you now can choose the actual language of the KB, which affects the chit-chat and the ranking algorithms of the KB which you create. Now upon entering all the details, you can go ahead and create your knowledge base. After the KB has been created, you can either alter the QnA pairs in there or if … --- ## Ignite 2019 News on the Conversational AI Platform - URL: https://bisser.io/ignite-2019-news-on-the-conversational-ai-platform/ - Date: 2019-11-04 - Description: Ignite 2019 News on the Conversational AI Platform - Tags: AI, Bot Framework - Word count: 761 - Reading time: 4 min Each year Microsoft is inviting intersted people from all over the globe to a big show, called Microsoft Ignite , where nearly 30.000 (you read correctly THIRTY THOUSAND) people gather together to see what’s new for the various products and services Microsoft is offering. Me as a Conversational AI guy, I’m quite excited on the news and announcements they’ll share at the event, but du to the fact, there the amount of news is that big, one has a hard time following all the necessary news and announcements at a glance. That’s why I compose a blog post tackling the various areas of Conversational AI in order to provide a comprehensive list of news and further links, to look through in order to dive into certain things being announced. Bot Framework# Here is the list of all news and announcements concering the Bot Framework: Bot Framework SDK# Bot Framework SDK v4.6 (GA) for C# & JS along with updated docs and samples Bot Framework SDK for Microsoft Teams (GA) Bot Framework SDK for Skills (Preview) Adaptive Dialogs (Preview) Language Generation (Preview) Common Expression Language (Preview) Bot Framework for Power Virtual Agent (Preview) LivePerson integration New WeChat adapter Bot Framework Composer (Preview)# So this is where I not only want to add a bullet list of links, but I actually want to share my thoughts on that briefly (and I will for sure follow-up with one or more posts on that solution). Bot Framework Composer is a game changer in my eyes in the field of creating/developing bots, as it gives you the ability to sketch out and compose the whole bot (along with the dialogs and all that good stuff) within a visual interface instead of writing actual code. And the cool thing about that is, when you are done modeling your dialogs and the whole conversation(s) you can actually use Composer to create the bot solution’s code and run it immediately to test it in the emulator or deploy it to Azure using the CLI for example, still … --- ## Bot Framework v4 SPFX Web Part Released - URL: https://bisser.io/bot-framework-v4-spfx-web-part-released/ - Date: 2019-10-03 - Description: Bot Framework v4 SPFX Web Part Released - Tags: AI, Bot Framework - Word count: 512 - Reading time: 3 min The Background# So I had this idea already a couple of months to release or better open-source a SharePoint Framework WebPart which is capable of bringing your Bot Framework conversations (= your bot) to SharePoint (Online). Now I finally had the chance of publishing my webpart to the official SPFx samples GitHub repo to make it available for everyone. So if you want to try it out and integrate it into your SharePoint tenant, just clone the repo, and follow the instructions mentioned here and you should be able to get it up and running in a couple of minutes. The WebPart# So as this is a SPFx webpart, you can integrate it quite easily on every modern page. After you’ve added it you need to configure the webpart using it’s property pane: Properties# So the following properties are available to alter the look and feel of your BF4 webchat webpart: Name Description Direct Line Secret The direct line secret of your bot which you can get from the Azure Portal Background color of webchat This is the background color of the complete webchat window as a Hex value Bot messages background color Hex value for the bot messages background color Bot messages foreground color Hex value for the bot messages foreground color User messages background color Hex value for the user messages background color User messages foreground color Hex value for the user messages foreground color Sendbox background color Hex value for the sendbox background color Sendbox text color Hex value for the sendbox text color Avatar image used for bot This is the image which you can use as an icon next to each message coming from the bot Avatar initials used for bot Instead of using an icon you can also use initials to be displayed next to the bot’s messages Avatar image used for user This is the image which you can use as an icon next to each message coming from the user (you could also enhance this and get the image from the Microsoft Graph) Avatar initials used for user nstead of using … --- ## Bot Framework v4 Webchat Styling Options - URL: https://bisser.io/bot-framework-v4-webchat-styling-options/ - Date: 2019-09-12 - Description: Bot Framework v4 Webchat Styling Options - Tags: AI, Bot Framework - Word count: 857 - Reading time: 5 min The Starting Position# Nowadays, styling is a hot topic. If it looks good - I’ll use it is often the mindset of users. So it’s very important to offer something very good-looking to be successful with what you do. And so it is with bots. The Microsoft Bot Framework team did a pretty good job in styling the webchat component which is looking pretty good out of the box: But companies often have the need to apply their CI/CD guidelines on whatever they use. So the white & black look of the webchat component is often not exactly what they need. Therefore, the Microsoft Bot Framework v4 webchat is offering the possibility to be customized in terms of styling. This is a great way for devs to modify the look and feel of the webchat. In the BFv4 Webchat GitHub repo there is a very detailed documentation on how to style the webchat using CSS within the HTML code. But looking at the following table which was taken from here you can see, that the React component offers even more options in terms of customization: CDN bundle React Change colors ✔ ✔ Change sizes ✔ ✔ Update/replace CSS styles ✔ ✔ Listen to events ✔ ✔ Interact with hosting webpage ✔ ✔ Custom render activities ✔ Custom render attachments ✔ Add new UI components ✔ Recompose the whole UI ✔ So I was currently searching a while until I found the documenation on how to customize the webchat styling when using it as a React component, which I want to share. It’s basically described here . The following list shows the default values, which, of course you can adapt to fit your needs. StyleSetOptions# The following samples show the default style set options which can be modified to style the React webchat component. Color and paddings# The default colors for the webchat background and paddings: accent: '#0063B1', backgroundColor: 'White', cardEmphasisBackgroundColor: '#F0F0F0', paddingRegular: 10, paddingWide: 10 * 2, subtle: '#767676' Word break# The defaults for word … --- ## Using Custom Channel Data in Bot Framework v4 - URL: https://bisser.io/using-custom-channel-data-in-bot-framework-v4/ - Date: 2019-08-28 - Description: Using Custom Channel Data in Bot Framework v4 - Tags: AI, Bot Framework - Word count: 746 - Reading time: 4 min Problem statement# Imagine this: You are working on a Bot Framework bot and want to implement human handoff to give users the option to have a conversation with another human being if the bot is not able to answer the user’s questions. Now there are many good samples out there for channels like Microsoft Teams for example which demonstrate how to bring in a human into the loop. But I was trying to find a way to tell the webchat control (via DirectLine) that a given point in the conversation it should do something (escalate to an agent). Now there was one thing I found which could do the trick for me: Custom Channel Data Property (you can find out what that is in detail here ). The article basically describes it as follows: Some channels provide features that cannot be implemented by using only message text and attachments. To implement channel-specific functionality, you can pass native metadata to a channel in the activity object’s channel data property. For example, your bot can use the channel data property to instruct Telegram to send a sticker or to instruct Office365 to send an email. As you can already see in that description, you can tell your bot’s channel that it should do something for you. And that’s the thing I needed. So I went for the docs to see on how to implement it in my .NET Echo Bot for testing purposes and found this article by the Microsoft Bot Framework Team instructing on how to send such a custom channel data object (it was written for Facebook but I surely can use it for my webchat scenario as well I thought). But upon reading this article I recognized something was odd: this article was written in March 2017 and used Bot Framework v3 instead of v4. This means that I cannot re-use that code as I would like because the majority of the implementation has changed. So I had to look further and googled a couple of hours without any helpful results. My problem was that I needed a way to create a message and add the … --- ## QnA Maker Postman Collection-Template now available - URL: https://bisser.io/qna-maker-postman-collection-template-now-available/ - Date: 2019-07-11 - Description: QnA Maker Postman Collection-Template now available - Tags: AI, Bot Framework - Word count: 634 - Reading time: 3 min As I teamed up with Albert-Jan Schot , Rick Van Rousselt & Thomas Gölles to create a project called SelectedTech , where we discuss and share our knowledge on Office 365/Teams/SharePoint & Bots and record that as webinars, we had the idea of doing something which would be a cool way of helping others with one of the Cognitive Service APIs - QnA Maker . The idea was to create a Postman collection which we’ll share later on, to bundle all API endpoints for the QnA Maker to easily test and debug the API. The inspiration to this was coming from Jeremy Thake and his project on the Microsoft Graph Postman collection (Thanks for that Jeremy - great thing!) and we thought, why not doing a similar thing for QnA Maker as well since we are working with that in our webinar projects. So I sat down and created such a Postman collection which you can find in our GitHub repo . So this blog post should walk you through on how to use that for your own QnA Maker projects to ease the development and debugging phase a bit. So if you want to see that in action, just watch our video: Step 1 - Set up your QnA Maker service# If you haven’t done so already, you need to create your own QnA Maker instance. I won’t walk you through that on my blog, because this is very well documented by Microsoft. So please follow the guide here to create your service and knowledgebase. Now make sure to insert some QnA pairs to your KB so we can see if we get the correct results back by our Postman collection. Step 2 - Set up Postman# Now there are actually 2 ways how you can use this Postman collection (choose either one of the following): Step 2.1 - Import Postman collection# If you want to import the current status of the collection which might be updated frequently you’ll need to do the following (those steps are also described here ): 1. Download and register for Postman . 2. Click File | Import …. 3. Select Import From Link. 4. Paste the following two URLs and click … --- ## Microsoft Build 2019 updates on Conversational AI - URL: https://bisser.io/microsoft-build-2019-updates-on-conversational-ai/ - Date: 2019-05-09 - Description: Microsoft Build 2019 updates on Conversational AI - Tags: AI, Bot Framework, Cognitive Services - Word count: 689 - Reading time: 4 min As every year, Microsoft is hosting it’s Build conference again in Seattle aiming at showing the world all news around the latest developer tools and tech. As there is a ton of news, as usual, this blog post should give you an overview on the news and infos on the Conversational AI announcements at Build: Bot Framework# Adaptive Dialog | docs | C# samples :: Simplify the development of sophisticated dialogs by dynamically updating as the conversation unfolds. This is especially useful when the context of conversation is switched or if there are interruptions in the middle of a conversation. Language Generation | docs | C# samples :: Streamlines the creation of smart and dynamic bot responses by constructing meaningful, variable and grammatically correct responses that a bot can send back to the user. Common Expression Language | api :: Both Adaptive dialogs and Language Generation rely on and use a common expression language to power bot conversations. Botkit :: Major version update with support for Bot Framework Emulator, Azure Bot Service. New model for handling interruptions and composable dialogs. Bot Framework Channels Enhanced Speech capabilities, Direct Line Speech Channel – (private preview) Streamlined integration of the Bot Framework and Microsoft’s Speech Services in Azure Bot Service as a new channel, with support for custom wake words and bi-directional speech and text. To sign up, add the Direct Line Speech channel to your Azure Bot Service. SDK Channel adapters available here - New platform adapters for Web chat, Slack, Webex, Facebook, Google Hangouts and Twilio SMS. Work with Bot Framework V4 SDK (JS only). Additional new adapters put together by the BotBuilderCommunity Bot Framework Skills Skills include language models, dialogs, and cards that can be reusable across bots. Examples include productivity (calendar, email and task productivity- powered by Microsoft Graph), industry (point of interest, and automotive), and custom. Virtual … --- ## Setting up a Build and Release Pipeline for Azure Bot Service using Azure DevOps - URL: https://bisser.io/setting-up-a-build-and-release-pipeline-for-azure-bot-service-using-azure-devops/ - Date: 2019-02-07 - Description: Setting up a Build and Release Pipeline for Azure Bot Service using Azure DevOps - Tags: AI, Bot Framework - Word count: 1663 - Reading time: 8 min This post is something I wanted to do for a long time already. In my opinion, the topic of CI/CD can be very beneficial in terms of easier deployments and delivery of solutions. That is why I decided to run through the process of a creating a CI/CD pipeline for an Azure Bot Service based on Azure DevOps which I want to share with you with this post. Preparation# First of all, we need to prepare a couple of things before we can actually start building our CI/CD pipeline: Create Azure DevOps repository# First of all, we need to create an Azure DevOps repository where we actually store our code. So head over to your Azure DevOps environment, which will be something like https://{tenantName}.visualstudio.com and create a new repository. Then we use the command line to clone the repo to our local disk and initialize the Git repo locally. To do that open your CMD of choice, navigate to a folder where you would like to store the source code and execute the command git clone https://{tenantName}.visualstudio.com/{projectName/_git/{repoName} After the Git repo is initialized locally, we can now create a new VS bot project in that folder which will allow us to commit and push the code we are building locally to Azure DevOps for further processing. This way, we can develop and test our solution locally and if we say the code shall be deployed to Azure, we can just commit and push and the pipeline will do the rest, as we will see later on. Make sure to create the project in the root folder where you cloned your repo into. After the solution has been created, we can give it a go and test it locally, to see if the solution is building correctly. So hit F5 in Visual Studio and open the .bot file which has been created with the Bot Framework Emulator and type in a message. So now that we have our repo stuff ready, we can go on and develop the bot logic locally. If we then say we are ready for production we can commit and push the changes to our Azure DevOps repo with the following … --- ## Launching the Periodic Table of Azure Cognitive Services - URL: https://bisser.io/launching-the-periodic-table-of-azure-cognitive-services/ - Date: 2019-01-02 - Description: Launching the Periodic Table of Azure Cognitive Services - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 151 - Reading time: 1 min I’m super excited to announce something I have been building for a couple of months now. I teamed up with Matt Wade and Niels Gregers Johansen who are the initiators of the Periodic Table of Office 365 to build the Periodic Table of Azure Cognitive Services . This table should help to understand which Cognitive Services are currently out there, including the following: Categorization Preview status indicators Links to the product pages As this is the first version for this kind of table, there will be more features in later releases, including description pages. I’m super stoked to be a part of this awesome initiative and am therefore glad to get your feedback on this first version of the table. If you have any questions or ideas, which we could include in a later version, please feel free to reach out to me on Twitter , LinkedIn or via Mail . --- ## End-to-End Bot Development Workflow Infographic - URL: https://bisser.io/end-to-end-bot-development-workflow-infographic/ - Date: 2018-11-06 - Description: End-to-End Bot Development Workflow Infographic - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 260 - Reading time: 2 min Developing bots can be a lot of work for those of you, who may not know which tools Microsoft offers for the various bot development stages. Fortunately, Microsoft released an article which contains the various tools for the following phases in your end-to-end bot development workflow. The following phases need to be gone through combined with the correct toolset supporting your successful bot development project: Plan Plan your bot’s conversations and dialogs Take a look at the principles of bot design Use Chatdown to mock conversations before you actually start coding Build Use Ludown to bootstrap Language Understanding Use MSBot to keep track of service references Use LUIS CLI to create and manage LUIS applications Use QnA Maker CLI to create QnA Maker knowledgebases Use Dispatch CLI to create your own dipsatch models Test Use the Bot Framework Emulator V4 for testing your bot Publish Use the Azure CLI to create, download and publish your locally built bots to the Azure Bot Service Connect Use the Azure CLI to connect your bot to the various Azure Bot Service channels Evaluate Use the Azure Portal to improve the bot’s capabilities and performance Use Application Insights to gain conversation-level reporting on user, message and channel data The full image can be downloaded here: End-to-End Bot Development Workflow Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## Key Parts of an Enterprise Bot Design - URL: https://bisser.io/key-parts-of-an-enterprise-bot-design/ - Date: 2018-10-20 - Description: Key Parts of an Enterprise Bot Design - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 1172 - Reading time: 6 min In the modern AI-enabled world, digital agents or bots (aka chatbots) are an extremely hot topic, which every company no matter of their industry will at least think about at the moment. Many big software vendors like Microsoft, Amazon, Google, you name it are offering their own set of tools and services which developers and architects can use in order to build such a conversational AI interface (aka chatbot). But in this modern world, it is always about being fast and have a short time to market, which often results in releases which are not quite ready. And many AI devs develop bots as digital agents, but forget some really essential key parts, which actually make such a digital agent great and better compared to others. As I often get asked, what the main parts of a great chatbot are and I really spent a lot of time thinking about a good anatomy of a bot, I decided to sketch up the key parts which I think are essential when talking about an “Enterprise Bot Design” and which I want to explain in some words here as well, why they are important. Rich Attachments# In order to design a more intuitive and common user experience, your bot should be able to receive and send rich attachments like pictures, videos or even emojis and interpret them. This makes the conversation more human-aligned as many users will communicate with the bot as they do with colleagues or friends. Therefore, the bot should be able to handle different input types apart from text. Cards# Cards are a great way to let your users interact with your chatbot in an interactive and time-saving way as cards offer you the flexibility to give your users predefined input types like buttons combined with images and other UI elements. This will definitively raise your user adoption as users will be able to respond quicker and more intuitive. Dialogs# Dialogs are the heart & soul of your bot’s conversation design. With dialogs, you can easily design the conversation for various bot use … --- ## Microsoft Bot Framework v4 Infographic [UPDATED] - URL: https://bisser.io/microsoft-bot-framework-v4-infographic-updated/ - Date: 2018-10-16 - Description: Microsoft Bot Framework v4 Infographic [UPDATED] - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 154 - Reading time: 1 min Almost a year ago I published one of my first infographics which should visualize the various components of the Microsoft Bot Framework. Back then, the Bot Framework was available in version 3.0 and as you can imagine, since then there have been a lot of updates and changes. Some weeks ago, Microsoft announced that version 4.0 is now GA with many improvements and enhancements. Therefore, I decided to update my version of the infographic in order to visualize what changed and what’s important when talking about the Bot Framework, which I also renamed the “Microsoft Conversational AI Landscape”: The full image can be downloaded here: Microsoft Conversational AI Landscape Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## MSIgnite updates on conversational AI at a glance - URL: https://bisser.io/msignite-updates-on-conversational-ai-at-a-glance/ - Date: 2018-09-25 - Description: MSIgnite updates on conversational AI at a glance - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 183 - Reading time: 1 min Every year somewhere at the end of September Microsoft’s biggest conference Ignite attracts thousands of people with a massive amount of news and big announcements. To keep up with all these awesome news is nearly impossible, as there is so much to explore in this very short period of time. Therefore, I try to sum up and link to all big announcements and news Microsoft made during the Ignite 2018 on the topic of conversational AI… Bot Framework# Microsoft Bot Builder v4 SDK hits GA status New Azure Bot Service template “Virtual Assistant” introduced New Azure Bot Service template “Enterprise Bot” introduced More than 60 Bot Builder samples published for Bot Builder v4 SDK in .NET, JS Updated documentation on the Azure Bot Service & MS Bot Framework for v4 SDK Bot Framework Web Chat control fully customizable Cognitive Services# QnAMaker supports Chit-Chat New built-in entity types for people names and geographic locations in LUIS Microsoft releases platform to build company-specific skills for Cortana Announcing Speech service: A new service combining all speech capabilities in a single endpoint Video Indexer hit GA status --- ## The Microsoft Cognitive Services Resource Cheat Sheet - URL: https://bisser.io/the-microsoft-cognitive-services-resource-cheat-sheet/ - Date: 2018-09-01 - Description: The Microsoft Cognitive Services Resource Cheat Sheet - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 198 - Reading time: 1 min In the “jungle” of documentation and resources on the internet nowadays, it’s tough to keep the overview and know where to look for in order to seek new information about certain topics. Microsoft is now trying to unify the documentation across their products in order to have 1 place to go for. But until that is fully established, we need to conduct multiple resources. To overcome this issue in the field of the Azure Bot Service, I already released a resource cheat sheet in order to have all important sources in your pocket. Now I did the same thing for Microsoft’s Cognitive Services, in order to help you find the information you need quicker, get yours here: You can also use the link list provided below: Cognitive Services Docs Cognitive Services AI School GitHub Intelligent Kiosk Sample Feedback & Support The full image can be downloaded here: Microsoft Cognitive Services Resource Cheat Sheet Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## The Microsoft Bot Framework Resource Cheat Sheet - URL: https://bisser.io/the-microsoft-bot-framework-resource-cheat-sheet/ - Date: 2018-07-30 - Description: The Microsoft Bot Framework Resource Cheat Sheet - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 194 - Reading time: 1 min Nowadays, there is a ton of information out there for every service Microsoft has released, which is a good thing. But there are times when you search for something special, but you can’t find it as there are too many sites and resources which you need to crawl to find what you are looking for. The same is true for the Azure Bot Service and the MS Bot Framework, as there is plenty of documentation, but it is spread over a couple of different sites. Therefore, the following cheat sheet should help you find the information you are looking for quicker to spend more time on the things you need to fulfill… You can also use the link list provided below: Azure Bot Service Docs Microsoft Bot Framework AI School GitHub BotBuilder SDK Feedback & Support The full image can be downloaded here: MS Bot Framework Resource Cheat Sheet Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## QnAMaker.ai Cheat Sheet - URL: https://bisser.io/qnamaker.ai-cheat-sheet/ - Date: 2018-07-10 - Description: QnAMaker.ai Cheat Sheet - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 174 - Reading time: 1 min “Copy, paste… Bot!” - This is the slogan of the QnAMaker.ai service, which is one of the Cognitive Services in the knowledge category. This service offers a very easy-to-use toolset for creating, populating and publishing knowledgebases for FAQs which can be consumed by the Azure Bot Service very easy to build smart QnA Bots in a very short period of time. As the creation of such a QnAMaker knowledgebase is straightforward, the following infographic should help illustrate the process of creating, populating, testing and publishing a KB through the QnAMaker service. From FAQ to Bot in minutes. Build, train and publish a simple question and answer bot based on FAQ URLs, structured documents, product manuals or editorial content in minutes… The full image can be downloaded here: QnAMaker.ai Cheatsheet Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## Cognitive Services Infographic [UPDATED] - URL: https://bisser.io/cognitive-services-infographic-updated/ - Date: 2018-06-25 - Description: Cognitive Services Infographic [UPDATED] - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 125 - Reading time: 1 min A couple of months ago, I did a post about the Microsoft Cognitive Services with an infographic attached in order to better understand the various services and offerings in that area. Now a couple of months later, some things changed in that field, especially the offerings and the services (some disappeared, some have been merged and some appeared). Therefore, I updated my infographic in order to reflect the current services which are available: The full image can be downloaded here… Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article in your documents where you use it. Please do not sell this as your own 😉 --- ## New Bot Builder Tools [Infographic] - URL: https://bisser.io/new-bot-builder-tools-infographic/ - Date: 2018-05-22 - Description: New Bot Builder Tools [Infographic] - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 220 - Reading time: 2 min A couple of weeks ago at the Microsoft Build conference (see this post for details on the announcements concerning AI), there were some cool new tools for the Bot Builder announced. These tools are already in preview and can be downloaded here . The following table should give an overview of the new tools released: Tool Description Chatdown Prototype mock conversations in markdown and convert the markdown to transcripts you can load and view in the new V4 Bot Framework Emulator MSBot Create and manage connected services in your bot configuration file LUDown Build LUIS language understanding models using markdown filese LUIS Build LUIS language understanding models using markdown files QnAMaker Create and manage QnAMaker.ai Knowledge Bases Dispatch Build language models allowing you to dispatch between disparate components (such as QnA, LUIS and custom code) LUISGen Autogenerate backing C#/Typescript classes for your LUIS intents and entities In order to visualize the tools and use cases you can use the following infographic which should explain these new tools and features a bit better by visualizing them: Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## Azure AI Platform - Updates from Build 2018 - URL: https://bisser.io/azure-ai-platform-updates-from-build-2018/ - Date: 2018-05-10 - Description: Azure AI Platform - Updates from Build 2018 - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 386 - Reading time: 2 min Microsoft’s annual BUILD conference took again place from 7th - 9th May 2018 with a lot of new and awesome updates for the Azure AI platform. The following list should give you a short overview of all news and announcements: Bot Builder SDK v4 now in preview: Bot Builder SDK v4 .NET Bot Builder SDK v4 JavaScript Bot Builder SDK v4 Python Bot Builder SDK v4 Java Bot Framework Emulator v4 now in preview: Updates and Improvements “The new emulator includes features like an improved dynamic layout model, support for multiple bot configurations, simplified bot components management, and the ability to inspect responses from and deep link to connected services such as LUIS and QnA.” Read more… Download here New Bot Builder tools now in preview: Chatdown - “Prototype mock conversations in markdown and convert the markdown to transcripts you can load and view in the new V4 Bot Framework Emulator” MsBot - “Create and manage connected services in your bot configuration file” LUDown - “Build LUIS language understanding models using markdown files” LUIS - “Create and manage your LUIS.ai applications” QnAMaker - “Create and manage QnAMaker.ai Knowledge Bases” Dispatch - “Build language models allowing you to dispatch between disparate components (such as QnA, LUIS and custom code)” LUISGen - “Autogenerate backing C#/Typescript classesfor your LUIS intents and entities” LUIS updates: Regex entities - “Regex entities allow the identification of an entity in the utterance based on a regular expression” Read more… Patterns - “Patterns enable developers to effectively define intents without having to provide many utterances. Patterns could also encompass entities with variable length represented as Patterns.any entities” Read more… QnAMaker.ai is now GA Now the QnAMaker.ai has a fixed pricing tier structure and full support options - go … --- ## Build your very own Twitter QnA Bot - URL: https://bisser.io/build-your-very-own-twitter-qna-bot/ - Date: 2018-03-15 - Description: Build your very own Twitter QnA Bot - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 790 - Reading time: 4 min The idea of this solution has come to my mind a couple of months ago when doing a couple of conference sessions. During the sessions, I had some questions coming from the audience, which is a good thing for me, but somehow I noticed, that those a more or less general questions rather than deep technical ones. Therefore, I thought it would be helpful for me as well as for the audience to have a much simpler way of asking me questions during speaking engagements, but also whenever someone has a question which might be answered by me. And which social media platform would be suited better than Twitter for exchanging short messages which might be of interest to a broader audience? So the idea of my #AskCloudguy Twitter Bot was born. Feel free to implement your very own Twitter Bot based on a specific hashtag in order to build an automated Twitter QnA service for your followers based on the following solution. Solution Overview# The main architecture of this solution is basically reflected by the following illustration: The main idea is that there is an Azure Logic App which is checking for new tweets based on a given hashtag. Whenever the Azure Logic App gets triggered, it receives the tweet text as well as the tweet ID, by the Twitter connector. The tweet text is forwarded to the QnAMaker.ai service in order to generate an answer based on the tweet text. After the answer is received by the QnAMaker the Azure Logic App makes an HTTP POST request to the Azure Function and forwards the tweet ID as well as the answer in the HTTP body in order to reference the original tweet and being able to post a reply to the tweet rather than posting a new tweet. The Azure Function itself connects to the Twitter API via the Twit module and updates the original tweet by referencing the tweet ID and replies with the answer generated by the QnAMaker service. QnA Maker Service# The only thing you have to do is to create a new knowledgebase within the QnAMaker service and populate it with … --- ## Migrate your Bot Framework or Azure Bot Service preview bot to Azure Bot Service the right way - URL: https://bisser.io/migrate-your-bot-framework-or-azure-bot-service-preview-bot-to-azure-bot-service-the-right-way/ - Date: 2018-03-08 - Description: Migrate your Bot Framework or Azure Bot Service preview bot to Azure Bot Service the right way - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 564 - Reading time: 3 min Microsoft has GAed the Azure Bot Service a couple of weeks ago, which was a huge step forward for all of us who are doing bots and AI apps in the Microsoft ecosystem. With this step, Microsoft is also pushing one more area into the Azure portal which is bots. Remember, during the preview, you had to create your bot in the Bot Framework portal and add your channels and everything related to your bot in that specific portal. Now with the transition to the GA status, they migrated that management tasks into the Azure portal, which definitively makes sense as the bots run in Azure. With that move, Microsoft also informed the customers that they need to manually “migrate” the bots, which have been created in the Bot Framework portal into Azure Bot Service bots which will be fully managed in the Azure portal. The migration flow as it is can be seen in the following steps: 1. Bot Framework Portal - Start Migration# When you log in to the Bot Framework portal, you simply need to choose the bot which you want to migrate and click migrate: After clicking migrate, it will display you some basic information about your Azure environment: Now you need to accept the new terms of service (as usual) ;) And once your bot service migration is finished (which can take a couple of minutes), you will be presented with the following screen: 2. Azure Portal - New Bot Management tools# Now your bot is fully migrated to the Azure Bot Service and it should be in the list of bots in the Azure portal, where you can click on it to manage it. When you view your bot’s details in the portal you will see the following information: This bot is migrated from the old Azure Bot Service. You can rollback the migration in order to have access to your old bot before 03/31/2018. After 03/31/2018, the old service will be deprecated. This can be done by browsing to the Bot Framework portal and hitting “Roll back migration”: This means that you can roll back your bot’s … --- ## Solving the problem of too much lines of code for a fresh Azure Functions Bot - URL: https://bisser.io/solving-the-problem-of-too-much-lines-of-code-for-a-fresh-azure-functions-bot/ - Date: 2018-02-08 - Description: Solving the problem of too much lines of code for a fresh Azure Functions Bot - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 236 - Reading time: 2 min Have you ever faced the issue of looking at more than 200.000 lines of code after creating a freshFunctions Bot via theAzure Portal? Well, I have unfortunately and I didn’t know where to put my code in this massive amount of NodeJS code. As a lightweight developer, I am not that familiar in reading someone else’s code so I didn’t want to spend hours in studying the code below in order to get an idea where to put my code into. But I found a solution to this problem which you’ll see below. But then I started debugging. Well, not the code but the Azure Portal ;) And after a while, I found the solution to my problem. Looking at the navigation pane to the right in the portal you can view the solution’s files. And when you create a bot via the Azure Portal with a NodeJS template it usually comes with the following files: Now if you click on the index.js file which is apparently already open it gets reloaded in the portal and somehow the 200.000 lines of meaningless (at least to me meaningless) code transform into 42 lines of meaningful code, isn’t that awesome? ;) So now you should be able to start adding more lines of code in there to actually develop your bot’s logic… Happy coding! If you still face this issue feel free to get in touch with me… --- ## Boost your Modern Workplace with Microsoft's AI ecosystem - Part 1 - SharePoint Online Intranet Bot - URL: https://bisser.io/boost-your-modern-workplace-with-microsofts-ai-ecosystem-part-1-sharepoint-online-intranet-bot/ - Date: 2018-02-06 - Description: Boost your Modern Workplace with Microsoft's AI ecosystem - Part 1 - SharePoint Online Intranet Bot - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 1538 - Reading time: 8 min The terms “Modern Workplace” or “Digital Workplace” is something every one of us have heard about in the last couple of months probably. It is some trend which should improve the workplace situation in order to digitally transform the way we work and make it more easier to communicate and collaborate with others. Therefore, the use of smart services can be beneficial when it comes to really transforming your workplace into a modern one. As Microsoft offers a variety of services & solutions in the AI world, these services can fit perfectly fine into that new world which helps your users adopt the new workplace easier. Therefore, this blog post is the first in series with much more to come which is dealing with the question how to actually integrate those AI services in the Microsoft AI ecosystem into your modern workplace to make it smarter and help your users in terms of adoption. In this first article, we will have a look at one major topic when talking about the modern workplace which is the “Intranet” and how to integrate some kind of digital assistant in the form of a bot into your SharePoint (Online) based intranet. Prerequisites# In order to implement the scenario into a SharePoint Online environment we need the following things: Office 365 Tenant (with global admin or at least SharePoint Online service admin permissions) Azure Subscription Development environment set up according to Set up your SharePoint Framework development environment Bot Design# As the Bot is our key component in this scenario we want to start building it. Therefore we have to go to the Azure Portal click “+ New” - Search for “Bot” and select “Functions Bot” as this is the serverless approach of building and deploying bots. After clicking “Create” we have to fill out some basic properties in order to give the bot a name, select the right subscription, region and template. My bot has the following … --- ## LUIS.ai Cheatsheet - URL: https://bisser.io/luis.ai-cheatsheet/ - Date: 2018-01-24 - Description: LUIS.ai Cheatsheet - Tags: AI, Cognitive Services - Categories: AI, Cognitive Services - Word count: 175 - Reading time: 1 min With the announcement of the GA status of the Language Understanding Intelligent Service a couple of weeks ago, I was thinking about how to easily enable people in using this awesome Cognitive Service. I was asked many times on how to easily use that service but I faced a lot of open questions and confusion. That’s why I decided to create a cheat sheet to illustrate the process of creating, training and publishing a LUIS model in order to use it within a Bot or other apps which should act intelligent and understand the human language. A machine learning-based service to build natural language understanding into apps, bots, and IoT devices. Quickly create enterprise-ready, custom models that continuously improve […] The full image can be downloaded here: LUIS.ai cheat sheet Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## Microsoft AI Platform Infographic - URL: https://bisser.io/microsoft-ai-platform-infographic/ - Date: 2017-12-26 - Description: Microsoft AI Platform Infographic - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 236 - Reading time: 2 min “Artificial intelligence productivity for every developer and every scenario” - this is the slogan which is shown on the landing page of the Microsoft AI Platform . But many people don’t know which services are included in this broad AI ecosystem. It is not only about Bots or Machine Learning - it’s about much more like Cognitive Services, it’s about the tools used for developing AI apps and the frameworks underneath all those great and intelligent services. That’s why the following infographic should show all the services which are included in the Microsoft AI Platform to show the various solutions which can be used to develop intelligent applications. With the Azure platform and productivity services, you can create the next generation of applications that span an intelligent cloud as well as an intelligent edge powered by AI. Use a comprehensive set of flexible AI services for any scenario, and enterprise-grade AI infrastructure that runs AI workloads anywhere at scale. Modern AI tools designed for developers and data scientists help you create AI solutions easily, and with maximum productivity. Read more… The full image can be downloaded here: Microsoft AI Platform Infographic Feel free to use it for internal use in your presentations or documents. The only point I ask you to do is to credit me and link this article to your documents where you use it. Please do not sell this as your own 😉 --- ## Azure Bot Service Couldn't send error on emulator - URL: https://bisser.io/azure-bot-service-couldnt-send-error-on-emulator/ - Date: 2017-12-06 - Description: Azure Bot Service Couldn't send error on emulator - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 269 - Reading time: 2 min Yesterday I wanted to deploy a new bot with the Azure Bot Service to start developing a new digital assistant within the Azure Bot Framework platform. But as I created my bot from the Azure portal I ran into a strange error upon testing the bot immediately, which you can see below: As you can see the bot’s function started, but it didn’t finish successfully and in the test window I got the error message “couldn’t send retry” which was quite strange as I didn’t modify the code at all. I started to check if it’s something in my Azure’s region and the subscription but I also failed when deploying a new bot in another region with another subscription. So I asked the Azure support team for help and they immediately helped me solving the problem. Solution If you run into this issue, go to your bot’s **package.**json file and check the botbuilder package version: If you see the same botbuilder version then please change it to 3.12.0 like shown below: Now you need to update your npm packages for your solution. So please go to https://.scm.azurewebsites.net and click on Debug console and choose CMD. Now you have to navigate to D:\home\site\wwwroot\messages where you need to execute npmupdate like shown below: When this operation has finished, you should be fine now and your bot should be starting to work now and you can develop and test it from now on, have fun! Kudos to the Azure Support Team and **Andrea Orimoto **who immediately helped me with my problem! If you still face the problem mentioned please refer to this --- ## Bot Framework – 101 (with Infographic) - URL: https://bisser.io/bot-framework-101-with-infographic/ - Date: 2017-11-20 - Description: Bot Framework – 101 (with Infographic) - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 519 - Reading time: 3 min Microsoft’s Bot Framework is a great platform for designing, developing and deploying bots for various use cases. As nowadays many people are familiar with bots and they get used to connect and communicate with bots via social media, it’s a good opportunity to bring a service to the next level by adding a bot to it for a better communication service. In the past, t was very hard to achieve that as you would basically have to develop the bot on your own and connect all the different systems and platforms together to make the bot available to a broader audience. With the Bot Framework Microsoft released a platform where you only need to handle your bot’s design and logic without thinking about the various systems and services in which your bot should be communicating with your users. Think of a bot as an app that users interact with in a conversational way. Bots can communicate conversationally with text, cards, or speech. A bot may be as simple as basic pattern matching with a response, or it may be a sophisticated weaving of artificial intelligence techniques with complex conversational state tracking and integration to existing business services. The Bot Framework enables you to build bots that support different types of interactions with users. You can design conversations in your bot to be freeform. Your bot can also have more guided interactions where it provides the user choices or actions. The conversation can use simple text strings or more complex rich cards that contain text, images, and action buttons. And you can add natural language interactions, which let your users interact with your bots in a natural and expressive way. Read more… The following infographic should provide you with a high-level overview of the Bot Framework including all necessary components: Channels Platforms & SDKs Additional Services (Cognitive Services) Channels# Channels provide you with the ability to deploy your bot in various systems at the same … --- ## Cognitive Services Text Analytics API GA - URL: https://bisser.io/cognitive-services-text-analytics-api-ga/ - Date: 2017-10-13 - Description: Cognitive Services Text Analytics API GA - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 131 - Reading time: 1 min One of the coolest Cognitive Services APIs is finally generally available: the Text Analytics API. If you have a look at **Survey 365 **you will see what awesome stuff the Text Analytics API lets you do. Like in this example, you can extract text and detect the sentiment score of a given text to see if it is rather positive or negative. And all that without coding a lot. You can see the official announcement from the Microsoft Azure team about the GA information below: And by the way, if you are interested in a quick demo on how you can use the Text Analytics API just head over to** Text Analytics API ** and enter your text to check the sentiment and extract the key phrases as I did below: --- ## Cognitive Services and Bot Framework Visio Stencils - URL: https://bisser.io/cognitive-services-and-bot-framework-visio-stencils/ - Date: 2017-10-10 - Description: Cognitive Services and Bot Framework Visio Stencils - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 253 - Reading time: 2 min During the work on my first infographic on Cognitive Services I had a hard time to get the right icons for all Cognitive Services and APIs as I used Visio to create it and there were no stencils for these services. So I decided to go with the icons, Sandro Pereira created, which are totally awesome, but unfortunately, there are some service icons missing. So I had to create the missing icons on my own in Visio, which resulted in a huge amount of working hours to get this done. So I thought of creating a stencil set for all AI services and applications in the Microsoft AI ecosystem which I can use for all my future infographics. And as I’m probably not the only one who will need those icons to create awesome Visio graphics, I want to share those stencils with you all! So if you want to use them, please download the Visio stencils in my TechNet Gallery and create awesome graphics. To give you a quick glimpse of what you can expect from my stencils, the following image shows the current stencils and shapes for the various categories: Azure AI stencils (Cognitive Services & Bot Framework) If you have any questions about the stencils or if you have improvement suggestions, please contact me via Twitter, email or any other social media channel as I would love to hear your feedback. Stay tuned for the next updated version of my stencil set which will include more awesome icons and shapes. --- ## MSIgnite updates on AI at a glance - URL: https://bisser.io/msignite-updates-on-ai-at-a-glance/ - Date: 2017-09-26 - Description: MSIgnite updates on AI at a glance - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 641 - Reading time: 4 min As the Microsoft Ignite is currently going on in Orlando, there are a lot of news and updates on all the various areas. The main focus areas which have been presented in the keynote are: Modern workplace Business applications Applications & infrastructure Data & AI As you might already know I’m into all things AI, which is why I want to share the most recent and important updates on the AI ecosystem (Cognitive Services, Bots & ML) by Microsoft during the Ignite with you… 25.09.2017# Service Updates# Text Analytics API is now generally available. Text Analytics is a cloud-based service that provides advanced natural language processing over raw text. It includes API functions such as sentiment analysis, key phrase extraction and language detection. Bing Custom Search API will be generally available in October. Bing Custom Search lets you create a highly-customized targeted web search experience to deliver more relevant results from your targeted web space through a commercial grade service. Bing Search APIs v7 will be will be generally available in October. Allowing you to bring the immense knowledge of the planet to your applications, the v7 update will provide several improvements, such as results coming back fast with improved performance for queries on the Bing Web Search API . New sorting and filtering options make it easier to find relevant results in news trending topics and image searches. Better error messages make it easy to troubleshoot and diagnose problem queries, and updated, modernized documentation make it easy bring the power of the Bing Search APIs to your applications. Changes to the Language Understanding Intelligent Service and Microsoft Bot Framework are planned, which contain everything you need to build and connect intelligent bots, generally available later this year. New Capabilities# QnAMaker preview API is now enabling to build, train and publish a simple question and answer bot from product manuals. Face API , … --- ## Cognitive Services - 101 (with Infographic) - URL: https://bisser.io/cognitive-services-101-with-infographic/ - Date: 2017-09-14 - Description: Cognitive Services - 101 (with Infographic) - Tags: AI, Bot Framework - Categories: AI, Cognitive Services - Word count: 773 - Reading time: 4 min Microsoft Cognitive Services are APIs and services which can be used to add intelligent services to applications for different purposes, whether this is a web, mobile or desktop app or a bot which should interact with humans in a more natural way. But as there is a wide range of Cognitive Services which can be used this post should expose and describe each of the APIs currently available. This should help get to know Microsoft’s AI ecosystem a bit more. Additionally, the infographic I came up with should give an overview of the Cognitive Service world, which can be used to describe the individual services and APIs to help understand which service should be used in which area of application. Microsoft Cognitive Services let you build apps with powerful algorithms to see, hear, speak, understand and interpret our needs using natural methods of communication, with just a few lines of code. Easily add intelligent features – such as emotion and sentiment detection, vision and speech recognition, language understanding, knowledge, and search – into your app, across devices and platforms such as iOS, Android, and Windows, keep improving and are easy to set up. Read more… Looking at the following infographic, the Cognitive Services can be grouped into six main areas, which are explained in detail below: Vision Knowledge Speech Language Search Labs Cognitive-Services-Infographic-with-Description Vision# With the different vision APIs, it is possible to gain insights from pictures or videos. The capabilities range from detecting faces in pictures up to automated image, text or video moderation as well as person recognition. As the infographic shows, there is even the possibility of building an own computer vision model for custom use cases, if the other services are not sufficient for the goal which should be achieved. Knowledge# Whether you want to build a QnA Bot with the QnA Maker API or you want to build an app which serves the users with recommendations based on … --- ## Homie - A language understanding bot for smart homes - URL: https://bisser.io/homie-a-language-understanding-bot-for-smart-homes/ - Date: 2017-08-16 - Description: Homie - A language understanding bot for smart homes - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 1537 - Reading time: 8 min Smart homes, smart vehicles, smart everything - nowadays all devices which we daily use have to be smart otherwise we wouldn’t use them, would we? There are so many different approaches to make a device smart either you can control it remotely, speak to it or it even sets actions autonomously which should ease our lifes here and there. The key to achieve all this is nearly the same everywhere, no matter if you use smart devices and services provided by Google, Amazon or Microsoft. Behind all that is alwaysAI (Artifical Intelligence). And as I do a lot of research on Microsoft’s AI stack (Cognitive Services, Bot Framework, Machine Learning, …) within Azure, I wanted to develop something intelligent, which could make my everyday life a bit easier. So I thought of a service, which could take actions whenever I tell it to do so. And this was the birth of “Homie”, who is my personal assistant for doing smart stuff. But now you most probably want to know who or what Homie is, right? Well, I’ll try to explain you what and who he is within the next few paragraphs. The Solution Design# Let’s start. Imagine you are sitting in your office at home or at work and are really deepened in your work and you have to be concentrated in order to get your work done. And as time flies by, it gets dark outside. In the beginning you won’t notice that it gets dark as you only star into your monitors and do your work. But after a few minutes, when it’s really dark, you are sitting in a dark room and we all know, this doesn’t work out very well for a longer time. But as you are a lazy person, like me, you don’t want to stand up and go over to the light switch to turn the light on. But what if I told you that Homie could turn the light on for you and you can remain seated? All you need to do is to follow the following steps and get all services connected to each other like in the picture below and you can tell Homie what to do … --- ## Survey 365 - An intelligent survey solution - URL: https://bisser.io/survey-365-an-intelligent-survey-solution/ - Date: 2017-07-17 - Description: Survey 365 - An intelligent survey solution - Categories: AI, Cognitive Services - Word count: 1039 - Reading time: 5 min Microsoft Forms is one of the youngest services in the Office 365 ecosystem. Forms is a great service in my opinion as such a service was missing in the Microsoft repertoire. Now Office 365 users can create their Forms within seconds in order to create a survey or quiz and ask others about their opinion. And one of the most used survey topics in a company is the wellbeing of the employees. If the employees do not feel well, they won’t achieve the necessary results, which would push the companies services forward. And we all know what happens if the employees of a company don’t like what they’re doing in their every day’s work - either they quit soon or they quit later, but they’ll for sure quit if nothing else happens. But the time, where they don’t perform as expected is a crucial part, which needs be as low as possible. But how does this belong to Microsoft’s new Forms service? Well, I will tell you. How about if you could create a survey for your employees in order to get to know their opinion about their job position and their performance? How about if your employees would really tell you what they feel (as we all know they won’t, or at least 90% won’t in a face to face discussion as they would fear the results)? My pitch on this would be to create a survey for that which could be sent out to the employees on a regular basis in order to gain insights on their current situation. But why would we use Forms for that? Well, that’s an eligible question, but my answer would be: Why shouldn’t we use a Microsoft, or even better an Office 365 service for that as we love this ecosystem? But there’s an even better answer to this - Because we can use other great tools along with Forms which offer us whole new opportunities. And therefore I want to show you how you can create an intelligent survey based on Forms, Teams and of course AI in order to create a real intelligent survey, which uses Cognitive … --- ## How to keep up with the Azure roadmap - URL: https://bisser.io/how-to-keep-up-with-the-azure-roadmap/ - Date: 2017-07-11 - Description: How to keep up with the Azure roadmap - Categories: Azure - Word count: 402 - Reading time: 2 min Many of my customers, where I had the chance to do a workshop about Azure or Office 365 asked me the same question every single time: “How do you keep track with the updates on the roadmap?” I have to admit, the question is eligible due to the fact, that there is an update on the roadmap for both products nearly every day. So as a good consultant, you would need to spend all of your time studying the roadmaps to be on track and give your customers the newest information and advices in order to sell the best services and solutions. Well, I guess we all know, that this can’t be done, except for people who don’t sleep. So i thought about a better way of how to keep track with the updates on the different roadmaps. Looking at the following 2 pages, where the roadmaps of Office 365 and Azure are displayed, I soon detected something on the Azure roadmap page, which I could use - RSS feeds. So take a look at the roadmaps if you like: https://azure.microsoft.com/en-us/roadmap/ https://products.office.com/en-us/business/office-365-roadmap So I thought of a solution which should give me the possibility to stay on track, no matter where I am and which device I am using. That’s an ideal use case for Microsoft Teams. So basically what I have done is to built a Flow, which should be triggered if a RSS feed item is published and afterwards send the feed item summary to my Teams channel for later reading. So let’s head over to Flow and create a new one with the following trigger settings: The RSS feed URL is the Azure roadmap URL followed by “/feed” (this can be found on the roadmap page as well). So paste it in there: Now we only need to add an action which should post a message to my Teams channel, like this: And if you saved it, you will soon see some new messages in your channel, which inform you about the latest Azure roadmap updates: Unfortunately, I did not find anything similar for Office 365 as well, as there is no official … --- ## Detect the sentiment of your received emails - URL: https://bisser.io/detect-the-sentiment-of-your-received-emails/ - Date: 2017-06-29 - Description: Detect the sentiment of your received emails - Categories: AI, Cognitive Services - Word count: 950 - Reading time: 5 min The last days I was doing a lot of researches on AI and Cogntive Services as this topic is a major topic for the future in the daily use. So I read a couple of blog posts about this and got an idea on how to use it. And today I want to show you a small prototype application which I created in order to combine the Azure Cognitive Service API with my most used tool for work, which is Outlook and packed it into an Azure Logic App as I am not a developer (as you might know by now) in order to save development effort. The basic idea was to create a solution which checks my received mails and detects the sentiment of the mail body in order to see if the sentiment score is high or low of the received mail. Therefore I created a logic app which is consisting of the following actions: The Azure Logic App triggers each time a new mail arrives in my inbox, sends the body to the Text Analytics Service of the Cognitive Service API and the result which is basically the sentiment score of the mail will be inserted into a Power BI dataset in order to build a nice dashboard. But let’s start from the beginning and create the Logic App. So head over to your Azure portal and create a new Logic App: When the app is deployed you can head over to the Logic App Designer and start to insert the first action which is the Outlook action “When a new email arrives”. So if you open up the Designer you will be presented with a couple of templates. But we will go with the blank one: Next we will search for our trigger in the Office 365 Outlook service and click on “When a new email arrives”: Now the Designer is prompting us to sign into your Office 365 mailbox so we will do that: If you have SSO enabled, you won’t need to enter your credentials here. When you signed in you can choose your mailbox folder which should be checked. I will go for the Inbox in my case but you can choose whatever folder you want. You can also adapt the frequency the trigger should be … --- ## Microsoft Bot Framework - Useful resources & links - URL: https://bisser.io/microsoft-bot-framework-useful-resources-links/ - Date: 2017-04-14 - Description: Microsoft Bot Framework - Useful resources & links - Tags: AI, Bot Framework - Categories: AI, Bot Framework - Word count: 164 - Reading time: 1 min As you may know, Microsoft has released a Framework for building Bots on an Azure. You may encounter the problem that you are thrilled to start building a bot, but you don’t know how to begin and where to find the resources. So I thought of providing you with a list of useful resources and links on the Bot Framework which you may want to conduct: Links# Official Microsoft Bot Framework Blog Bot Framework - Making Bots More Intelligent Forwarding activities / messages to other dialogs in Microsoft Bot Framework New Bot Framework features and updates Bots are banging: Getting Started with the Microsoft Bot Framework & Node.js Videos# Getting Started with Building Bots with Microsoft’s Bot Framework Microsoft Bot Framework and Cognitive Services: Make your bot smarter! DevOps for the Bot Framework Telemetry for the Bot Framework Testing the Bot Framework Code Samples# Embeddable web chat control for the Microsoft Bot Framework Forwarding activities / messages to other dialogs in Microsoft Bot Framework --- ## Cognitive Services - Vision Category - URL: https://bisser.io/cognitive-services-vision-category/ - Date: 2017-03-21 - Description: Cognitive Services - Vision Category - Categories: AI, Cognitive Services - Word count: 434 - Reading time: 3 min Computer Vision# Most of us will quickly bring image analysis in conjunction with high mathematical formulas and pattern recognition algorithms. The Computer Vision API but is based on a completely different level of abstraction. If one sends a picture of a squirrel on the service, “a squirrel is sitting on a rock” and a percentage chance comes in response, how much you can trust the statement. In addition, their position, as well as dominant color values can be queried tags and categories (animal, outdoor etc.), including faces. For portals, where images are uploaded by users, marking of potentially racist or adult content is helpful. In addition to the - almost unspectacular in comparison - OCR recognition (optical character recognition), which is also offered as a service, a very useful API stands out: the thumbnail service. From an arbitrary image, a thumbnail of the desired size is generated and it tries to choose the best cut-out. Detected a logo, is the image fully preserved and will only shrink. Photos faces and dominant objects as well as possible in the image remain, while the rest will be truncated. Emotion API# Who was already excited by the recognition of the age and sex, should have seen the Emotion API. Faces can be analyzed in terms of feeling expression: _Does the person look angry, shocked, scared, happy, neutral, sad or_surprised? The service works for pictures the same as for videos and is also available in a limited free version available (thirty thousand image requests, three hundred uploads per month). The premium packages are between 0.10 and 0.25 dollar per thousand transactions. Face API# The Face API cares less about the expression as to the identification of faces. While earlier, the position of the face is detected, this API also provides information about the eyes and eyebrows, nose and corners of the mouth. It is recognized that the person wears a beard or is a glasses on has. This data is in turn relevant to identify … --- ## Cognitive Services - What is that? - URL: https://bisser.io/cognitive-services-what-is-that/ - Date: 2017-01-19 - Description: Cognitive Services - What is that? - Categories: AI, Cognitive Services - Word count: 195 - Reading time: 1 min Microsoft just published a new article on the topic of Cognitive Services (formerlyProject Oxford). The Cognitive Services are a collection of SDKs and APIs along with services which should make your life easier if you want to build an intelligent application. These services basically leverage Microsoft’s existing platforms and services like Machine Learning and so on to enable developers to create applications with intelligent features like the following: Emotion Detection Video Detection Speech Detection Face Recognition Speech Recognition Vision Recognition Language Understanding Speech Understanding Our vision is for more personal computing experiences and enhanced productivity aided by systems that increasingly can see, hear, speak, understand and even begin to reason. The services are all hosted in Azure datacenters to ensure high performance and ease of use. You can start integrating these nice APIs and SDKs as Microsoft offers you to start with a free trial with the ability to upgrade it for production use later on. As all the APIs have a free trial plan to start with you can basically explore each service to find out if that fits your application and if it has the features you need to deploy an intelligent application… ---