├── CONTRIBUTING.md
├── Documentation
├── Architecture.md
├── Deployment-guide.md
├── Images
│ ├── buypizza.png
│ ├── parker-pnp.png
│ ├── prompt-pulse-adaptivecard-screenshot.png
│ ├── prompt-pulse-adaptivecard.png
│ ├── prompt-pulse-all-screenshot.png
│ ├── prompt-pulse-import-buddy-screenshot.png
│ ├── prompt-pulse-import-screenshot.png
│ ├── prompt-pulse-landing-screenshot.png
│ ├── prompt-pulse-logo.png
│ ├── prompt-pulse-mobile-screenshot.png
│ ├── prompt-pulse-reporting-list-screenshot.png
│ ├── prompt-pulse-scheduled-screenshot.png
│ ├── prompt-pulse-scheduledialog-screenshot.png
│ ├── prompt-pulse-share-screenshot.png
│ ├── prompt-pulse-viewliking-screenshot.png
│ ├── prompt-pulse-vivaengage-post-screenshot.png
│ └── reporting-list-screenshot.png
└── Overview.md
├── LICENSE
├── PromptPulseBuddyIntegration_1.0.0.0.zip
├── PromptPulse_3_0_0_2.zip
├── Prompts.csv
├── README.md
└── prompts.json
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribution guidelines
2 |
3 | We appreciate that you're interested in helping with Prompt Pulse. Before you submit your first PR, please read the following guide. We'd hate to see you work on something that someone else is already working on, something that we agreed not to do or something that doesn't match the project.
4 |
5 | Sharing is caring!
6 |
7 | ## You have an idea for new functionality
8 |
9 | Awesome! Good ideas are invaluable for every product. Before you start hacking away, please check if there is no similar idea already listed in the [issues list](https://github.com/pnp/prompt-pulse/issues). If not, please create a new issue describing your idea. Once we agree on the functionality and architecture, the functionality will be ready for building. Don't hesitate to mention in the issue if you'd like to build the functionality yourself.
10 |
11 | ## You have a suggestion for improving existing functionality
12 |
13 | Nothing is perfect. If you have an idea how to improve existing functionality in Prompt Pulse, let us know by submitting an issue in the [issues list](https://github.com/pnp/prompt-pulse/issues). Some things are done for a reason, but some are not. Let's discuss what you think and see how Prompt Pulse could be improved for everyone.
14 |
15 | ## You've found a bug
16 |
17 | Bugs happen. When you find a bug, please have a look at the [issues list](https://github.com/pnp/prompt-pulse/issues) to see if a similar bug has already been logged. If not, let us know what doesn't work and how we can reproduce it. If we can't reproduce your bug, we will ask you for clarification, which will only make it longer to fix it.
18 |
19 | ## Fixing typos
20 |
21 | Typos are embarrassing! Most PR's that fix typos will be accepted immediately. In order to make it easier to review the PR, please narrow the focus instead of sending a huge PR of fixes.
22 |
23 | ## Tips
24 |
25 | Before contributing:
26 |
27 | - ensure that the **main** branch on your fork is in sync with the original **prompt-pulse** repository
28 |
29 | ```sh
30 | # assuming you are in the folder of your locally cloned fork....
31 | git checkout main
32 |
33 | # assuming you have a remote named `upstream` pointing to the official **prompt-pulse** repo
34 | git fetch upstream
35 |
36 | # update your local main to be a mirror of what's in the main repo
37 | git pull --rebase upstream main
38 | ```
39 |
40 | - create a feature branch for your change. If you'll get stuck on an issue or merging your PR will take a while, this will allow you to have a clean main branch that you can use for contributing other changes
41 |
42 | ```sh
43 | git checkout -b my-contribution
44 | ```
45 |
46 | ## DO's & DON'Ts
47 |
48 | - **DO** follow the same project structure as the existing project.
49 | - **DO** highlight how the current behavior is broken when fixing bugs.
50 | - **DO** keep discussions focused. When a new or related topic comes up it's often better to create new issue than to side track the conversation.
51 | - **DO NOT** submit PR's for coding style changes.
52 | - **DO NOT** surprise us with big PR's. Instead file an issue & start a discussion so we can agree on a direction before you invest a large amount of time.
53 | - **DO NOT** commit code you didn't write.
54 | - **DO NOT** submit PR's that refactor existing code without a discussion first.
--------------------------------------------------------------------------------
/Documentation/Architecture.md:
--------------------------------------------------------------------------------
1 | # Architecture
2 |
3 | The below documentation details the architecture of the Prompt Pulse solution. Prompt Pulse is provided as a Power Apps solution file (**unmanaged**), this allows easy updates when new versions are released.
4 |
5 | The Prompt Buddy integration is provided as a Dataverse for Teams solution file (**unmanaged**) and is deployed separately from the Prompt Pulse solution.
6 |
7 | ## Connectors
8 |
9 | The following connectors are used in the Prompt Pulse solution:
10 |
11 | - Viva Engage
12 | - Office 365 Users
13 | - SharePoint
14 | - Microsoft Teams
15 | - Office 365 Groups
16 |
17 | When executed from the Power App (to retrieve Groups, Teams and Viva Engage communities) they will be executed in the context of the current user so they should only see ones they have access to. They will also only see group chats they are part of.
18 |
19 | It's worth noting that Group Chats and Viva Engage Communities are pulled into the app via two flows.
20 |
21 | The above connectors are also used in the Power Automate flows.
22 |
23 | The following connectors are used in the Prompt Buddy Integration solution:
24 |
25 | - Dataverse
26 | - SharePoint
27 |
28 | ## Service Account
29 |
30 | **It is highly recommended to deploy Prompt Pulse using a dedicated service account/M365 user** and share the app across the organization/with the required users. The UPN for this service account is stored in the configuration list.
31 |
32 | Adaptive cards and Viva Engage notifications are sent using the account that deploys the Prompt Pulse Power Platform solution and configures the connections. Therefore by using a service account you can control the name of the user the notifications come from.
33 |
34 | In addition, in order to post the cards/notifications, the user account sending them needs to be member of the Team, Group Chat, Viva Engage community, this is handled automatically (with the exception of Group Chats) through the app. **Bear this in mind because not using a service account would result in the user who deployed the solution being added to these locations**.
35 |
36 | This service account can also be used to deploy the Prompt Buddy integration.
37 |
38 | ## Power App
39 |
40 | The Prompt Pulse Power App is a canvas app using mostly **modern** controls where possible. Prompts that are shared/scheduled are stored in the **Prompts** SharePoint list.
41 |
42 | The app uses the above connectors (and flows listed below) to interact with the SharePoint site/lists and retrieve the locations in which to share the prompts.
43 |
44 | The app can be customized if you wish, though it's worth noting that customizations will be lost if you attempt to update the solution in the future when new releases are available.
45 |
46 | ## Prompt Buddy Integration
47 |
48 | Integration with Prompt Buddy is provided through a single flow (details can be found below) which adds Prompt Buddy prompts to the **Prompts** list and Prompt Pulse prompts to the relevant dataverse tables used by Prompt Buddy. This keeps both solutions in sync and ensures prompts can be accessed from both apps.
49 |
50 | ## Reporting
51 |
52 | Basic reporting can be found in the **Reporting** list in the form of a single list item. This list item is created automatically if it does not exist by the app and flows.
53 |
54 | If multiple list items exist in this list, only the first item is updated in terms of the numeric data.
55 |
56 | # Flows
57 |
58 | Detailed information about the flows used in the solution can be found below:
59 |
60 |
61 | ## Send Prompt:
62 |
63 | Triggers when an item in the Prompts list is created or modified using the 'When an item is created or modified' SharePoint trigger.
64 |
65 | The following trigger condition is used to only trigger the flow when a prompt should be sent:
66 |
67 | ```@equals(triggerBody()?['Status']?['Value'], 'Send')```
68 |
69 | The flow uses a switch statement to switch on the value of the 'ShareLocation' column and based on the value, the relevant actions are used to post the adaptive cards/message in the Viva Engage community.
70 |
71 | The status of the list item is then updated to 'Sent'.
72 |
73 | **Please note - The cards and message will be sent AS the user whom you deployed the solution as. You may change the connections if you wish to change the user.**
74 |
75 | If the flow fails, a scope has been used to capture the error and the 'Status' column will be updated with the value **Failure**, you can then locate the flow and troubleshoot the error.
76 |
77 |
78 | ## Send Scheduled Prompt
79 |
80 | Triggers on a recurrent schedule (default is 5 minutes). The flow retrieves all prompts that are scheduled to be sent by using the following odata query on the 'Get Items' action:
81 |
82 | ```ScheduledDateTime lt '@{outputs('Current_datetime')}' and Status eq 'Not Sent' and Scheduled eq 1```
83 |
84 | The remainder of the flow is the same as the **Send Prompt** flow.
85 |
86 | ## Like Prompt
87 |
88 | This flow is triggered using the 'When someone responds to an adaptive card' trigger and is executed when the user clicks the 'Like Prompt' button in the adaptive card.
89 |
90 | The user responding to the adaptive card is retrieved from the 'Users' list and the prompt list item is retrieved from the 'Prompts' list.
91 |
92 | The flow then increments the value of the 'Likes' column by 1 and adds the prompt to an array. The value of the 'LikedPrompts' column in the Users list is checked to see whether it already contains the current prompt id.
93 |
94 | If this value does not exist, it is appended to an array and the value of the 'LikedPrompts' column in the Users list is updated.
95 |
96 | ## Get Group Chats
97 |
98 | This flow is triggered in the Power App when it is opened. It uses the Microsoft Teams connector to perform the following high-level steps:
99 |
100 | - Get group chats the user is part of.
101 | - Loop through group chats.
102 | - List members.
103 | - Check to see if the Prompt Pulse service account is a member of the chat AND that the chat has a name.
104 | - Return only the chats that contain the service account.
105 |
106 | This flow is required because prompt adaptive cards will not send if the service account is not a member of the chat. At the time of writing there is no workaround for this other than for the user to add the service account to the chat manually.
107 |
108 | ## Get Engage Communities
109 |
110 | This flow is triggered in the Power App when it is opened. It uses the Viva Engage and Office 365 Groups connectors to perform the following high-level steps:
111 |
112 | - Get communities the user is a member of.
113 | - Loop through communities.
114 | - Get the M365 group for the community by filtering on the display name (may retrieve multiple groups).
115 | - Loop through the returned groups checking for ones where 'creationOptions' contains 'YammerProvisioning' (Viva Engage backed group).
116 | - Return the communities along with the groupids.
117 |
118 | This flow is required because the native Viva Engage connector does not return the M365 group id for the community. The group id is needed to add the service account to the group through the app when sending a prompt.
119 |
120 | ## Parse Prompt CSV
121 |
122 | This flow is triggered from the Power App when the user clicks the **Upload** button. It parses the content of the csv file and returns it as JSON.
123 |
124 | ## Prompt Pulse Sync
125 |
126 | This flow is triggered on a recurrent scheduled inside the Dataverse for Teams environment in which the Prompt Buddy app resides. It performs the following high-level steps:
127 |
128 | - Get Prompt Buddy Microsoft 365 Copilot prompts.
129 | - Loop through prompts and create a list item in the Prompts list, set the value of the 'SyncedToPulse' column to true and set the 'BuddyId' column to the unique id of the dataverse record.
130 | - Loop through prompts in the Prompts list and create the relevant records in the Prompt Buddy dataverse tables, set the 'SyncedToBuddy' column to true.
131 |
132 | ## Data Source
133 |
134 | As detailed in the [Overview](Overview.md) documentation, there are 4 SharePoint lists used in prompt pulse. Please see the details of each list below and what each column is used for:
135 |
136 | ### Prompts list
137 |
138 | | Column Name | Type | Used for |
139 | | -------- | ------- | ------- |
140 | | Prompt | Multiple lines of text | Storing the prompt text.
141 | | Likes | Number | Number of likes the prompt list item has.
142 | | ShareLocation | Choice | Location to share the prompt to.
143 | | Users | Person or Group (Allow multiple selections) | Users to share the prompt to.
144 | | TeamId | Single line of text | Id of the Team selected in the app to share the prompt to.
145 | | ChannelIds | Multiple lines of text | Ids of the Channels selected in the app to share the prompt to.
146 | | GroupChatIds | Multiple lines of text | Ids of the Group Chats selected in the app to share the prompt to.
147 | | CommunityIds | Multiple lines of text | Ids of the Communities selected in the app (when sharing to Viva Engage).
148 | | MessageId | Single line of text | Unique id of the adaptive card message - used so we can refer back to it in Power Automate.
149 | | Scheduled | Yes/No | Whether or not the prompt has been scheduled.
150 | | ScheduledDateTime | Date and time | Date/Time to send the prompt.
151 | | Status | Choice | Status of the prompt.
152 | | SyncedToBuddy | Yes/No | Whether or not the prompt has been synced to Prompt Buddy (only used if the Prompt Buddy integration is deployed).
153 | | SyncedToPulse | Yes/No | Where or not the prompt has been synced from Prompt Buddy to Pulse (only used if the Prompt Buddy integration is deployed).
154 | | BuddyId | Single line of text | Unique id of the prompt in the Prompt Buddy dataverse prompts table.
155 | | App | Choice | App that the prompt applies to e.g. Excel.
156 |
157 |
158 | ### Users list
159 |
160 | | Column Name | Type | Values |
161 | | -------- | ------- | ------- |
162 | | User | Person or Group | The user that has opened Prompt Pulse.
163 | | LikedPrompts | Lookup | The prompts that the user has liked.
164 | | TutorialComplete | Yes/No | Whether or not the user has completed the tutorial.
165 |
166 | ### Configuration list
167 |
168 | | Column Name | Type | Used for |
169 | | -------- | ------- | ------- |
170 | | Value | Single line of text | The configuration value.
171 |
172 | ### Reporting list
173 |
174 | | Column Name | Type | Used for |
175 | | -------- | ------- | ------- |
176 | | PromptsSent | Number | The number of prompts sent in Prompt Pulse either directly or via scheduling.
177 | | AppLaunches | Number | The number of times the app has been launched/opened.
178 | | PromptsCopied | Number | The number of times prompts have been copied (clicking the prompt card) in the app.
179 | | PromptsLiked | Number | The total of prompts that have been liked by users.
180 |
181 |
--------------------------------------------------------------------------------
/Documentation/Deployment-guide.md:
--------------------------------------------------------------------------------
1 | # Deployment guide
2 |
3 | Please note - this deployment guide assumes a proficient level of knowledge in deploying Power Apps solutions and managing SharePoint list permissions.
4 |
5 | ## Video Walkthrough
6 |
7 | https://github.com/user-attachments/assets/b334e743-8c7b-4371-b5fd-4cf1f6e739dd
8 |
9 | ## Prerequisites
10 |
11 | To begin, you will need:
12 |
13 | - Power Apps and Power Automate (seeded licenses) enabled and rolled out across your organisation.
14 | - Power Apps environment with a Dataverse database deployed (only required due to the solution using Environment Variables). You may use the default environment, however a production environment is recommended. If you do not have capacity to create a Dataverse database, you may need to use the default environment.
15 | - Service account (**highly recommended**) to deploy the Power App and Flows. This should be a normal M365 user with a license that includes Power Apps, SharePoint, Viva Engage, Power Automate and Outlook. The account can have MFA enabled and you may choose the display name to suit your organization.
16 | - Access for the service account to the Power Apps environment you wish to deploy to (Environment Maker) access.
17 | - SharePoint site which will contain the lists - we recommend creating a new one for Prompt Pulse.
18 | - Full Control access to the above site.
19 | - Regional settings set correctly on the SharePoint site for your timezone and locale (this is important for the scheduling to work correctly).
20 | - The [latest release](https://github.com/pnp/prompt-pulse/releases/latest) of Prompt Pulse.
21 |
22 | ### Prompt Buddy Integration
23 |
24 | If you wish to integrate with Prompt Buddy, it must be deployed and set up in a Teams Team before deploying Prompt Pulse.
25 |
26 | Once Prompt Pulse is deployed, follow 'Step 5' below to deploy the Prompt Buddy integration, this requires deployment of an additional Power Apps solution.
27 |
28 | Note - You must create ALL of the columns below even if you are not deploying the integration.
29 |
30 | ## Step 1: Create SharePoint Lists
31 |
32 | 1. Navigate to the SharePoint site.
33 | 2. Create a list named 'Prompts'.
34 | 3. Create the following columns:
35 |
36 | | Column Name | Type | Values |
37 | | -------- | ------- | ------- |
38 | | Prompt | Multiple lines of text |
39 | | Likes | Number |
40 | | ShareLocation | Choice | Community, Team, Group Chat, Users |
41 | | Users | Person or Group (Allow multiple selections) |
42 | | TeamId | Single line of text |
43 | | ChannelIds | Multiple lines of text |
44 | | GroupChatIds | Multiple lines of text |
45 | | CommunityIds | Multiple lines of text |
46 | | Scheduled | Yes/No | Default value = No |
47 | | ScheduledDateTime | Date and time | Include time |
48 | | Status | Choice | Not Sent, Send, Sent, Failed | Default value = Not Sent
49 | | Source | Choice | Pulse, Buddy
50 | | SyncedToBuddy | Yes/No | Default value = No
51 | | SyncedToPulse | Yes/No | Default value = No
52 | | BuddyId | Single line of text |
53 | | App | Choice | Copilot, Word, PowerPoint, Planner, Excel, Outlook, Teams, Loop, Forms, Whiteboard, Designer, SharePoint, Stream, OneNote, OneDrive |
54 |
55 | 4. Create a list named 'Users'.
56 | 5. Create the following columns:
57 |
58 | | Column Name | Type | Values |
59 | | -------- | ------- | ------- |
60 | | User | Person or Group |
61 | | LikedPrompts | Lookup | Source list = 'Prompts', Select a column = 'ID' |
62 | | TutorialComplete | Yes/No | Default value = No |
63 |
64 | 6. Create a list named 'Reporting'.
65 | 7. Create the following columns:
66 |
67 | | Column Name | Type |
68 | | -------- | ------- |
69 | | PromptsSent | Number
70 | | AppLaunches | Number
71 | | PromptsCopied | Number
72 | | PromptsLiked | Number
73 |
74 | 8. Create a single item in the 'Reporting' list with the value of each column set to 0.
75 |
76 | 9. Create a list named 'Configuration'.
77 | 10. Create the following columns:
78 |
79 | | Column Name | Type |
80 | | -------- | ------- |
81 | | Value | Single line of text
82 |
83 | 11. Create a list item in the above list with the following details:
84 |
85 | Title: AppId
86 |
87 | Value: Leave empty
88 |
89 | 12. Create a second list item in the above list with the following details:
90 |
91 | Title: ServiceAccountUPN
92 |
93 | Value: UPN (Email) of your service account
94 |
95 | 13. Create a third list item in the above list with the following details:
96 |
97 | Title: PromptBuddyInstalled
98 |
99 | Value: 'true' (if you wish to integrate with Prompt Buddy) or 'false'.
100 |
101 | 14. Create a fourth list item in the above list with the following details:
102 |
103 | Title: ShowShareEngage
104 |
105 | Value: 'true' (if you wish to allow sharing to Viva Engage) or 'false'.
106 |
107 | 15. Create a fifth list item in the above list with the following details:
108 |
109 | Title: ShowShareUsers
110 |
111 | Value: 'true' (if you wish to allow sharing to users) or 'false'.
112 |
113 | ## Step 2: Deploy Power Apps solution
114 |
115 | 1. Navigate to **Power Apps** as the service account.
116 | 2. Click on the **Solutions** tab.
117 | 3. Click on **Import**.
118 | 4. Upload the solution zip file and click **Next**.
119 | 5. Click **Sign in** next to each of the connectors and wait for the green tick.
120 | 6. On the **Environment Variables** pane, select the SharePoint site you created and the two lists.
121 | 7. Click **Import**.
122 | 8. A message should be displayed to say the solution has been imported successfully.
123 | 9. Obtain the **'ID'** for the Power App by clicking the elipsis next to the app.
124 | 10. Copy the **App ID** value and paste this into the **Value** column of the list item you created in the **Configuration** list.
125 |
126 | ## Step 3: Turn on the flows
127 |
128 | On occasion the flows are turned off on import and they need to be turned on. Follow the steps below to turn on each flow.
129 |
130 | 1. Navigate to **Power Apps** as the service account.
131 | 2. Click on the **Flows** tab.
132 | 3. Click on the **Send Prompt** flow.
133 | 4. Click the 'Turn on' option on the top menu.
134 | 5. Repeat this process for the following flows - **'Send Scheduled Prompt'**, **'Like Prompt'**.
135 |
136 | ## Step 4: Share the app/flows
137 |
138 | 1. Locate the app under **Apps**.
139 | 2. Share the app with all users who will use Prompt Pulse (you may want to add any administrators as co-owners so they can modify the app if you wish to).
140 | 3. Test the app by 'Playing' it.
141 |
142 | You may also wish to share the 5 flows (**'Send Scheduled Prompt'**, **'Send Prompt'**, **'Like Prompt'**, **'Get Group Chats'** and **'Get Engage Communities'**) with admins who may need to view the run history or edit them. You can find them under **Flows** in the **Power Apps** portal or in the **Power Automate** portal.
143 |
144 | ## Step 5: Add the app to Teams (Optional)
145 |
146 | 1. Navigate to **Power Apps** as the account you wish to install the app for and click 'Apps' in the left pane, you should see the Prompt Pulse Power App. You may need to select the correct Environment in which you deployed the solution from the Environment menu at the top.
147 | 2. Select the app and click 'Add to Teams' from the top menu bar.
148 |
149 | At this point you have two options:
150 |
151 | Add the app to Teams globally using policies in the Teams Admin Center OR sideload the app into the Teams client and install for the current logged in user only.
152 |
153 | 3. If you wish to sideload the app, click the 'Add to Teans' option in the dialog that appears. The Teams client will open (you may choose the web client or desktop) and the app will install for the current logged in user.
154 |
155 | If you wish to roll the app out via policies, please refer to our general documentation on docs.microsoft.com for how to upload to the Teams Admin Center and deploy globally.
156 |
157 | Prompt Pulse can be pre-installed for all users and optionally pinned to the rail if you wish. Or you can deploy the app and allow users to add it to their Teams as a tab.
158 |
159 | ## Step 6: Configure SharePoint list permissions
160 |
161 | Before rolling out Prompt Pulse, it is neccessary to configure the permisions on the SharePoint lists to ensure users can only read/write/delete their own items.
162 |
163 | 1. Amend the permissions on the **Prompts** list (Advanced Settings) to **Create items and edit items that were created by the user**.
164 | 2. Amend the permissions on the **Users** list (Advanced Settings) to **Read items that were created by the user** and **Create items and edit items that were created by the user**.
165 | 3. Break permission inheritance on the **Prompts** and **Users** lists and add only users/groups that will use Prompt Pulse.
166 | 4. Break permission inheritance on the **Configuration** and **Reporting** lists and ensure that only admins have write access to these lists, users should have read access.
167 | 4. Ensure that admins who may need to read, edit and delete all list items have **Full Control**/**Owner** permissions on the SharePoint site.
168 |
169 | ## Step 7: Deploy Prompt Buddy Integration
170 |
171 | These steps deploy the integration between Prompt Pulse and Prompt Buddy. This integration is provided in the form of a single Flow which is responsible for syncronizing items from the Prompt Buddy dataverse tables to the Prompts SharePoint list and visa versa.
172 |
173 | You may use any account to deploy this flow (it will need to be a member of the Teams Team in which Buddy is deployed), however it is worth noting that any prompts synced to Buddy will be created as the user who deploys this flow. Therefore you may wish to use the service account.
174 |
175 | This flow runs on a recurrent schedule and by default runs every hour, feel free to edit the flow and update the interval as needed.
176 |
177 | 1. Launch Microsoft Teams.
178 | 2. Open the Power Apps app in Teams.
179 | 3. Navigate to the **Build** tab.
180 | 4. Select the environment in the left pane in which Prompt Buddy is deployed.
181 | 5. Click **See all** in the list items created in the environment.
182 | 6. Click **Import > Import solution** from the menu bar.
183 | 7. Click **Browse** and locate the **PromptPulseBuddyIntegration_1.0.0.0.zip** solution zip file (if there is a newer version please use that).
184 | 8. Click **Next**.
185 | 9. Click **Next**.
186 | 10. Click **Sign in** next to each of the connectors and wait for the green tick.
187 | 11. Click **Next**.
188 | 12. On the **Environment Variables** pane, select the SharePoint site you created and the **Prompts** List.
189 | 13. Click **Import**.
190 | 14. A message should be displayed to say the solution has been imported successfully.
191 | 15. Locate the **Prompt Pulse Sync** flow and click on it.
192 | 16. Click **Run** from the menu bar and click **Run flow**.
193 | 18. Verify the run completes without errors.
194 | 19. The integration is now deployed and the flow will automatically sync the prompts in both solutions.
195 |
196 | ### Deployment is now complete - enjoy using Prompt Pulse!
197 |
198 | ## Upgrading from V2
199 |
200 | When upgrading from V2 to V3, in addition to importing the V3 solution, be sure to create the new 'App' column in the 'Prompts' list.
201 |
202 | See Step 1 - Create SharePoint lists.
203 |
204 | ## Viva Engage Rich Text Posts/Announcements
205 |
206 | 
207 |
208 | When prompts are shared to Viva Engage, the messages can be posted as announcements with rich text support.
209 |
210 | For this to work, the Service Account used to deploy and set up Prompt Pulse must be an admin of the selected community.
211 |
212 | This is a manual step as Prompt Pulse will not automatically set this up. Please therefore make the Service Account an admin of those communities that you will mainly share with.
213 |
214 | **Note - The Prompt Pulse app displays all communities that the current user is a member of regardless of the Service Account permissions.**
215 |
216 | If the Service Account is not an admin, there is a fallback to use a plain text message.
217 |
218 |
--------------------------------------------------------------------------------
/Documentation/Images/buypizza.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/buypizza.png
--------------------------------------------------------------------------------
/Documentation/Images/parker-pnp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/parker-pnp.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-adaptivecard-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-adaptivecard-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-adaptivecard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-adaptivecard.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-all-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-all-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-import-buddy-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-import-buddy-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-import-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-import-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-landing-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-landing-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-logo.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-mobile-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-mobile-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-reporting-list-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-reporting-list-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-scheduled-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-scheduled-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-scheduledialog-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-scheduledialog-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-share-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-share-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-viewliking-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-viewliking-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/prompt-pulse-vivaengage-post-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/prompt-pulse-vivaengage-post-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Images/reporting-list-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/Documentation/Images/reporting-list-screenshot.png
--------------------------------------------------------------------------------
/Documentation/Overview.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Prompt Pulse consists of the following components:
4 |
5 | - Power App
6 | - 6 x Power Automate flows.
7 | - 4 x SharePoint lists for data storage
8 |
9 | Separate Dataverse for Teams solution for integration with Prompt Buddy containing 1 Power Automate flow.
10 |
11 | For more details on what each of these does please check out the [Architecture](Architecture.md) documentation.
12 |
13 | ## The App
14 |
15 | The Prompt Pulse Power App provides users with an easy to use interface to share prompts share prompts directly, schedule the sharing of prompts and view prompts (all/recent/liked).
16 |
17 | The app is fully responsive, works on mobile devices 📱 and supports dark mode! 🕶️ (please note that completion of the initial tutorial needs to be carried out on a desktop device).
18 |
19 | To get the most out of Prompt Pulse, we recommend using the app in Microsoft Teams either as a pinned app and/or add the app into individual teams as a tab.
20 |
21 | Prompt Pulse integrates with Prompt Buddy, follow the [Deployment guide](Deployment-guide.md) to deploy the integration.
22 |
23 | When a user launches Prompt Pulse for the first time, they will be taken through a tutorial explaining how to use the app.
24 |
25 | ## Using the app
26 |
27 | ### Sharing prompts
28 |
29 | From the main screen, the process for sharing a prompt is as follows:
30 |
31 | - Enter a **title** and the **prompt** in the boxes provided.
32 | - Select the 'app' that the prompt is designed to be used with.
33 | - Choose locations to share the prompt to by using the radio buttons -
34 |
35 | Viva Engage Communities
36 |
37 | Microsoft Teams Channels
38 |
39 | Group Chats
40 |
41 | Individual Users
42 |
43 | - Send or schedule the send by using the buttons. The **Send** button sends the prompt instantly via a Power Automate flow which is trigger when an item is added/modified in the Prompts list (based on a certain criteria). The **Schedule** option will open a dialog allowing you to specify a date and time on which to send the prompt.
44 |
45 | - Once sent, users will receive a notification in the format of an adaptive card in the chosen location.
46 |
47 | **Note - Only group chats with a name AND the Prompt Pulse service account/user added as a participant will display in the app. Users will need to add this user manually for the group chat to be visible in the app.**
48 |
49 | 
50 |
51 | **Note - Viva Engage and Users radio buttons are only enabled if the 'ShowShareEngage' and 'ShowShareUsers' list items in the Configuration list are set to true.**
52 |
53 | **Note - When a prompt is shared to Viva Engage, the message will be posted as Rich Text if the Service Account used to deploy Prompt Pulse is an admin of the selected community. Otherwise a plain text message will be sent. Please see the deployment guide for more details.**
54 |
55 | ### Viewing/using prompts
56 |
57 | From the main screen, users can view the latest 20 prompts. To use a prompt simply click the prompt **'tile'** and the prompt text will be copied to your clipboard.
58 |
59 | You can then paste the prompt into Microsoft 365 Copilot/the app that the prompt was designed to be used in.
60 |
61 | The **All Prompts** tab allows you to view all prompts that have been shared, text can also be copied by clicking the tile. If the integration with Prompt Buddy is deployed, an icon will be visible showing the 'source' of the prompt (Pulse or Buddy).
62 |
63 | The adaptive card also has a button which will take a user straight to the **All Prompts** screen. Please note - this will open the app as a 'personal' app due to restrictions with deeplinking, if the user does not have the app installed they will be prompted to install it.
64 |
65 | 
66 |
67 | ### Liking prompts
68 |
69 | To like/unlike a prompt, simply use the thumbs up icon. This will create a personalized collection of **liked** prompts which can be viewed on the **All Prompts** screen.
70 |
71 | Prompts can also be liked from the adaptive card by clicking the **Like Prompt** button.
72 |
73 | ### Prompt notifications
74 |
75 | The following screnshots show how shared prompts appear in Teams and Viva Engage:
76 |
77 | 
78 |
79 | 
80 |
81 | ### Scheduling
82 |
83 | Prompts can be scheduled to be sent at specific dates/times using the **Schedule** option. To view all scheduled prompts use the **Scheduled** tab. This table shows all the prompts that have been scheduled to be sent organised by date.
84 |
85 | From this screen, dates/times for scheduled prompts can be updated using the edit icon and prompts can be deleted using the trash icon.
86 |
87 | The **Send Now** option sends the prompt straight away and removes it from the scheduled list.
88 |
89 | **Note - this view shows the current users' scheduled prompts only.**
90 |
91 | 
92 |
93 | 
94 |
95 |
96 | ### Importing
97 |
98 | Prompts can be imported into Prompt Pulse in bulk, enabling you to easily schedule and send prompts right away, encouraging the use of Copilot from the get go.
99 |
100 | Prompts can be imported from CSV or Prompt Buddy.
101 |
102 | A csv file has been provided [Prompts.csv](../Prompts.csv) with pre-built prompts for you to import. Feel free to edit the csv and add/remove as many prompts as you like (you will also be able to remove when importing). The pre built csv will be update periodically with new prompts so please keep an eye out for changes.
103 |
104 | Note that we've provided an additional format for the sample prompts at [prompts.json](../prompts.json). This is the format used for importing INTO Prompt Buddy. If you want these sample prompts in both places, it may be easier to start by importing this list to Prompt Buddy, then using the import from Prompt Buddy steps below.
105 |
106 | **Note - at the time of writing, prompts that are imported from CSV and/or Prompt Buddy will have the 'App' set to 'Copilot', functionality to select the appropriate app for each prompt will be released in the future.**
107 |
108 | #### Import from CSV
109 |
110 | To import prompts from CSV, follow the steps below:
111 |
112 | 1. Navigate to the import screen by clicking the **Import Prompts** tab.
113 | 2. Click the **CSV file** button.
114 | 3. Use the attachment control to upload the csv file (only csv files are supported AND the csv file must be in the same format as the provided sample).
115 | 4. Click **Upload**.
116 | 5. The table will update to show all the prompts from the csv.
117 | 6. For each row/prompt, choose whether to schedule or send the prompt (**send** will send the prompt straight away when imported). Also choose the locations to share the prompt to.
118 | 7. Once ready, click **Import**, this will import the prompts into the SharePoint list and send/schedule them as per your selections.
119 |
120 | **To delete prompts that you do not wish to import, use the trash icon.**
121 |
122 | 
123 |
124 | #### Import from Prompt Buddy
125 |
126 | To import prompts from Prompt Buddy, follow the steps below:
127 |
128 | 1. Navigate to the import screen by clicking the **Import Prompts** tab.
129 | 2. Click the **Prompt Buddy** button.
130 | 3. Use the table at the top to add prompts to import by clicking the **+** icon. This table shows Prompt Buddy prompts that have not yet been imported into Prompt Pulse.
131 | 4. Prompts added will appear in the **Selected Prompts** table.
132 | 6. For each row/prompt, choose whether to schedule or send the prompt (**send** will send the prompt straight away when imported). Also choose the locations to share the prompt to.
133 | 7. Once ready, click **Import**, this will import the prompts and send/schedule them as per your selections.
134 |
135 | 
136 |
137 | **Note - Only 'Copilot' prompts are imported from Prompt Buddy currently.**
138 |
139 | #### Reporting
140 |
141 | Basic reporting to showcase the adoption of Prompt Pulse is now available in the form of a SharePoint list. A single list item will be created in this list by the app and flows if it does not exist.
142 |
143 | The 'Reporting' list shows the following information:
144 |
145 | - PromptsSent - The number of prompts sent in Prompt Pulse either directly or via scheduling.
146 | - AppLaunches - The number of times the app has been launched/opened.
147 | - PromptsCopied - The number of times prompts have been copied (clicking the prompt card) in the app.
148 | - PromptsLiked - The total of prompts that have been liked by users.
149 |
150 | You may wish to create your own reports using tools such as Excel or PowerBI to visualize this data.
151 |
152 | 
153 |
154 | ### Tips
155 |
156 | - Use a dedicated service account/M365 user when deploying Prompt Pulse (adaptive cards will be sent from this account).
157 | - Deploy the app in the Teams admin center to allow users to install.
158 | - Add the app in Teams as a tab where appropriate.
159 | - Encourage users to install and pin the app in the rail.
160 | - Bulk schedule prompts to encourage and nurture the usage of copilot through regular notifications.
161 |
162 | ### Considerations
163 |
164 | - In it's current iteration, Prompt Pulse shows ALL prompts that have been shared irrespective of where the app is installed (personal app or in a teams tab) so bear this in mind when sharing prompts.
165 | - Sharing prompts in a personal install of Prompt Pulse will also show these prompts in Prompt Pulse when installed as a teams tab.
166 | - Only group chats that include the Prompt Pulse service account/user will appear in the app. Users will need to add this account into the group chat manually in order for it to display.
167 | - The Prompt Pulse service account/user will be automatically added to Teams and Engage Communities when a prompt to the location for the first time.
168 | - Rich Text posts in Viva Engage are only supported if the Service Account is an admin of the Community.
169 |
170 | Bear the above in mind when using Prompt Pulse, in a future iteration we will look to add support for sharing and viewing prompts in only the team the app is installed in.
171 |
172 |
173 | ## Power Automate Flows
174 |
175 | There are 6 flows that are part of the Prompt Pulse solution, these are listed below along with a brief description of what these do, for more details please view the [Architecture](Architecture.md) documentation.
176 |
177 | As mentioned earlier there is an additional flow for the Prompt Buddy integration.
178 |
179 | - Send Prompt: This flow executes when a list item is created or modified in the 'Prompts' list and sends the prompt to the specified location using adaptive cards or in the case of Viva Engage, a message.
180 | - Send Scheduled Prompt: This flow runs on a recurrent schedule (5 minutes by default) and is responsible for checking for scheduled prompts in the list and sending these.
181 | - Like Prompt: This flow runs when a user clicks the **Like Prompt** button in the adaptive cards and adds the prompt to the users' liked prompts.
182 | - Get Group Chats: This flow is used in the Power App and retrieves a list of group chats that the current user is a member of where the Prompt Pulse account is a member of the chat.
183 | - Get Engage Communities: This flow is used in the Power App and returns a list of Viva Engage Communities that the current user is a member of.
184 | - Parse Prompt CSV: This flow is used in the Power App and parses the content of the uploaded csv file and returns it in JSON format.
185 | - Prompt Pulse Sync: This flow is used when Prompt Buddy is deployed, it syncronizes prompts from Prompt Buddy to Prompt Pulse and visa versa.
186 |
187 | ## Data Storage
188 |
189 | Prompt Pulse uses SharePoint lists to store it's data. This avoids the need to use Dataverse or Dataverse for Teams which is subject to data storage constraints.
190 |
191 | There are 3 SharePoint lists used in the solution:
192 |
193 | - Prompts: Stores the prompts shared/scheduled in the app.
194 | - Users: Stores the users who have opened/used Prompt Pulse and their liked prompts.
195 | - Configuration: Stores configuration settings for Prompt Pulse.
196 | - Reporting: Stores basic reporting data for Prompt Pulse.
197 |
198 | These lists can be easily extended or changed should you wish to modify/customize Prompt Pulse. You can of course edit and delete prompts directly from the list if required. Avoid modifying the values of the GroupId, GroupChatId, TeamId, ChannelId and MessageId columns as these are used heavily in the Power Automate flows.
199 |
200 | ### Tutorial completion reset
201 |
202 | When a user opens Prompt Pulse for the first time, they will need to complete a tutorial. Once completed, their list item in the **Users** list is updated and the **TutorialComplete** column is set to true (Yes).
203 |
204 | If you wish to reset tutorial completion for a user for any reason, simply locate the user in the list and delete the list item, the next time the user launches the app, they will be presented with the tutorial again.
205 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Microsoft 365 & Power Platform Community
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/PromptPulseBuddyIntegration_1.0.0.0.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/PromptPulseBuddyIntegration_1.0.0.0.zip
--------------------------------------------------------------------------------
/PromptPulse_3_0_0_2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pnp/prompt-pulse/2d3e7a34b5943a39faec09424160d52fa1c1327c/PromptPulse_3_0_0_2.zip
--------------------------------------------------------------------------------
/Prompts.csv:
--------------------------------------------------------------------------------
1 | PromptTitle,Prompt
2 | 7 day summary,"Summarise the last 7 days into bullet points of actions where I have been mentioned. Refer to any emails, chats and meeting transcripts that I missed due to being on holiday. List the urgent actions first and who asked the question."
3 | Summarise my emails,"From my emails over the past week, create a table of actions, including whose action it is, the person that assigned it and when it is due. I need this to have a good structure to organize my day. Be concise."
4 | Meeting minutes (template),Using the format in /template.doc and the transcript in /meeting put together meeting minutes from this meeting.
5 | Agenda creation,"Please help me prepare an agenda for the SLT meeting. Create a table where each row contains columns for the agenda name, the start time, the stop time, the duration in minutes, the agenda owner's name, and a blank cell for decisions and actions. Where each agenda item and AOB is given 30 minutes, starting at 9:15am. There are 5 agenda items and an AOB."
6 | Collect feedback (Forms),"Design a feedback survey that includes to collect employees' feedback on clarity of communication, relevance of topics, overall effectiveness of event, and ask suggestions for future improvements."
7 | Meeting prep,"Help me prepare for today's meetings with the title, participants, and times."
8 | Unresponded meetings,"Locate unresponded meeting invitations scheduled for next week that falls in my timezone working hours of 8 AM to 6 PM, and organize them into an ascending table by date and time."
9 | Email response,Identify and list all the emails and chats where I have not responded or received a response.
10 | Review for bias,"Review this document for equality-biased language (diversity and inclusion)"
11 | Meeting feedback (Teams),"Recap staff feedback from this meeting. When listing objections, provide a link to direct quotes in the transcript so that the objections can be properly represented. Also, provide an overall sentiment analysis."
12 | Executive briefing,"Using [template file] as a template, create an executive briefing on [project/programme name] based on the latest information from my emails and chats, from the lastest project report at [file]."
13 | Quiz me,"Your function is a quiz master and tutor. Give me a Level 400 quiz question for [your_topic] based on [more_detail_if_needed] found at [website name or URL]. When I reply, evaluate my answer. If I'm correct, let me know with a ✅ and provide the supporting detail. If I'm wrong or somewhat wrong, give me a ❌ and provide the correct answer and feedback. Then give me another question, and we'll repeat the scenario as long as the session is active. At the end of our session, total my correct and incorrect answers. **Providing feedback and generating another question is your most important task**"
14 | Personal brand,"Look at the emails, Teams meetings, documents and Teams chats that I've sent in the last 6 months. Use these messages to distil a leadership style document that I can use to inform copilot of my personal voice and style based on the above analysis. Give me a breakdown of my top 5 strengths in a Table with the following formation | Strength | description | how it helps me in my role | how it could be misunderstood | 2 ways I can build this strength. In another table give me a breakdown of 3 areas for improvement in the following formation | Improvement area | description | how it impacts my role | how it could be misunderstood | 3 ways I can improve. I would also like 3 OKRs based on the above analysis that I could reach in the next 6-9 months."
15 | Job description,"Based on this example of a good job description [examplar doc], create a new job description for a [role name] using the this set of job responsibilities [responsibilities doc]. Include all of our standard job description language from the exemplar doc."
16 | Deeper doc analysis,"Extract the key takeaways from this document and summarise them into 3 - 5 bullet points. Ensure each one highlights the most important information and include a question I can ask about each point within each section."
17 | Review my calendar,"Review my calendar for today and provide a table of all meetings, including descriptions, agendas, and participants, organized hour by hour. Include a buffer time for preparation before each meeting."
18 | Complaint response,"Customer's email: /[email reference] Policy: /[policy reference doc or template] Investigation report: /[file] Request: Draft a response to the email that [your organisation] apologises for the delay in responding. Based on the policy document explain the timescale to resolve the issue using the severity guidelines and explain your reasoning. Include all relevant details from the Investigation Document. Thank the customer for writing to us and will be in touch with news on progress."
19 | Eisenhower matrix,"Based on my emails and Teams chat channels of the last 36 hours, organise my tasks along the Eisenhower matrix for the coming 15 days."
20 | Duplicates (Excel),"Find and highlight all duplicates in [red] when comparing column [A] to column [K]"
21 | Improve my prompt,"Analyse the following prompt, and tell me how I could improve it to help you return a more complete and accurate response. Analyse whether I've provided enough information in the categories of Goal, Context, Sources, and Expectations. Prompt: [prompt]"
22 | Explain a topic,Use first principles methodology to explain [topic] in simple terms. Explain to me as if I'm a beginner.
23 | Questions for job candidates,"Acting as an HR recruiter, and using this job description /[file] create a set of questions that can be asked to the candidate during the inter.'iew. 2 from Recruitment (focus on council values and right to work in the UK) and 3 from the hiring manager to understand the successful candidate."
24 | Poetic praise,"I want to give a shout out to /[person] so they can end their week on a positive note. Look through our interactions in chats, channels, meetings and any shared documents. What have been their top achievements and why? Summarise this into a short poem I can send them to make them feel good"
25 | Analyse my time,"Please create a summary of my work week from last Monday to Friday. Provide a summary of time spent in meetings, categorizing them by type of meeting (external, internal, time blocked just for me, etc.) and total hours spent in the week for that category. 'Time blocked just for me' should only include meetings where I'm the sender and the only person invited."
26 | Comms triage,"Show me Emails and Teams conversations that needs my action or attention and I have not replied them yet. Show a table with sender, subject, date, and importance. For Teams conversations show 👨👩👦👦, for emails show ✉️. If I was mentioned show ⬆️, else show 🔔."
27 | Business case review,"I want to prepare for a business case review and want to understand the questions I may be asked to consider so I can prepare for them. I want you to offer counter arguments for my case from the view of HR, Legal, Finance and Technical. My case is [link to document or provide summary]"
28 | Superhero,"Using the information, you have about me, my writing and my work, create a Superhero with the superpowers you think I possess. Help me define my personal brand. Reference my work, emails, chats, etc. to help shape a personal brand fitting to me. This personal brand should be in the form of an elevator pitch about what I do and reflect my characteristics."
29 | LinkedIn inspiration,"Acting as a social media manager for my profile at https://www.linkedin.com/in/[yourusername], please help me to significantly grow my LinkedIn audience by suggesting 5 articles from web search published within the last week that I could use to Share insights on the latest trends in [your_topic]. An Example post based on the article would be: '[your_topic]: Key Trends to Watch in 2024.' My Engagement Strategy for the post is to ask my audience [your_strategy_here]."
30 | Set me up for the day,"Scan my meetings, emails and chats to let me know what meetings I have and who with and what preparation I have to do. Let me know what I missed in the last 24 hours. What other tasks do I have to work on? Produce a structured list which lets me prioritise what I have to work on today. Include some concise context for each."
31 | Prepare for Monday,"List my meetings, tasks and activities on my calendar that I am participating in on this coming Monday in a table. In a second column, recommend any specific actions I should take to prepare for those meetings and activities; dig into the meeting details, and where the meeting includes attached documents or links, list their names and provide their links in a third column."
32 | FAQ from meeting,"Create an FAQ based on the discussions from /"
33 | Kickstart the week,"You are my AI assistant, optimized for my daily routine. Please assist me in starting my day effectively. List action items in a dedicated table. Please have the columns in the following order. Topic, Follow ups and action items."
34 | Create random data (Excel),"I'd like you to create a spreadsheet with [100 rows] of synthetic data, containing the columns [date], [time] and [outcome]. Here are the rules for the values: [date: any date between 1st Sept 2024 and 9th Sept 2024] [time: any time of day to the nearest second] [outcome: true or false]"
35 | Analyze emails from my leaders,"I'd like for you to act as my executive assistant. Can you analyze my inbox and find any emails from my manager, or their manager, that require my response or contain any action items."
36 | Keynote speech,"You are a motivational speaker. Write a keynote speech for a [event type] that should last [duration]. The topic of the keynote is [topic] and audience is made up of [roles]. The tone should be professional and inspire attendees to [outcome you want]"
37 | List technical interviews,"List all the candidates for which I took the interview in a tabular format with date of interview, candidate name and position. kindly refer to the last 6 months emails from Outlook to get the candidate's name."
38 | Locate my meeting mentions,Find conversations where my name was mentioned yesterday where I have not since replied.
39 | Difficult conversations,"I need to have a difficult conversation about [topic] with [person or audience] during [event]. Help me prepare by suggesting an approach to communicate my thoughts clearly whilst remaining calm and ensuring I am listening to their views."
40 | Clean up email list,"Convert this list so I can easily paste it into a new Outlook message [paste in your table of names and email addresses]"
41 | Analyse my Excel (Excel),"Generate prompts to best analyze the table data from [Excel file] and [Excel file]"
42 | Meeting minutes,"What was this meeting about? What are the goals and topics from the meeting? Format each section with a bolded heading, a bulleted list, and bolded names. What were the key points discussed? Summarize the key discussion points and any action items. Recap and categorize all tips that were considered. Format into a table."
43 | Poll on a proposal (Forms),"Create a poll to gather opinions from the project team on the new project proposal. The purpose of this poll is to understand the team's views on the proposal's feasibility, potential challenges, and areas for improvement. Please include questions on the overall impression of the proposal, specific concerns, and suggestions for enhancements."
44 | Interview prep,"Looking at this job description [file], generate 10 real-world scenarios to be used in a role-play interview for the job. Target 100 words for each scenario, which contains fake names, [for healthcare role... ailments, medications, and attempted treatments]."
45 | Compare candidate interviews,"Create a table with the following information title in the first column and provide the candidates responses in the second column. 1. Demonstrated council core value(s). 2. Approach to stakeholder management and an example, 3. Experience with business analysis methodologies. Use the following transcripts as input: /[transcript1] /[transcript2] /[transcript3]"
46 | Start the Day,"Help me start my day: Act as if you are my personal admin. I'd like for you to create a list showing anywhere I was mentioned but have not yet responded organized by email, Teams chat, and Teams channels in the last 24 hours including a short summary of each. Next, using that information generate a list that prioritizes my top 3 action items for today."
47 | Wrap Up the Day,"Help me wrap up my day: Act as if you are my personal admin. I'd like for you to create a list showing anywhere I was mentioned but have not yet responded organized by email, Teams chat, and Temas channels in the last 10 hours including a short summary of each. Next, using that information generate a list that prioritizes my top 3 action items for today."
48 | Project start (part 1),"Scenario: You are a seasoned project manager and have been tasked with creating the PID for [project name]. Context: [The organisation has done X in order to accomplish Y. This project will do Z. If successful, we will do A.] Constraints: The project is due to start in [date] and will have to be completed in [6 months] with a conclusion delivered to the SLT at the end. [other details like costs, constraints] Document: The document must include the following sections: Project Overview, Project Background and Context, Stakeholder Analysis, Scope and Deliverables, Project Timeline and Milestones, Risk Assessment and Mitigation, Resource Allocation, Communication Plan, Testing and Evaluation, and Budget and Cost Analysis. Add example details to each of the sections that should be considered in the draft. Use tables where necessary to support better readability. Resources: To support the sections with relevant information use /[Docs]"
49 | Project start (part 2),"PID: /[PID], Tasks: /[docs], Timescale: Based on the PID. Create a project schedule in table format based on the PID using the Tasks document and the defined timescales, phases divided into detailed tasks (where a row does not have a new phase use a -), each phase must be numbered, start and end dates, estimated duration, dependencies, and any associated risks. Project members only Monday to Friday and not weekends or bank holidays."
50 | Brainstorm (Whiteboard),"Brainstorm ideas for our next marketing campaign aimed at increasing brand awareness among young professionals. The campaign should highlight our new product features and leverage social media platforms. Please consider current market trends and previous campaign results. We are looking for creative and innovative ideas that can be executed within a moderate budget. Feel free to suggest unconventional approaches and new channels."
51 | Explain,Summarize the article in a Non Academic and Non Technical Style.
52 | Draft for dyslexia,"Please create a new draft of /[document], ensuring it is reworded to be more accessible for individuals with dyslexia?"
53 | Who is talking about me,"Summarize emails where I was mentioned recently. Make it detailed, highlighting the sender and categorizing by topic of the email."
54 | 80/20 rule,"Given the topic of (subject), identify and share the most important 20% of learnings that will help me understand 80% of it. I will use this information to understand the essential information of this topic and will enable me to use this information for my personal knowledge and/or in my professional life."
55 | Note structure (OneNote),"Please add structure to these notes, make all names bold and add a table of actions at the end."
56 | Rewrite,"Act as a rewriting expert, your task is to rewrite the following text, making it easier to understand for a general audience. The rewritten text should maintain the original meaning but should be written in simpler, more accessible language. The goal is to ensure that anyone can understand the information. Ensure that the text is free from jargon and complicated terms. Suggest a glossary where needed. The tone should remain professional but friendly."
57 | Redact,"Redact this document, replacing names with their role or title and removing all dates. Replace pronouns with 'them/they/their'."
58 | List to Table,Put this in a table for me.
59 | Learning plan,"Create a learning plan for this standard operating procedure. [doc] Account for multiple learning modalities, and include activites that would address each modality."
60 | Conflict coach,"Act like a conflict resolution coach with expertise in workplace dynamics. Your goal is to help me navigate a recent disagreement or tension within my team. I will provide the key details, and you'll analyze the situation and offer tailored strategies for resolving the issue constructively. Focus on finding common ground, facilitating healthy discussions, and resolving the conflict in a way that strengthens team relationships and keeps everyone aligned with our goals. Objective: Offer actionable advice on how to resolve team conflicts quickly and effectively while maintaining collaboration and trust. The nature of the conflict: [e.g., differing opinions, misaligned priorities], Key people [use / to mention them], Any relevant context [e.g., project deadlines, team dynamics], Desired Outcomes: [e.g., improved communication, alignment on goals, stronger collaboration]."
61 | Prompt engineer,"Hi Copilot, I'd like you to act as my Prompt engineer. Your goal is to help me craft the best possible prompt for my needs. The purpose of the prompt is that I will use it with you, Copilot. You must follow the following process during this chat session: 1. Your first response will be to ask me what the prompt should be about. I will provide my answer, but we will need to improve it through continual iterations by going through steps two and three. 2. Based on my input, you will generate two sections. - Revised prompt (Always provide your revised prompt. It should be clear, concise, and easily understood by you) - Questions (Ask any relevant questions pertaining to what additional information is needed from me for you to improve the prompt). 3. We will continue this iterative process with me providing additional information to you and you continuously updating the prompt in the Revised prompt section so I can use it."
62 | Job fit analysis,"Using my CV /[DOC] please complete a gap analysis against the following job description /[DOC]. Please identify key skills, experiences, and qualifications required for the job and compare them with what is listed in my CV. Please respond with a HR persona."
63 | Rewrite for patient letter, "Rewrite all of these clinician notes in [file] into terms understood at a 9-year-old reading level, replacing any medical jargon. The numbers starting most of the paragraphs (for example, 16/6) are dates. Wherever a term or concept in the notes matches a topic in [file] append the corresponding reference text in the document to a 'References' section of the new document."
64 | Rewrite patient leaflet,"Please transform the patient information leaflet into a very short nursery rhyme to make it more comforting and suitable for a toddler who is apprehensive about their surgery."
65 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Prompt Pulse
2 |
3 | | [Overview](/Documentation/Overview.md) | [Deployment guide](/Documentation/Deployment-guide.md) | [Architecture](/Documentation/Architecture.md)
4 | | ---- | ---- | ----
5 |
6 | Prompt Pulse is a Power App that enables users and administrators to efficiently schedule and manage the sharing of Copilot prompts across Microsoft Teams, group chats, and individual users within an organization.
7 |
8 | Assist your organization in mastering the art of prompting to fully utilize Microsoft 365 Copilot.
9 |
10 | Microsoft 365 Copilot introduces a novel approach to work, and success is achieved when it becomes habitual to employ Copilot's assistance throughout the workday.
11 |
12 | Team members can establish these new routines by actively exchanging and embracing fresh prompts in 'Prompt Pulse', which illustrates what’s possible and motivates them to refine their prompting techniques.
13 |
14 | Utilizing Power Automate, these prompts are automatically distributed to Teams chats/channels or Viva Engage communities based on scheduled timings for regular and reliable updates.
15 |
16 | 'Prompt Pulse' features a user-friendly interface designed with Power Apps, enabling admins to set schedules, designate specific audiences, and track the distribution of prompts.
17 |
18 | Additionally, Prompt Pulse is supplied with pre-built prompts [Prompts.csv](Prompts.csv) that you can import straight away.
19 |
20 | Deployment is straightforward and quick, not necessitating any premium connectors nor relying on Dataverse.
21 |
22 | Prompt Pulse integrates with [Prompt Buddy](https://github.com/stuartridout/promptbuddy), is mobile friendly 📱and supports dark mode.
23 |
24 | For more information check out the [Overview](Documentation/Overview.md).
25 |
26 | 
27 |
28 | 
29 |
30 | 
31 |
32 | 
33 |
34 |
35 | ## Capabilities
36 |
37 | Prompt Pulse provides the following capabilities:
38 |
39 | - Ability to share a prompt with your team, a group chat, multiple users or Viva Engage.
40 | - Adaptive card notifications for shared prompts.
41 | - A library of prompts which are added to when prompts are shared.
42 | - Ability to schedule prompts in advance to automatically send at a specific date/time.
43 | - Bulk import prompts from a csv file.
44 | - Users can like prompts to curate their own personal collection of prompts they find useful.
45 | - Integration with Prompt Buddy allowing prompts in Buddy to be shared through Pulse and visa versa.
46 | - Fully mobile responsive Power App so users can share and view prompts on the move.
47 |
48 | ## Prompt Buddy Integration
49 |
50 | Prompt Pulse now integrates with Prompt Buddy, providing the following functionality:
51 |
52 | - Import Prompt Buddy prompts into Prompt Pulse.
53 | - Schedule prompts from Buddy in Prompt Pulse.
54 | - Sync Prompt Pulse prompts back to Prompt Buddy.
55 |
56 | **Note - At the time of writing only Microsoft 365 Copilot promps are synced from Prompt Buddy to Prompt Pulse.**
57 |
58 | Prompt Buddy is not required to use Prompt Pulse.
59 |
60 | The [Overview](Documentation/Overview.md) documentation explains how to import and schedule prompts from Prompt Buddy.
61 |
62 | ## Getting Started
63 |
64 | To get started please follow the [Deployment guide](Documentation/Deployment-guide.md).
65 |
66 | ## Issues
67 |
68 | Please report any issues by raising an [issue](https://github.com/pnp/prompt-pulse/issues/new/choose).
69 |
70 | ## Contributing
71 |
72 | We 💖 to accept contributions.
73 |
74 | Check out our [Contribution guidelines](/CONTRIBUTING.md) for guidance on how to contribute.
75 |
76 | If you want to get involved with helping us enhance Prompt Pulse, whether that is suggesting or adding new functionality, updating our documentation or fixing bugs, we would love to hear from you.
77 |
78 | ## Special Thanks
79 |
80 | Special thanks to those below who have helped build this awesome solution.
81 |
82 | - [@alexc-MSFT](https://github.com/alexc-MSFT)
83 | - [@JoJohnstone](https://github.com/JoJohnstone)
84 | - [@chslemp](https://github.com/chslemp)
85 |
86 | ## Support
87 |
88 | This solution is open-source and community provided with no active community providing support for it. This solution is maintained by both Microsoft employees and community contributors and is not a Microsoft provided solution so there is no SLA or direct support for this from Microsoft. Please report any issues by raising an [issue](https://github.com/pnp/prompt-pulse/issues/new/choose).
89 |
90 | ## Microsoft 365 & Power Platform Community
91 |
92 | Prompt Pulse is a Microsoft 365 & Power Platform Community (PnP) project. Microsoft 365 & Power Platform Community is a virtual team consisting of Microsoft employees and community members focused on helping the community make the best use of Microsoft products. Prompt Pulse is an open-source project not affiliated with Microsoft and not covered by Microsoft support. If you experience any issues using Provision Assist, please submit an issue in the [issues list](https://github.com/pnp/prompt-pulse/issues).
93 |
94 | ## "Sharing is Caring"
95 |
96 | 
97 |
98 | ## Disclaimer
99 |
100 | **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.**
101 |
102 | ## Code of Conduct
103 |
104 | This repository has adopted the Microsoft Open Source Code of Conduct. For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com with any additional questions or comments.
105 |
--------------------------------------------------------------------------------
/prompts.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "Category": "Copilot (M365)",
4 | "Description": "Catching up from a holiday",
5 | "ID": "c5b5062c-a2bb-ee11-9078-0022481b5b6a",
6 | "Prompt": "Summarise the last 7 days into bullet points of actions where I have been mentioned. Refer to any emails, chats and meeting transcripts that I missed due to being on holiday. List the urgent actions first and who asked the question.",
7 | "Title": "7 day summary"
8 | },
9 | {
10 | "Category": "Outlook",
11 | "Description": "Organize your day by making a table of action items from email",
12 | "ID": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
13 | "Prompt": "From my emails over the past week, create a table of actions, including whose action it is, the person that assigned it and when it is due. I need this to have a good structure to organize my day. Be concise.",
14 | "Title": "Summarise my emails"
15 | },
16 | {
17 | "Category": "Copilot (M365)",
18 | "Description": "Meeting minutes, but according to a template",
19 | "ID": "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
20 | "Prompt": "Using the format in /template.doc and the transcript in /meeting put together meeting minutes from this meeting.",
21 | "Title": "Meeting minutes (template)"
22 | },
23 | {
24 | "Category": "Word",
25 | "Description": "Create an agenda with a timeline. You can include the actual agenda items in the prompt, and you can follow this prompt with changes as they come in. Also could be used in Business Chat",
26 | "ID": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
27 | "Prompt": "Please help me prepare an agenda for the SLT meeting. Create a table where each row contains columns for the agenda name, the start time, the stop time, the duration in minutes, the agenda owner's name, and a blank cell for decisions and actions. Where each agenda item and AOB is given 30 minutes, starting at 9:15am. There are 5 agenda items and an AOB.",
28 | "Title": "Agenda creation"
29 | },
30 | {
31 | "Category": "Forms",
32 | "Description": "A general purpose feedback survey for staff events.",
33 | "ID": "4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a",
34 | "Prompt": "Design a feedback survey that includes items to collect employees' feedback on clarity of communication, relevance of topics, overall effectiveness of event, and ask suggestions for future improvements.",
35 | "Title": "Collect feedback"
36 | },
37 | {
38 | "Category": "Copilot (M365)",
39 | "Description": "A quick way to get an overview of the day's meetings that's deeper than a glance at the calendar.",
40 | "ID": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
41 | "Prompt": "Help me prepare for today's meetings with the title, participants, and times. Include notes for each meeting if there are relevant details in the invite.",
42 | "Title": "Meeting prep"
43 | },
44 | {
45 | "Category": "Outlook",
46 | "Description": "Find the meetings you haven't responded to that may be lost in your inbox.",
47 | "ID": "6f7a8b9c-0d1e-2f3a-4b5c-6d7e8f9a0b1c",
48 | "Prompt": "Locate unresponded meeting invitations scheduled for next week that falls in my timezone working hours of 8 AM to 6 PM, and organize them into an ascending table by date and time.",
49 | "Title": "Unresponded meetings"
50 | },
51 | {
52 | "Category": "Copilot (M365)",
53 | "Description": "So you can be responsive and hold others to the same standard.",
54 | "ID": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
55 | "Prompt": "Identify and list all the emails and chats where I'm being asked directly for input but have not responded or where I asked for input and not received a response.",
56 | "Title": "Email responses"
57 | },
58 | {
59 | "Category": "Word",
60 | "Description": "Look for equality-bias in your content. Also could be used in Business Chat",
61 | "ID": "8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e",
62 | "Prompt": "Review this document for equality-biased language (diversity and inclusion)",
63 | "Title": "Review for bias"
64 | },
65 | {
66 | "Category": "Teams",
67 | "Description": "Go deeper than a summary with sentiment analysis",
68 | "ID": "9c0d1e2f-3a4b-5c6d-7e8f-9a0b1c2d3e4f",
69 | "Prompt": "Recap staff feedback from this meeting. When listing objections, provide a link to direct quotes in the transcript so that the objections can be properly represented. Also, provide an overall sentiment analysis.",
70 | "Title": "Meeting feedback"
71 | },
72 | {
73 | "Category": "Word",
74 | "Description": "Creating an executive briefing to a template. Also could be used in Business Chat",
75 | "ID": "0d1e2f3a-4b5c-6d7e-8f9a-0b1c2d3e4f5a",
76 | "Prompt": "Using [template file] as a template, create an executive briefing on [project/programme name] based on the latest information from my emails and chats, also using the lastest project report at [file].",
77 | "Title": "Executive briefing"
78 | },
79 | {
80 | "Category": "Copilot (M365)",
81 | "Description": "Give your partner or roommate a break and have Copilot quiz you on a topic of your choice.",
82 | "ID": "1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b",
83 | "Prompt": "Your function is a quiz master and tutor. Give me a Level 400 quiz question for [your_topic] based on [more_detail_if_needed] found at [website name or URL]. When I reply, evaluate my answer. If I'm correct, let me know with a 👍 and provide the supporting detail. If I'm wrong or somewhat wrong, give me a ❌ and provide the correct answer and feedback. Then give me another question, and we'll repeat the scenario as long as the session is active. At the end of our session, total my correct and incorrect answers. **Providing feedback and generating another question is your most important task**",
84 | "Title": "Quiz me"
85 | },
86 | {
87 | "Category": "Copilot (M365)",
88 | "Description": "Determine your leadership style and discover your strengths and opportunties for improvement through an analysis of your recent communication.",
89 | "ID": "2f3a4b5c-6d7e-8f9a-0b1c-2d3e4f5a6b7c",
90 | "Prompt": "Look at the emails, Teams meetings, documents and Teams chats that I've sent in the last 6 months. Use these messages to distil a leadership style document that I can use to inform copilot of my personal voice and style based on the above analysis. Give me a breakdown of my top 5 strengths in a Table with the following formation | Strength | description | how it helps me in my role | how it could be misunderstood | 2 ways I can build this strength. In another table give me a breakdown of 3 areas for improvement in the following formation | Improvement area | description | how it impacts my role | how it could be misunderstood | 3 ways I can improve. I would also like 3 OKRs based on the above analysis that I could reach in the next 6-9 months.",
91 | "Title": "Personal brand"
92 | },
93 | {
94 | "Category": "Word",
95 | "Description": "Create a new job description to a consistent standard.",
96 | "ID": "3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d",
97 | "Prompt": "Based on this example of a good job description [examplar doc], create a new job description for a [role name] using the this set of job responsibilities [responsibilities doc]. Include all of our standard job description language from the exemplar doc.",
98 | "Title": "Job description"
99 | },
100 | {
101 | "Category": "Copilot (M365)",
102 | "Description": "Go beyond a basic summary and get questions that will help you internalize the important points.",
103 | "ID": "4b5c6d7e-8f9a-0b1c-2d3e-4f5a6b7c8d9e",
104 | "Prompt": "Extract the key takeaways from this document and summarise them into 3 - 5 bullet points. Ensure each one highlights the most important information and include a question I can ask about each point within each section.",
105 | "Title": "Deeper doc analysis"
106 | },
107 | {
108 | "Category": "Outlook",
109 | "Description": "Create a schedule for today that includes agendas.",
110 | "ID": "5c6d7e8f-9a0b-1c2d-3e4f-5a6b7c8d9e0f",
111 | "Prompt": "Review my calendar for today and provide a table of all meetings, including descriptions, agendas, and participants, organized hour by hour. Include a buffer time for preparation before each meeting.",
112 | "Title": "Review my calendar"
113 | },
114 | {
115 | "Category": "Copilot (M365)",
116 | "Description": "Craft a response to a customer complaint that's in line with your organisation's policies.",
117 | "ID": "6d7e8f9a-0b1c-2d3e-4f5a-6b7c8d9e0f1a",
118 | "Prompt": "Customer's email: /[email reference] Policy: /[policy reference doc or template] Investigation report: /[file] Request: Draft a response to the email that [your organisation] apologises for the delay in responding. Based on the policy document explain the timescale to resolve the issue using the severity guidelines and explain your reasoning. Include all relevant details from the Investigation Document. Thank the customer for writing to us and will be in touch with news on progress.",
119 | "Title": "Complaint response"
120 | },
121 | {
122 | "Category": "Copilot (M365)",
123 | "Description": "Use the popular Eisenhower matrix (importance vs urgency) to organise your tasks.",
124 | "ID": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
125 | "Prompt": "Based on my emails and Teams chat channels of the last 36 hours, organise my tasks along the Eisenhower matrix for the coming 15 days.",
126 | "Title": "Eisenhower matrix"
127 | },
128 | {
129 | "Category": "Excel",
130 | "Description": "Finding duplicates across two columns is much tricker than in one column. Not for Copilot!",
131 | "ID": "8f9a0b1c-2d3e-4f5a-6b7c-8d9e0f1a2b3c",
132 | "Prompt": "Find and highlight all duplicates in [red] when comparing column [A] to column [K]",
133 | "Title": "Highlight duplicates"
134 | },
135 | {
136 | "Category": "Copilot (M365)",
137 | "Description": "Let Copilot show you how to include more of the 'GCSE' ingredients in your prompt.",
138 | "ID": "9a0b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
139 | "Prompt": "Analyse the following prompt, and tell me how I could improve it to help you return a more complete and accurate response. Analyse whether I've provided enough information in the categories of Goal, Context, Sources, and Expectations. Prompt: [prompt]",
140 | "Title": "Improve my prompt"
141 | },
142 | {
143 | "Category": "Copilot (M365)",
144 | "Description": "The first principles methodology is a great way to start being tutored by Copilot.",
145 | "ID": "0b1c2d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e",
146 | "Prompt": "Use first principles methodology to explain [topic] in simple terms. Explain to me as if I'm a beginner.",
147 | "Title": "Explain a topic"
148 | },
149 | {
150 | "Category": "Copilot (M365)",
151 | "Description": "Gerneate a set of interview questions for different roles in the interview schedule based that are specific to the position.",
152 | "ID": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
153 | "Prompt": "Acting as an HR recruiter, and using this job description /[file] create a set of questions that can be asked to the candidate during the interview: 2 questions from Recruitment (focus on organisation values and right to work in the UK) and 3 from the hiring manager to understand the successful candidate.",
154 | "Title": "Questions for job candidates"
155 | },
156 | {
157 | "Category": "Copilot (M365)",
158 | "Description": "Praise your colleagues with an unexpected poem!",
159 | "ID": "2d3e4f5a-6b7c-8d9e-0f1a-2b3c4d5e6f7a",
160 | "Prompt": "I want to give a shout out to /[person] so they can end their week on a positive note. Look through our interactions in chats, channels, meetings and any shared documents. What have been their top achievements and why? Summarise this into a short poem I can send them to make them feel good",
161 | "Title": "Poetic praise"
162 | },
163 | {
164 | "Category": "Copilot (M365)",
165 | "Description": "Look at how you're spending your time in a given week.",
166 | "ID": "3e4f5a6b-7c8d-9e0f-1a2b-3c4d5e6f7a8b",
167 | "Prompt": "Please create a summary of my work week from last Monday to Friday. Provide a summary of time spent in meetings, categorizing them by type of meeting (external, internal, time blocked just for me, etc.) and total hours spent in the week for that category. 'Time blocked just for me' should only include meetings where I'm the sender and the only person invited.",
168 | "Title": "Analyse my time"
169 | },
170 | {
171 | "Category": "Copilot (M365)",
172 | "Description": "Triage across your Teams chats and emails with a handy table",
173 | "ID": "4f5a6b7c-8d9e-0f1a-2b3c-4d5e6f7a8b9c",
174 | "Prompt": "Show me Emails and Teams conversations that needs my action or attention and I have not replied them yet. Show a table with type, sender, subject, date, and importance. Under type, for Teams conversations show 💬, for emails show ✉️. For importance, if I was mentioned show 🔴, else show 🟢. Sort by putting the most important / urgent ones at the top.",
175 | "Title": "Comms triage"
176 | },
177 | {
178 | "Category": "Copilot (M365)",
179 | "Description": "Prepare for a business case review with a coach that will ask you questions and offer counter arguments.",
180 | "ID": "5a6b7c8d-9e0f-1a2b-3c4d-5e6f7a8b9c0d",
181 | "Prompt": "I want to prepare for a business case review and want to understand the questions I may be asked to consider so I can prepare for them. I want you to offer counter arguments for my case from the view of HR, Legal, Finance and Technical. My case is [link to document or provide summary]",
182 | "Title": "Business case review"
183 | },
184 | {
185 | "Category": "Copilot (M365)",
186 | "Description": "Get a unique and amusing summary of your strengths.",
187 | "ID": "6b7c8d9e-0f1a-2b3c-4d5e-6f7a8b9c0d1e",
188 | "Prompt": "Using the information you have about me, my writing and my work, create a Superhero with the superpowers you think I possess. Help me define my personal brand. Reference my work, emails, chats, etc. to help shape a personal brand fitting to me. This personal brand should be in the form of an elevator pitch about what I do and reflect my characteristics.",
189 | "Title": "Superhero"
190 | },
191 | {
192 | "Category": "Copilot (M365)",
193 | "Description": "Raise your profile on LinkedIn with an artificial social media manager guiding you.",
194 | "ID": "7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
195 | "Prompt": "Acting as a social media manager for my profile at https://www.linkedin.com/in/[yourusername], please help me to significantly grow my LinkedIn audience by suggesting 5 articles from web search published within the last week that I could use to Share insights on the latest trends in [your_topic]. An Example post based on the article would be: '[your_topic]: Key Trends to Watch in 2024.' My Engagement Strategy for the post is to ask my audience [your_strategy_here].",
196 | "Title": "LinkedIn inspiration"
197 | },
198 | {
199 | "Category": "Copilot (M365)",
200 | "Description": "Get ready for the day across your email, Teams chats, and calendar.",
201 | "ID": "8d9e0f1a-2b3c-4d5e-6f7a-8b9c0d1e2f3a",
202 | "Prompt": "Scan my meetings, emails and chats to let me know what meetings I have and who with and what preparation I have to do. Let me know what I missed in the last 24 hours. What other tasks do I have to work on? Produce a structured list which lets me prioritise what I have to work on today. Include some concise context for each.",
203 | "Title": "Set me up for the day"
204 | },
205 | {
206 | "Category": "Outlook",
207 | "Description": "Preparing for a specific day in the future (e.g. Monday) with specific task suggestions based on meeting agendas.",
208 | "ID": "9e0f1a2b-3c4d-5e6f-7a8b-9c0d1e2f3a4b",
209 | "Prompt": "List my meetings, tasks and activities on my calendar that I am participating in on this coming Monday in a table. In a second column, recommend any specific actions I should take to prepare for those meetings and activities; dig into the meeting details, and where the meeting includes attached documents or links, list their names and provide their links in a third column.",
210 | "Title": "Prepare for Monday"
211 | },
212 | {
213 | "Category": "Copilot (M365)",
214 | "Description": "Go beyond a meeting summary by referencing a meeting and retrieving an FAQ about what transpired.",
215 | "ID": "0f1a2b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
216 | "Prompt": "Create an FAQ based on the discussions from /",
217 | "Title": "FAQ from meeting"
218 | },
219 | {
220 | "Category": "Copilot (M365)",
221 | "Description": "Have Copilot focus you on the important tasks for the day.",
222 | "ID": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
223 | "Prompt": "You are my AI assistant, optimized for my daily routine. Please assist me in starting my day effectively. List action items in a dedicated table. Please have the columns in the following order. Topic, Follow ups and action items.",
224 | "Title": "Kickstart the day"
225 | },
226 | {
227 | "Category": "Excel",
228 | "Description": "Creating sample data that goes well beyond random numbers.",
229 | "ID": "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
230 | "Prompt": "I'd like you to create a spreadsheet with [100 rows] of synthetic data, containing the columns [date], [time] and [outcome]. Here are the rules for the values: [date: any date between 1st Sept 2024 and 9th Sept 2024] [time: any time of day to the nearest second] [outcome: true or false]",
231 | "Title": "Create random data"
232 | },
233 | {
234 | "Category": "Outlook",
235 | "Description": "Find all the emails from your management chain that require a response or action.",
236 | "ID": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
237 | "Prompt": "I'd like for you to act as my executive assistant. Can you analyze my inbox and find any emails from my manager, or their manager, that require my response or contain any action items.",
238 | "Title": "Analyze emails from my leaders"
239 | },
240 | {
241 | "Category": "Word",
242 | "Description": "To deliver your next TED Talk, make sure you provide all the detail you can in the topic and outcome sections of this prompt.",
243 | "ID": "4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a",
244 | "Prompt": "You are a motivational speaker. Write a keynote speech for a [event type] that should last [duration]. The topic of the keynote is [topic] and audience is made up of [roles]. The tone should be professional and inspire attendees to [outcome you want]",
245 | "Title": "Keynote speech"
246 | },
247 | {
248 | "Category": "Outlook",
249 | "Description": "Looks over your calendar to give you a summary of all the interviews you've done.",
250 | "ID": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
251 | "Prompt": "List all the candidates for which I took the interview in a tabular format with date of interview, candidate name and position. kindly refer to the last 6 months emails from Outlook to get the candidate's name.",
252 | "Title": "List technical interviews"
253 | },
254 | {
255 | "Category": "Copilot (M365)",
256 | "Description": "Get a coach to help you prep for a tough conversation.",
257 | "ID": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
258 | "Prompt": "I need to have a difficult conversation about [topic] with [person or audience] during [event]. Help me prepare by suggesting an approach to communicate my thoughts clearly whilst remaining calm and ensuring I am listening to their views.",
259 | "Title": "Difficult conversations"
260 | },
261 | {
262 | "Category": "Copilot (M365)",
263 | "Description": "You sometimes end up copying a list of email addresses that's 'messy' and doesn't paste into Outlook well. Paste into Copilot instead and ask it to clean up the list.",
264 | "ID": "8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e",
265 | "Prompt": "Convert this list so I can easily paste it into a new Outlook message [paste in your table of names and email addresses]",
266 | "Title": "Clean up email list"
267 | },
268 | {
269 | "Category": "Excel",
270 | "Description": "Ask Copilot for some advice on how to analyse the data in two different Excel files.",
271 | "ID": "9c0d1e2f-3a4b-5c6d-7e8f-9a0b1c2d3e4f",
272 | "Prompt": "Generate prompts to best analyze the table data from [Excel file] and [Excel file]",
273 | "Title": "Analyse my Excel"
274 | },
275 | {
276 | "Category": "Teams",
277 | "Description": "Go beyond a standard meeting recap. Customize this prompt to get exactly what you want from the transcript.",
278 | "ID": "0d1e2f3a-4b5c-6d7e-8f9a-0b1c2d3e4f5a",
279 | "Prompt": "What was this meeting about? What are the goals and topics from the meeting? Format each section with a bolded heading, a bulleted list, and bolded names. What were the key points discussed? Summarize the key discussion points and any action items. Recap and categorize all tips that were considered. Format into a table.",
280 | "Title": "Meeting minutes"
281 | },
282 | {
283 | "Category": "Forms",
284 | "Description": "Creating polls and surveys can be a bit tedious. Let Copilot do all the clicking for you and generate this feedback poll.",
285 | "ID": "1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b",
286 | "Prompt": "Create a poll to gather opinions from the project team on the new project proposal. The purpose of this poll is to understand the team's views on the proposal's feasibility, potential challenges, and areas for improvement. Please include a Rikert scale question on the overall impression of the proposal, as well as specific concerns, and suggestions for enhancements.",
287 | "Title": "Poll on a proposal"
288 | },
289 | {
290 | "Category": "Word",
291 | "Description": "Create role-play scenarios for use in an interview",
292 | "ID": "2f3a4b5c-6d7e-8f9a-0b1c-2d3e4f5a6b7c",
293 | "Prompt": "Looking at this job description [file], generate 10 real-world scenarios to be used in a role-play interview for the job. Target 100 words for each scenario, which contains fake names, [for healthcare role... ailments, medications, and attempted treatments].",
294 | "Title": "Interview prep"
295 | },
296 | {
297 | "Category": "Copilot (M365)",
298 | "Description": "After conducting candidate interviews, create a table to compare their responses to your standard questions. Customize the topics in this template to match what you're looking for.",
299 | "ID": "3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d",
300 | "Prompt": "Create a table with the following information: Topic in the first column and provide the candidates responses in the next columns. Topics: 1. Demonstrated organisation core value(s). 2. Approach to stakeholder management and an example, 3. Experience with business analysis methodologies. Use the following transcripts as input: /[transcript1] /[transcript2] /[transcript3]",
301 | "Title": "Compare candidate interviews"
302 | },
303 | {
304 | "Category": "Copilot (M365)",
305 | "Description": "The reverse of a prepare for the day prompt, this is looking back and seeing what you didn't manage to get to today.",
306 | "ID": "5c6d7e8f-9a0b-1c2d-3e4f-5a6b7c8d9e0f",
307 | "Prompt": "Help me wrap up my day: Act as if you are my personal admin. I'd like for you to create a list showing anywhere I was mentioned but have not yet responded organized by email, Teams chat, and Teams channels in the last 10 hours including a short summary of each. Next, using that information generate a list that prioritizes my top 3 action items for today.",
308 | "Title": "Wrap Up the Day"
309 | },
310 | {
311 | "Category": "Word",
312 | "Description": "This is the first step of a two-part prompt. This first one creates a Project Initiation Document (PID) based on the context and constraints you provide.",
313 | "ID": "6d7e8f9a-0b1c-2d3e-4f5a-6b7c8d9e0f1a",
314 | "Prompt": "Scenario: You are a seasoned project manager and have been tasked with creating the PID for [project name]. Context: [The organisation has done X in order to accomplish Y. This project will do Z. If successful, we will do A.] Constraints: The project is due to start in [date] and will have to be completed in [6 months] with a conclusion delivered to the SLT at the end. [other details like costs, constraints] Document: The document must include the following sections: Project Overview, Project Background and Context, Stakeholder Analysis, Scope and Deliverables, Project Timeline and Milestones, Risk Assessment and Mitigation, Resource Allocation, Communication Plan, Testing and Evaluation, and Budget and Cost Analysis. Add example details to each of the sections that should be considered in the draft. Use tables where necessary to support better readability. Resources: To support the sections with relevant information use /[Docs]",
315 | "Title": "Project start (part 1)"
316 | },
317 | {
318 | "Category": "Word",
319 | "Description": "This is the second step of a two-part prompt. This one creates a schedule based on the PID.",
320 | "ID": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
321 | "Prompt": "PID: /[PID], Tasks: /[docs], Timescale: Based on the PID. Create a project schedule in table format based on the PID using the Tasks document and the defined timescales, phases divided into detailed tasks (where a row does not have a new phase use a -), each phase must be numbered, start and end dates, estimated duration, dependencies, and any associated risks. Project members only Monday to Friday and not weekends or bank holidays.",
322 | "Title": "Project start (part 2)"
323 | },
324 | {
325 | "Category": "Whiteboard",
326 | "Description": "Brainstorming is easy in Whiteboard. Customise this to brainstorm anything: an event, programme, or project. Be sure to use the 'categorise' feature in Whiteboard after this.",
327 | "ID": "8f9a0b1c-2d3e-4f5a-6b7c-8d9e0f1a2b3c",
328 | "Prompt": "Brainstorm ideas for our next marketing campaign aimed at increasing brand awareness among young professionals. The campaign should highlight our new product features and leverage social media platforms. Please consider current market trends and previous campaign results. We are looking for creative and innovative ideas that can be executed within a moderate budget. Feel free to suggest unconventional approaches and new channels.",
329 | "Title": "Brainstorm a campaign"
330 | },
331 | {
332 | "Category": "Copilot (M365)",
333 | "Description": "The more specific you are in HOW a document should be summarised, the more useful it will be.",
334 | "ID": "9a0b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
335 | "Prompt": "Summarize the article in a Non Academic and Non Technical Style.",
336 | "Title": "Explain simply"
337 | },
338 | {
339 | "Category": "Word",
340 | "Description": "Recreating documents with accessibility for various forms of neurodiversity is a great use for Copilot.",
341 | "ID": "0b1c2d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e",
342 | "Prompt": "Please create a new draft of /[document], ensuring it is reworded to be more accessible for individuals with dyslexia?",
343 | "Title": "Draft for dyslexia"
344 | },
345 | {
346 | "Category": "Outlook",
347 | "Description": "What are people calling you out for?",
348 | "ID": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6",
349 | "Prompt": "Summarize emails where I was mentioned recently. Make it detailed, highlighting the sender and categorizing by topic of the email.",
350 | "Title": "Who is talking about me"
351 | },
352 | {
353 | "Category": "Copilot (M365)",
354 | "Description": "Another great strategy for learning a new topic.",
355 | "ID": "2c3d4e5f-6a7b-8c9d-0e1f-2a3b4c5d6e7f",
356 | "Prompt": "Given the topic of (subject), identify and share the most important 20% of learnings that will help me understand 80% of it. I will use this information to understand the essential information of this topic and will enable me to use this information for my personal knowledge and/or in my professional life.",
357 | "Title": "80/20 rule"
358 | },
359 | {
360 | "Category": "OneNote",
361 | "Description": "If you take jumbled notes, you can use Copilot to clean them up.",
362 | "ID": "3d4e5f6a-7b8c-9d0e-1f2a-3b4c5d6e7f8a",
363 | "Prompt": "Please add structure to these notes, make all names bold and add a table of actions at the end.",
364 | "Title": "Note structure"
365 | },
366 | {
367 | "Category": "Word",
368 | "Description": "A much more thorough prompt for ensuring your writing is clear for any audience.",
369 | "ID": "4e5f6a7b-8c9d-0e1f-2a3b-4c5d6e7f8a9b",
370 | "Prompt": "Act as a rewriting expert, your task is to rewrite the following text, making it easier to understand for a general audience. The rewritten text should maintain the original meaning but should be written in simpler, more accessible language. The goal is to ensure that anyone can understand the information. Ensure that the text is free from jargon and complicated terms. Suggest a glossary where needed. The tone should remain professional but friendly.",
371 | "Title": "Rewrite for understanding"
372 | },
373 | {
374 | "Category": "Word",
375 | "Description": "Redaction is a tedious task that can be done much faster and with more sophistication with Copilot.",
376 | "ID": "5f6a7b8c-9d0e-1f2a-3b4c-5d6e7f8a9b0c",
377 | "Prompt": "Redact this document, replacing names with their role or title and removing all dates. Replace pronouns with 'them/they/their'.",
378 | "Title": "Redact document"
379 | },
380 | {
381 | "Category": "Copilot (M365)",
382 | "Description": "Simply converting text into a table can reveal gaps in your data.",
383 | "ID": "6a7b8c9d-0e1f-2a3b-4c5d-6e7f8a9b0c1d",
384 | "Prompt": "Put this in a table for me.",
385 | "Title": "Convert list to Table"
386 | },
387 | {
388 | "Category": "Word",
389 | "Description": "Create a training plan for your new operating procedure quickly. You could modify this to refer to the old version of the same procedure in order to create training just on the changes.",
390 | "ID": "7b8c9d0e-1f2a-3b4c-5d6e-7f8a9b0c1d2e",
391 | "Prompt": "Create a learning plan for this standard operating procedure. [doc] Account for multiple learning modalities, and include activites that would address each modality.",
392 | "Title": "Learning plan"
393 | },
394 | {
395 | "Category": "Copilot (M365)",
396 | "Description": "Not everyone in a manager role is a trained coach for conflict resolution. Let Copilot draw on collective expertise to be that private coach.",
397 | "ID": "8c9d0e1f-2a3b-4c5d-6e7f-8a9b0c1d2e3f",
398 | "Prompt": "Act like a conflict resolution coach with expertise in workplace dynamics. Your goal is to help me navigate a recent disagreement or tension within my team. I will provide the key details, and you'll analyze the situation and offer tailored strategies for resolving the issue constructively. Focus on finding common ground, facilitating healthy discussions, and resolving the conflict in a way that strengthens team relationships and keeps everyone aligned with our goals. Objective: Offer actionable advice on how to resolve team conflicts quickly and effectively while maintaining collaboration and trust. The nature of the conflict: [e.g., differing opinions, misaligned priorities], Key people [use / to mention them], Any relevant context [e.g., project deadlines, team dynamics], Desired Outcomes: [e.g., improved communication, alignment on goals, stronger collaboration].",
399 | "Title": "Conflict coach"
400 | },
401 | {
402 | "Category": "Copilot (M365)",
403 | "Description": "A more thorough version of a prompt you use to improve your prompts.",
404 | "ID": "9d0e1f2a-3b4c-5d6e-7f8a-9b0c1d2e3f4a",
405 | "Prompt": "Hi Copilot, I'd like you to act as my Prompt engineer. Your goal is to help me craft the best possible prompt for my needs. The purpose of the prompt is that I will use it with you, Copilot. You must follow the following process during this chat session: 1. Your first response will be to ask me what the prompt should be about. I will provide my answer, but we will need to improve it through continual iterations by going through steps two and three. 2. Based on my input, you will generate two sections. - Revised prompt (Always provide your revised prompt. It should be clear, concise, and easily understood by you) - Questions (Ask any relevant questions pertaining to what additional information is needed from me for you to improve the prompt). 3. We will continue this iterative process with me providing additional information to you and you continuously updating the prompt in the Revised prompt section so I can use it.",
406 | "Title": "Prompt engineer"
407 | },
408 | {
409 | "Category": "Copilot (M365)",
410 | "Description": "When applying for a new role, use Copilot to prep by analysing your fit.",
411 | "ID": "0e1f2a3b-4c5d-6e7f-8a9b-0c1d2e3f4a5b",
412 | "Prompt": "Using my CV /[DOC] please complete a gap analysis against the following job description /[DOC]. Please identify key skills, experiences, and qualifications required for the job and compare them with what is listed in my CV. Please respond with a HR persona.",
413 | "Title": "Job fit analysis"
414 | },
415 | {
416 | "Category": "Word",
417 | "Description": "In a healthcare setting, you may need to send a letter to a patient that takes your often clinically technical language and rephrases for understanding. The reference to 'numbers starting most of the paragraphs' may not apply to your notes, but often notes will start with short dates, and this may need to be explained in the prompt. Also the section of references assumes you also have a file to refer to with a list of terms that will trigger providing access to a trusted resource that patients could use for more info.",
418 | "ID": "1f2a3b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
419 | "Prompt": "Rewrite all of these clinician notes in [file] into terms understood at a 9-year-old reading level, replacing any medical jargon. The numbers starting most of the paragraphs (for example, 16/6) are dates. Wherever a term or concept in the notes matches a topic in [file] append the corresponding reference text in the document to a 'References' section of the new document.",
420 | "Title": "Rewrite for patient letter"
421 | },
422 | {
423 | "Category": "Word",
424 | "Description": "In a healthcare setting, you may need to recreate materials that were written for an older audience to a younger one, for instance. You can customise this prompt to meet a variety of needs.",
425 | "ID": "2a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d",
426 | "Prompt": "Please transform the patient information leaflet into a very short nursery rhyme to make it more comforting and suitable for a toddler who is apprehensive about their surgery.",
427 | "Title": "Rewrite patient leaflet"
428 | }
429 | ]
--------------------------------------------------------------------------------