I need to join 3 table

I’m using infinity plugin to get api data from ninjaone to create a dashboard in grafana, my problem is that i have 3 table:
T1: deviceId, status, activityTime
T2: deviceId, organizationId
T3: organizationId, Name
my objective is to have only one table with Name, status, activity time but i cant find how to do it

This is a future feature for infinity plugin

You might want to look at dynamic text plugin with calling your api via javascript

Can you post sample api json result?

the example code is here: NinjaRMM Public API
in the previous message i was referring to:
/api/v2/organizations
/api/v2/activities
/api/v2/devices
if you need other informatin or data just ask me

sorry not going to click some random url.

we need results of those rest api endpoints please

ok i was the link to the official open api page, anyway:
/api/v2/organizations

[
  {
    "name": "string",
    "description": "string",
    "userData": {
      "additionalProp1": {}
    },
    "nodeApprovalMode": "AUTOMATIC",
    "tags": [
      "string"
    ],
    "fields": {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    },
    "id": 0
  }
]

/api/v2/activities

{
  "lastActivityId": 0,
  "activities": [
    {
      "id": 0,
      "activityTime": 0,
      "deviceId": 0,
      "severity": "NONE",
      "priority": "NONE",
      "seriesUid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "activityType": "ACTIONSET",
      "statusCode": "START_REQUESTED",
      "status": "string",
      "activityResult": "SUCCESS",
      "sourceConfigUid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "sourceName": "string",
      "subject": "string",
      "userId": 0,
      "message": "string",
      "type": "string",
      "data": {
        "additionalProp1": {}
      }
    }
  ]
}

/api/v2/devices

[
  {
    "id": 0,
    "parentDeviceId": 0,
    "organizationId": 0,
    "locationId": 0,
    "nodeClass": "WINDOWS_SERVER",
    "nodeRoleId": 0,
    "rolePolicyId": 0,
    "policyId": 0,
    "approvalStatus": "PENDING",
    "offline": true,
    "displayName": "string",
    "systemName": "string",
    "dnsName": "string",
    "netbiosName": "string",
    "created": 0,
    "lastContact": 0,
    "lastUpdate": 0,
    "userData": {
      "additionalProp1": {}
    },
    "tags": [
      "string"
    ],
    "fields": {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    },
    "maintenance": {
      "status": "PENDING",
      "start": 0,
      "end": 0
    },
    "references": {
      "organization": {
        "name": "string",
        "description": "string",
        "userData": {
          "additionalProp1": {}
        },
        "nodeApprovalMode": "AUTOMATIC",
        "tags": [
          "string"
        ],
        "fields": {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        },
        "id": 0
      },
      "location": {
        "name": "string",
        "address": "string",
        "description": "string",
        "userData": {
          "additionalProp1": {}
        },
        "tags": [
          "string"
        ],
        "fields": {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        },
        "id": 0
      },
      "rolePolicy": {
        "id": 0,
        "parentPolicyId": 0,
        "name": "string",
        "description": "string",
        "nodeClass": "WINDOWS_SERVER",
        "updated": 0,
        "nodeClassDefault": true,
        "tags": [
          "string"
        ],
        "fields": {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        }
      },
      "policy": {
        "id": 0,
        "parentPolicyId": 0,
        "name": "string",
        "description": "string",
        "nodeClass": "WINDOWS_SERVER",
        "updated": 0,
        "nodeClassDefault": true,
        "tags": [
          "string"
        ],
        "fields": {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        }
      },
      "role": {
        "id": 0,
        "name": "string",
        "description": "string",
        "nodeClass": "WINDOWS_SERVER",
        "custom": true,
        "chassisType": "UNKNOWN",
        "created": 0,
        "tags": [
          "string"
        ],
        "fields": {
          "additionalProp1": {},
          "additionalProp2": {},
          "additionalProp3": {}
        }
      },
      "backupUsage": {
        "revisionsCurrentSize": 0,
        "revisionsPreviousSize": 0,
        "revisionsDeletedSize": 0,
        "localFileFolderSize": 0,
        "localImageSize": 0,
        "cloudFileFolderSize": 0,
        "cloudImageSize": 0,
        "revisionsTotalSize": 0,
        "cloudTotalSize": 0,
        "localTotalSize": 0
      }
    }
  }
]

please clean it up so that it removes the weird quotation marks? vs "

“rolePolicy”: {
“id”: 0,
“parentPolicyId”: 0

vs

"rolePolicy": {
"id": 0,
"parentPolicyId": 0

i tryed to remove data that i dont use to make it more clear
/api/v2/organizations
[
{
“name”: “string”,
“id”: 0
}
]

/api/v2/activities

{
“lastActivityId”: 0,
“activities”: [
{
“id”: 0,
“activityTime”: 0,
“deviceId”: 0,
“status”: “string”,
“message”: “string”
}
]
}

/api/v2/devices

{
“id”: 0,
“organizationId”: 0,
}

should i wait for the infinity update or does anyone have other solution?

you can try to use javascript to stitch the data together.