Skip to content

Commit 65ab32b

Browse files
Merge pull request #141 from BrianArcher94/VARify
VARify Bot Submission
2 parents a9d7bbc + 20dc798 commit 65ab32b

File tree

81 files changed

+3397
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+3397
-0
lines changed

samples/varify-bot/README.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# VARify Bot
2+
3+
## Summary
4+
5+
VARify Bot is an agent built with Copilot Studio for fetching information about football teams and results. The bot integrates with a third-party API (https://www.api-football.com/) to answer queries related to your favourite football teams.
6+
7+
You can also set your preferred favourite team and this will be stored in a Dataverse table and linked to your user account. The bot will have knowledge of your favourite team during subsequent interactions.
8+
9+
![Get team information](assets/VARify_Bot_1.jpg)
10+
11+
![Set favourite team](assets/VARify_Bot_2.jpg)
12+
13+
![Get team results](assets/VARify_Bot_3.jpg)
14+
15+
## Applies to
16+
17+
18+
![Power Automate](https://img.shields.io/badge/Power%20Automate-Yes-green "Yes")
19+
![Power Virtual Agents](https://img.shields.io/badge/Power%20Virtual%20Agents-Yes-green "Yes")
20+
![Dataverse](https://img.shields.io/badge/Dataverse-Yes-green "Yes")
21+
![Custom Connectors](https://img.shields.io/badge/Custom%20Connectors-Yes-green "Yes")
22+
![Power Apps](https://img.shields.io/badge/Power%20Apps-No-red "No")
23+
![Power BI](https://img.shields.io/badge/Power%20BI-No-red "No")
24+
![Power Pages](https://img.shields.io/badge/Power%20Pages-No-red "No")
25+
![AI Builder](https://img.shields.io/badge/AI%20Builder-No-red "No")
26+
![Power Fx](https://img.shields.io/badge/Power%20Fx-No-red "No")
27+
28+
29+
## Compatibility
30+
31+
![Premium License](https://img.shields.io/badge/Premium%20License-Required-green.svg "Premium license required")
32+
![Experimental Features](https://img.shields.io/badge/Experimental%20Features-Yes-green.svg "Does rely on experimental features")
33+
![Premium License](https://img.shields.io/badge/Premium%20License-Not%20Required-red.svg "Premium license not required")
34+
![Experimental Features](https://img.shields.io/badge/Experimental%20Features-No-red.svg "Does not rely on experimental features")
35+
36+
## Contributors
37+
38+
39+
* [Brian Archer](https://github.com/BrianArcher94)
40+
41+
## Version history
42+
43+
Version|Date|Comments
44+
-------|----|--------
45+
1.0|April 14, 2025|Initial release
46+
47+
## Prerequisites
48+
49+
1. Access to Copilot Studio
50+
2. Sign up for an account on https://www.api-football.com/
51+
3. Get your API key from your API-Football portal
52+
53+
54+
### Using the solution zip
55+
56+
* [Download](./solution/varify-bot.zip) the `.zip` from the `solution` folder
57+
* Within **Power Apps Studio**, import the solution `.zip` file using **Solutions** > **Import Solution** and select the `.zip` file you just packed.
58+
59+
### Using the source code
60+
61+
You can also use the [Power Apps CLI](https://docs.microsoft.com/powerapps/developer/data-platform/powerapps-cli) to pack the source code by following these steps:
62+
63+
* Clone the repository to a local drive
64+
* Pack the source files back into a solution `.zip` file:
65+
66+
```bash
67+
pac solution pack --zipfile pathtodestinationfile --folder pathtosourcefolder --processCanvasApps
68+
```
69+
70+
Making sure to replace `pathtosourcefolder` to point to the path to this sample's `sourcecode` folder, and `pathtodestinationfile` to point to the path of this solution's `.zip` file (located under the `solution` folder)
71+
* Within **Power Apps Studio**, import the solution `.zip` file using **Solutions** > **Import Solution** and select the `.zip` file you just packed.
72+
73+
## Features
74+
75+
This solution illustrates the following concepts on top of the Power Platform:
76+
77+
* Custom Copilot Agent
78+
* Integration between Copilot agent and third-part API
79+
* Integration between Copilot Agent and Dataverse
80+
81+
## Help
82+
83+
We do not support samples, but this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues.
84+
85+
If you encounter any issues while using this sample, you can [create a new issue](https://github.com/pnp/powerapps-samples/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=bug-report.yml&sample=varify-bot&authors=@BrianArcher94&title=varify-bot%20-%20).
86+
87+
For questions regarding this sample, [create a new question](https://github.com/pnp/powerapps-samples/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=question.yml&sample=varify-bot&authors=@BrianArcher94&title=varify-bot%20-%20).
88+
89+
Finally, if you have an idea for improvement, [make a suggestion](https://github.com/pnp/powerapps-samples/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=suggestion.yml&sample=varify-bot&authors=@BrianArcher94&title=varify-bot%20-%20).
90+
91+
## Disclaimer
92+
93+
**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**
94+
95+
<img src="https://m365-visitor-stats.azurewebsites.net/powerplatform-samples/samples/varify-bot" aria-hidden="true" />
154 KB
Loading
47.2 KB
Loading
55.8 KB
Loading

samples/varify-bot/assets/sample.json

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
[
2+
{
3+
"name": "pnp-powerplatform-samples-varify-bot",
4+
"source": "pnp",
5+
"title": "VARify Bot",
6+
"shortDescription": "VARify Bot is an agent built with Copilot Studio for fetching information about football teams and results. The bot integrates with a third-party API (https://www.api-football.com/) to answer queries related to your favourite football teams.",
7+
"url": "https://github.com/pnp/powerplatform-samples/tree/main/samples/varify-bot",
8+
"downloadUrl": "https://pnp.github.io/download-partial/?url=https://github.com/pnp/powerplatform-samples/tree/main/samples/varify-bot",
9+
"longDescription": [
10+
"VARify Bot is an agent built with Copilot Studio for fetching information about football teams and results. The bot integrates with a third-party API (https://www.api-football.com/) to answer queries related to your favourite football teams."
11+
],
12+
"creationDateTime": "2025-04-14",
13+
"updateDateTime": "2025-04-14",
14+
"products": [
15+
"Power Automate",
16+
"Power Virtual Agents",
17+
"Power Platform"
18+
],
19+
"tags": [
20+
"football",
21+
"agent"
22+
],
23+
"categories": [
24+
"CLOUD-FLOW",
25+
"CHATBOT"
26+
],
27+
"metadata": [
28+
{
29+
"key": "POWERAPPS-EXPERIMENTAL",
30+
"value": "No"
31+
},
32+
{
33+
"key": "POWERAPPS-PREMIUM",
34+
"value": "No"
35+
},
36+
{
37+
"key": "POWERAPPS-ONPREM",
38+
"value": "No"
39+
},
40+
{
41+
"key": "POWERAPPS-CUSTOMCONNECTOR",
42+
"value": "No"
43+
}
44+
],
45+
"thumbnails": [
46+
{
47+
"type": "image",
48+
"order": 100,
49+
"url": "https://github.com/pnp/powerplatform-samples/raw/main/samples/varify-bot/assets/VARify_Bot_1.jpg",
50+
"alt": "App preview"
51+
}
52+
],
53+
"authors": [
54+
{
55+
"gitHubAccount": "BrianArcher94",
56+
"pictureUrl": "https://github.com/BrianArcher94.png",
57+
"name": "Brian Archer"
58+
}
59+
],
60+
"references": [
61+
{
62+
"name": "Microsoft Power Platform documentation",
63+
"description": "Discover how to make the most of Microsoft Power Platform products with online training courses, docs, and videos covering product capabilities and how-to guides.",
64+
"url": "https://learn.microsoft.com/power-platform/"
65+
}
66+
]
67+
}
68+
]
56.9 KB
Binary file not shown.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# msbuild output directories
4+
/bin
5+
/obj
6+
7+
# MSBuild Binary and Structured Log
8+
*.binlog
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<PowerAppsTargetsPath>$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\PowerApps</PowerAppsTargetsPath>
5+
</PropertyGroup>
6+
7+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
8+
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.props" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.props')" />
9+
10+
<PropertyGroup>
11+
<ProjectGuid>36e6d631-17d6-4c04-8368-89213d21e0d3</ProjectGuid>
12+
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
13+
<!--Remove TargetFramework when this is available in 16.1-->
14+
<TargetFramework>net462</TargetFramework>
15+
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
16+
<SolutionRootPath>src</SolutionRootPath>
17+
</PropertyGroup>
18+
19+
<!--
20+
Solution Packager overrides, un-comment to use: SolutionPackagerType (Managed, Unmanaged, Both)
21+
Solution Localization Control, if you want to enabled localization of your solution, un-comment SolutionPackageEnableLocalization and set the value to true. - Requires use of -loc flag on Solution Clone or Sync
22+
-->
23+
<!--
24+
<PropertyGroup>
25+
<SolutionPackageType>Managed</SolutionPackageType>
26+
<SolutionPackageEnableLocalization>false</SolutionPackageEnableLocalization>
27+
</PropertyGroup>
28+
-->
29+
30+
<ItemGroup>
31+
<PackageReference Include="Microsoft.PowerApps.MSBuild.Solution" Version="1.*" />
32+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All" />
33+
</ItemGroup>
34+
35+
<ItemGroup>
36+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\.gitignore" />
37+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\bin\**" />
38+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\obj\**" />
39+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.cdsproj" />
40+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.cdsproj.user" />
41+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.sln" />
42+
</ItemGroup>
43+
44+
<ItemGroup>
45+
<None Include="$(MSBuildThisFileDirectory)\**" Exclude="@(ExcludeDirectories)" />
46+
<Content Include="$(SolutionPackageZipFilePath)">
47+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
48+
</Content>
49+
</ItemGroup>
50+
51+
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
52+
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.targets" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.targets')" />
53+
54+
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<botcomponent_connectionreferenceset>
2+
<botcomponent_connectionreference botcomponentid.schemaname="ba_vaRifyBot.component.API-Football-Getfixtures" connectionreferenceid.connectionreferencelogicalname="ba_vaRifyBot.shared_api-2dfootball-5fef65ead3619d20b2-5fd08fbdd201909bb3.shared-api-2dfootbal-531c3508-438e-415e-90c3-d0b7267b6cf0">
3+
<iscustomizable>1</iscustomizable>
4+
</botcomponent_connectionreference>
5+
<botcomponent_connectionreference botcomponentid.schemaname="ba_vaRifyBot.component.API-Football-Getteaminformation" connectionreferenceid.connectionreferencelogicalname="ba_vaRifyBot.shared_api-2dfootball-5fef65ead3619d20b2-5fd08fbdd201909bb3.shared-api-2dfootbal-531c3508-438e-415e-90c3-d0b7267b6cf0">
6+
<iscustomizable>1</iscustomizable>
7+
</botcomponent_connectionreference>
8+
</botcomponent_connectionreferenceset>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<botcomponent_workflowset>
2+
<botcomponent_workflow botcomponentid.schemaname="ba_vaRifyBot.component.VARify_Introduction" workflowid.workflowid="0e0dd588-ba10-f011-9989-6045bd0e2fc6">
3+
<iscustomizable>1</iscustomizable>
4+
</botcomponent_workflow>
5+
<botcomponent_workflow botcomponentid.schemaname="ba_vaRifyBot.topic.FavouriteTeam" workflowid.workflowid="0e0dd588-ba10-f011-9989-6045bd0e2fc6">
6+
<iscustomizable>1</iscustomizable>
7+
</botcomponent_workflow>
8+
<botcomponent_workflow botcomponentid.schemaname="ba_vaRifyBot.topic.SetFavouriteTeam" workflowid.workflowid="b320508c-d212-f011-998a-6045bd0e2fc6">
9+
<iscustomizable>1</iscustomizable>
10+
</botcomponent_workflow>
11+
</botcomponent_workflowset>

0 commit comments

Comments
 (0)