Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How do proper relationships in Teamwork Graph?

alvaro_lopez
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 11, 2026

Hello team,

We are exploring the benefits of TWG and we've made a simple connector between Salesforce and the Graph.

So far, we achieved to push some data that can be queried via Rovo. It needs some guidance, but at least companies and Cases can be found.

 

However, we are trying to do relationships between:

  • Case <-> Work item
  • Organization <-> Case
  • Comments -> Case

To do so, we follow the approach 1 in the docs 

 

We send a payload like this using setObjects method:

{
"connectionId": "12345678-90ab-cdef-1234-567890abcdef:fedcba98-7654-3210-fedc-ba9876543210",
"objects": [
{
"schemaVersion": "2.0",
"id": "001XX00000ABCD1XYZ",
"updateSequenceNumber": 1781106236000,
"displayName": "Acme Manufacturing Ltd",
"url": "https://example-org.my.salesforce.com/lightning/r/Account/001XX00000ABCD1XYZ/view",
"createdAt": "2026-06-10T15:43:56.000Z",
"lastUpdatedAt": "2026-06-10T15:43:56.000Z",
"permissions": [
{
"accessControls": [
{
"principals": [
{
"type": "ATLASSIAN_WORKSPACE"
}
]
}
]
}
],
"atlassian:customer-org": {
"key": "001XX00000ABCD1XYZ"
}
},
{
"schemaVersion": "2.0",
"id": "500XX00000CASE1XYZ",
"updateSequenceNumber": 1781099752000,
"displayName": "Payment Gateway Error",
"description": "Customers are unable to complete purchases through the checkout flow.",
"url": "https://example-org.my.salesforce.com/lightning/r/Case/500XX00000CASE1XYZ/view",
"createdAt": "2026-06-10T13:55:52.000Z",
"lastUpdatedAt": "2026-06-10T13:55:52.000Z",
"permissions": [
{
"accessControls": [
{
"principals": [
{
"type": "ATLASSIAN_WORKSPACE"
}
]
}
]
}
],
"atlassian:document": {
"type": {
"category": "DOCUMENT",
"mimeType": "text/plain",
"fileExtension": "case"
},
"content": {
"mimeType": "text/plain",
"text": "Payment Gateway Error\nCustomers are unable to complete purchases through the checkout flow.\nIn Progress"
},
"extractedText": "Payment Gateway Error\nCustomers are unable to complete purchases through the checkout flow.\nIn Progress",
"labels": [
"Salesforce Case",
"In Progress"
],
"exportLinks": [
{
"mimeType": "text/html",
"url": "https://example-org.my.salesforce.com/lightning/r/Case/500XX00000CASE1XYZ/view"
}
]
},
"associations": {
"lastUpdatedAt": "2026-06-10T13:55:52.000Z",
"set": [
{
"associationType": "issueIdOrKeys",
"values": [
"PROJ-123"
]
}
]
}
},
{
"schemaVersion": "2.0",
"id": "500XX00000CASE2XYZ",
"updateSequenceNumber": 1781106275000,
"displayName": "User Provisioning Failure",
"description": "Automated onboarding jobs are failing intermittently.",
"url": "https://example-org.my.salesforce.com/lightning/r/Case/500XX00000CASE2XYZ/view",
"createdAt": "2026-06-10T15:26:28.000Z",
"lastUpdatedAt": "2026-06-10T15:44:35.000Z",
"permissions": [
{
"accessControls": [
{
"principals": [
{
"type": "ATLASSIAN_WORKSPACE"
}
]
}
]
}
],
"atlassian:document": {
"type": {
"category": "DOCUMENT",
"mimeType": "text/plain",
"fileExtension": "case"
},
"content": {
"mimeType": "text/plain",
"text": "User Provisioning Failure\nAutomated onboarding jobs are failing intermittently.\nNew"
},
"extractedText": "User Provisioning Failure\nAutomated onboarding jobs are failing intermittently.\nNew",
"labels": [
"Salesforce Case",
"New"
],
"exportLinks": [
{
"mimeType": "text/html",
"url": "https://example-org.my.salesforce.com/lightning/r/Case/500XX00000CASE2XYZ/view"
}
]
},
"associations": {
"lastUpdatedAt": "2026-06-10T15:44:35.000Z",
"set": [
{
"associationType": "issueIdOrKeys",
"values": [
"OPS-456"
]
},
{
"associationType": "atlassian:customer-org",
"values": [
{
"entityId": "001XX00000ABCD1XYZ"
}
]
}
]
}
},
{
"schemaVersion": "2.0",
"id": "00AXX00000COMM1XYZ",
"updateSequenceNumber": 1781170158000,
"displayName": "Please prioritize this issue",
"url": "https://example-org.my.salesforce.com/lightning/r/Case/500XX00000CASE2XYZ/view#comment-00AXX00000COMM1XYZ",
"createdAt": "2026-06-11T09:29:18.000Z",
"lastUpdatedAt": "2026-06-11T09:29:18.000Z",
"createdBy": {
"externalId": "005XX00000USER1XYZ"
},
"permissions": [
{
"accessControls": [
{
"principals": [
{
"type": "ATLASSIAN_WORKSPACE"
}
]
}
]
}
],
"parentKey": {
"type": "atlassian:document",
"value": {
"entityId": "500XX00000CASE2XYZ"
}
},
"containerKey": {
"type": "atlassian:space",
"value": {
"entityId": "10042"
}
},
"atlassian:comment": {
"text": "Please prioritize this issue. Several users have reported the same problem this morning."
}
}

I can see all of them are correctly digested. Also, I'm aware of the limited relationships visible so far as explained in docs 

 

But then, when we talk with Rovo, the relationship seems to be missing and no related objects appear.

What should we do to make it work properly?

 

Thanks,

Álvaro 

1 answer

1 accepted

0 votes
Answer accepted
Dr Valeri Colon _Connect Centric_
Community Champion
June 16, 2026

Welcome to the Community, @alvaro_lopez 

One thing worth checking is whether the relationships you're creating are actually among the Teamwork Graph "Supported relationship types." Atlassian's documentation currently lists a limited set of association combinations that are guaranteed to create traversable relationships in the graph. I don't see examples for customer-org → document, document → document, or comment → document relationships similar to your Salesforce Case model, so it's possible the objects are ingesting correctly but Rovo isn't able to use those links yet.

https://developer.atlassian.com/platform/teamwork-graph/create-relationships/

alvaro_lopez
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 16, 2026

I understand that some relationships are still not valid for Rovo even though we can consume them.

However, in the basic example of a Document linked to a work item, we couldn’t make it work so Rovo can find the relationship.

Eventually, we have decided to add more context in the descriptions and other metadata so it can infer the relationships but without the actual links.

Thanks for your help!

 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events