Inspiration
The inspiration behind Sendra AI comes from the need for smarter, more efficient collaboration and information retrieval in the Atlassian ecosystem. We wanted to leverage AI and Large Language Models to make Atlassian tools more intuitive and user-friendly, ultimately saving time and boosting productivity.
What it does
Sendra AI is a multifaceted solution with four core components:
Sendra Chat:
A Confluence chat bot, utilizing OpenAI embeddings to provide instant answers and information retrieval for Confluence page content.
Sendra Architect:
A Confluence plugin that simplifies diagram creation by generating sequences, entity relationships, cloud architectures, and flowcharts based on user prompts.
Sendra Connect:
Enhances Jira by displaying related Confluence pages under issue descriptions, streamlining information retrieval and collaboration.
Sendra Nexus:
Another Jira feature that identifies related or duplicate issues, facilitating efficient issue management and workflow improvement.
How we built it
We built Sendra AI by harnessing the creative potential of Atlassian's Forge, a remarkable platform for building plugins in the Atlassian ecosystem. Our project comprises four dynamic components, each meticulously crafted with Forge's features.
To craft the user interface, we leveraged various aspects of Forge, including Custom UI, UI kit, and UI Kit 2, thoughtfully selecting components to match specific scenarios and deliver an optimal front-end experience.
One of Sendra AI's core features involves embedding Confluence and Jira documents using the OpenAI API, storing the extracted content in ChromaDB, a vector database. We've woven this capability seamlessly into the background, ensuring that every time a new document is created or updated in Confluence or a Jira issue is modified, the content is gracefully captured and stored, with an added layer of security through data encryption.
Sendra Chat:
When a user queries information related to a document, Sendra Chat springs into action. It crafts responses using the embeddings and delivers insightful answers with direct links to the relevant content. We've designed a customized UI for this component using Vite.js (Custom UI for Forge), integrating it with the SpacePage component to ensure access from any Confluence space.
Sendra Architect:
This component takes diagram creation to the next level. When a user prompts for a diagram, we've seamlessly integrated an API that leverages Large Language Models (LLMs) to generate diagrams. While keeping the technical details discreet, we ensure that users can save these diagrams directly on Confluence pages, with the assurance of encrypted data storage. We've orchestrated this with the help of Macro and MacroConfig within Confluence components.
Sendra Connect:
To streamline information retrieval, Sendra Connect taps into document and Jira issue embeddings. We fetch Confluence pages that might be related to a Jira issue and list them within Jira's issuePanel component. This not only enhances collaboration but also makes information easily accessible, all while safeguarding data integrity through encryption.
Sendra Nexus:
In the realm of issue management, Sendra Nexus comes into play. Utilizing embeddings from Jira issues, we search for related or duplicate issues and present them neatly within Jira's issueGlance component, further bolstered by encrypted data storage. This simplifies issue identification and resolution while keeping data secure.
Additionally, to optimize performance and reduce reliance on external services, we've implemented Forge's storage capabilities for caching values, ensuring efficient and responsive interactions while minimizing repetitive calls to the AI service.
Challenges we ran into
- We faced an issue in storing the generated diagram in Sendra Architect. We resolved it by implementing the Storage API by storing the image with the ID of the Macro component to avoid multiple LLM calls and save cost.
- We had an issue when calling the Storage API from the custom UI. We resolved it by adding a wrapper to get and set data in the Forge resolver.
- In our journey to develop Sendra AI, we encountered several other minor challenges. Being new to the Forge tool, we greatly appreciated the support and assistance from the Atlassian community, which played a pivotal role in helping us overcome these challenges and develop a robust and innovative solution.
Accomplishments that we're proud of
- We are proud because we built an AI solution using Forge, a tool that was entirely new to us.
- We're thrilled to tell you that we've made Sendra Chat smarter. It's not just about processing messages; it's about understanding the context dynamically and serving accordingly.
What we learned
- We've gained valuable experience in using the Forge tool, becoming proficient in harnessing its capabilities to build innovative solutions.
- Our journey has deepened our understanding of AI technologies and their practical applications, particularly in collaboration and productivity.
What's next for Sendra AI
- Improve Sendra Chat to use other Atlassian APIs to process the user requests directly in chat.
- Improve response time and accuracy in chat responses
Built With
- amazon-web-services
- chromadb
- forge
- openai
- python
- vite
Log in or sign up for Devpost to join the conversation.