Hi everyone,
At Team '25 Europe, we announced the upcoming Early Access Program (EAP) for the Teamwork Graph API, which lets you access and query connected data from across Atlassian and third-party apps with Forge.
In this post, we’ll show you some of the things you can build with the Teamwork Graph API, from custom apps to powerful AI agents.
Interested in joining the EAP? Register your interest here.
Teamwork Graph is Atlassian’s unified data layer that connects teamwork data from across Atlassian apps, like Jira and Confluence, as well as external tools you connect. It creates a single, queryable map of your teams, projects, goals, and work, making it possible to build apps and AI agents that understand relationships across your organization and unlock new, previously impossible use cases.
Curious about Teamwork Graph? Learn more here.
With the Teamwork Graph API, you can build apps that:
Uncover relationships and dependencies between teams, projects, and goals that span across apps.
Build AI agents that deliver context-aware recommendations and insights, grounded in real organizational data.
Create dashboards and visualizations that reveal contributions, connections, and progress at scale.
We’ve built two example apps to help show you what’s possible and how it works. If you are part of the EAP, you will be able to clone these apps and run the code yourself.
Tracking work and contributions gets complicated fast, especially when teams, projects, and goals are all interconnected in different ways. Imagine you want to answer a simple question: Which teams are actually contributing to key projects and OKRs?
You might have several projects linked to the OKR, each owned by different people. Some of those projects have Jira Epics, which might be driven by people on other teams. At scale, this web of relationships is almost impossible to untangle manually.
This is the problem we solved for one of our customers, Lendi Group – and this is where the Teamwork Graph API shines. With the Teamwork Graph API, you can traverse relationships between people, teams, projects, goals, and work items, no matter how complex. This makes it possible to build dashboards that show, at a glance, which teams are driving progress on your goals, how work is distributed, and where dependencies or gaps might exist.
Lendi achieved this using a Confluence macro, built using the Teamwork Graph API.
Using this macro, they were able to define a query that starts from a goal, finds all related projects, then traces those projects to their owners and teams, even following links to Jira work items and contributors. The result: a clear, actionable map of contributions across your organization.
AI agents can help streamline onboarding by creating checklists and surfacing relevant resources. However, without a deeper understanding of the relationships and connections that exist across teams, projects, and collaborators, agents can often produce generic or incomplete recommendations.
Built using the Forge Rovo Action module and Teamwork Graph API, the Onboarding Assistant is an advanced Rovo Agent that leverages the relational data from Teamwork Graph to create onboarding materials are tailored to each new starter’s actual team, projects, and collaborators. The agent queries real, up-to-date data to generate recommendations that are accurate, relevant, and consistent across users and teams.
Take a look at it in action:
How does it work?
To ensure the Agent produces consistent, relevant onboarding recommendations, we explicitly define the data it retrieves from the Teamwork Graph. For example, to return all the teams a user is part of, we define the following GraphQL query:
query GetMyTeamInformation($queries: [GraphQueryInput!]!, $params: [JSON]) {
teamworkGraph {
cypherQuery(queries: $queries, params: $params) {
results {
... on Team {
id
displayName
url: profileUrl
creator { name }
}
}
}
}
}
This sends the following query to the Teamwork Graph, defined using a language called Cypher. Here’s a simple example of a Cypher query:
MATCH (user:IdentityUser {ari: $me})-[:user_is_in_team]->(team:IdentityTeam)
RETURN collect(team) as teams
By defining queries in this way, we have full control over what data the Agent uses as context. This transparency not only prevents hallucinations, but also makes it easy to adjust or extend the agent’s behaviour as the needs evolve.
Want to try the Teamwork Graph API?
Sign up for the Forge Teamwork Graph API EAP to join dozens of partners testing the API – we’ll contact you with next steps.
For details on what data is available and where you can use the API during EAP, see our EAP documentation.
Note that during EAP, the API can only be used in Forge apps that are installed into Jira and Confluence. You can see other limitations of the EAP in the documentation here.