I found a possibility in a nice blog entry here on team.rocks by Magnus Sandtorv.
It is not documented in any way on the graph API and not visible in the graph explorer yet but basically what you do is do a POST to the graph beta endpoint like this:
POST https://graph.microsoft.com/beta/teams/<TEAMID>/channels/<CHANNELID>/tabs
Request body:
{
"name": "Example",
"teamsAppId": "com.microsoft.teamspace.tab.web",
"configuration": {
"entityId": "<ID>",
"contentUrl": "https://example.com",
"websiteUrl": "https://example.com",
"removeUrl": ""
}
}
I myself am still looking for a list of Teams-App-IDs and exact definition of what the entityId should look like. For now i just use some number but checking in Teams in seems like it should be some kind of GUID.