Recordings to Notes for Confluence is application that allows you to create a meeting notes page from your recordings. You can select a Meeting notes template, set up language for translation, add word replacements and change model processing parameters.
Inspiration
After the COVID pandemic in 2020, there was a growing need for a secure and efficient workspace became a top priority. We had to create new communication strategies for interacting with clients, managers, and colleagues, ensuring that everyone remained up-to-date on projects. While we relied on video conferencing platforms like Zoom, Microsoft Teams, and Google Meets to keep us connected, it was crucial for key team members to record the highlights of every significant interaction. Our central hub for meeting agendas and decisions became Confluence spaces.
Nonetheless, this approach brought about a set of challenges:
- The process of summarizing meetings and taking notes consumed valuable time for managers and key individuals.
- There was a risk of omitting important topics from the summaries.
- Some participants found the meeting subjects complex, potentially leading to misinterpretation or overlooking critical details.
- In cases where team members couldn't attend due to connectivity issues or other reasons, providing a comprehensive meeting summary promptly became essential.
- If, for any reason, meeting notes weren't created or if details were missed, attendees would need to review the recorded content.
- Being a multilingual team, maintaining consistent documentation in a single language was a priority.
In the winter of 2022, we experienced unexpected power outages. These were caused by Russian rocket attacks on Ukrainian civil infrastructure, leading to significant disruptions in networking, heating, and electricity. This situation posed a significant challenge to our business continuity. Some of our colleagues were unable to participate in important calls with clients. Therefore, we see the development of this add-on as a proactive measure to prepare for similar scenarios in the future. The ability to correlate notes with a meeting transcript allows us to achieve a level of awareness nearly equivalent to being physically present on a call.
What it does
"Recordings to Meeting Notes" utilizes the OpenAI API to convert and process audio/video recordings into Confluence pages. Instance admin can use their own API token and manually control OpenAI expenses.
To generate a meeting note, users should select a parent page and choose "Create Note from Recording" from the page context actions. A modal window will appear, allowing users to upload the recording file. Next, users need to specify the new page name, list the meeting participants, select the source language, and choose a meeting notes template. After submission, a new page is created.
If a user finds that some words were recognized incorrectly, they can highlight the word and select "Recordings to Notes: Add word replacement" from the context menu. Through this action, users can either add a new word replacement or update an existing word pair.
Users can also configure word replacements in the space settings. Additionally, the space admin can set certain parameters as defaults, such as the level of detail, temperature, or source/output language. Currently, processing recordings longer than 30 minutes may cause some issues.
How we built it
We use Forge with a Custom UI for every plugin module except for the context action. API calls to OpenAI are made from the user agent. However, this approach is not ideal because if the user closes the browser tab, the page won't be created (we are already working on a backend for this application).
Challenges we ran into
The main challenges were related to the limitations of the OpenAI REST API and the Forge platform. We aim to utilize the Forge UI kit or UI kit 2 in every module to maintain a standardized appearance and improve performance. Regrettably, the Forge UI kit could only be applied to one of our modules. The primary reason for this limitation is the shortage of available components and restricted options for component positioning. Nevertheless, we encountered some challenges during its development, which we have outlined below:
- In UI Kit and UI Kit 2, we cannot display flags to the user, as can be done in Custom UI using
showFlag() - The
FormConditioncomponent does not work within the Inline Dialog module - We are unable to programmatically close the Inline Dialog.
There are few general problems we had while developing our plugin:
- The Confluence Cloud REST API endpoint is not functional
- We are unable to load the file from the form as an attachment to the page.
- When using Custom UI in certain confined spaces, such as modals or inline dialogs, the selector options or dropdowns are truncated by the iframe's borders.
What we learned
Working with the OpenAI API introduced us to the concept of tokenization, which is essential for understanding how input text is processed. We encountered challenges related to managing the token limit, as the total number of tokens in the input and output has to stay within the model's maximum capacity. Balancing the need for meaningful input and output within these limits required careful planning and occasionally resulted in the need to truncate or omit text.
One of the key challenges was crafting prompts that yield relevant and coherent responses from the model. Constructing prompts in a way that ensured the data we received was easily processed via JavaScript and fit seamlessly into our application proved to be a nuanced process. We learned that precise and structured prompts are crucial for obtaining the desired results.
We encountered challenges in parsing and formatting the data to ensure it seamlessly integrated with our frontend. Overcoming these challenges required a deep understanding of the API response structure and careful data manipulation.
Also, as with any API, managing rate limits and associated costs was an ongoing challenge. We needed to balance the frequency of API calls with the associated costs while ensuring a responsive user experience. Thorough monitoring and optimization were necessary to address these challenges effectively.
In a nutshell, our journey with the OpenAI API was rewarding, but we encountered unique challenges in tokenization, prompt creation, data processing, and API management. Conquering these obstacles paved the way for seamless integration into our project.
What's next for Recordings to Meeting Notes
- We have nearly implemented a Python backend for processing user requests in the background. We plan to use queues or the web trigger module from the Forge plugin to send the results of long-running tasks from our backend to Confluence. Processing a single recording might take up to 10 minutes.
- We aim to provide users with an array of meeting note templates for various types of meetings, making the process even more seamless and efficient.
- We are actively working on a feature that will let users effortlessly integrate their meeting notes into predefined templates.
- We are dedicated to enhancing prompts to ensure their compatibility with various languages, resulting in even more accurate meeting notes.
- We are also preparing for publication on the Atlassian Marketplace


Log in or sign up for Devpost to join the conversation.