Microsoft Teams: How to send a Message/Card to a User from an external App without an Bot
we have an external ASP.NET 4.7 App (in Azure App Service), which should send Messages/Cards to one specific User in Teams (without an Bot).
I managed to send Cards to Channels via the Connector/WebHook, but cannot target an specific User.
How can i do this / which Services are needed?
please as simple as possible :-)
thank you
==========================
update: Sample Code:
Private Shared Sub SendToTeams(ChannelPath As AppSettingsKey, Card As TeamsCard)
If String.IsNullOrWhiteSpace(ChannelPath) Then Return
Dim Channel = AppSettings.GetAppSetting(ChannelPath)
If String.IsNullOrWhiteSpace(Channel) Then Return
Dim ChannelWebHook = "https://outlook.office.com"
Dim Client = New RestClient(ChannelWebHook)
Dim Req = New RestRequest(Method.POST) With {
.Resource = Channel,
.RequestFormat = DataFormat.Json
}
Dim JSON = Card.SaveJSON(False)
Req.AddParameter("application/json; charset=utf-8", JSON, ParameterType.RequestBody)
Dim Erg = Client.Execute(Req)
Logger.Info("Teams:", Erg.StatusCode)
End Sub
And some Helpers:
Friend Class TeamsCard
<JsonProperty(PropertyName:="@context")> Public Property context As String = "https://schema.org/extensions"
<JsonProperty(PropertyName:="@type")> Public Property type As String = "MessageCard"
Public Property themeColor As String = "ff6100"
Public Property title As String = "Title"
Public Property summary As String = "Summary"
Public Property text As String = "Text"
Public Property potentialAction As New List(Of TeamsCardAction)
End Class
Friend Class TeamsCardAction
<JsonProperty(PropertyName:="@type")> Public Property type As String = "OpenUri"
Public Property name As String = "ButtonText"
Public Property targets As New List(Of TeamsCardButtonTarget)
Public Sub New(Text As String, URI As String)
name = Text
targets.Add(New TeamsCardButtonTarget With {.uri = URI})
End Sub
End Class
Friend Class TeamsCardButtonTarget
Public Property os As String = "default"
Public Property uri As String = "https://google.com"
End Class
asp.net api webhooks microsoft-teams
add a comment |
we have an external ASP.NET 4.7 App (in Azure App Service), which should send Messages/Cards to one specific User in Teams (without an Bot).
I managed to send Cards to Channels via the Connector/WebHook, but cannot target an specific User.
How can i do this / which Services are needed?
please as simple as possible :-)
thank you
==========================
update: Sample Code:
Private Shared Sub SendToTeams(ChannelPath As AppSettingsKey, Card As TeamsCard)
If String.IsNullOrWhiteSpace(ChannelPath) Then Return
Dim Channel = AppSettings.GetAppSetting(ChannelPath)
If String.IsNullOrWhiteSpace(Channel) Then Return
Dim ChannelWebHook = "https://outlook.office.com"
Dim Client = New RestClient(ChannelWebHook)
Dim Req = New RestRequest(Method.POST) With {
.Resource = Channel,
.RequestFormat = DataFormat.Json
}
Dim JSON = Card.SaveJSON(False)
Req.AddParameter("application/json; charset=utf-8", JSON, ParameterType.RequestBody)
Dim Erg = Client.Execute(Req)
Logger.Info("Teams:", Erg.StatusCode)
End Sub
And some Helpers:
Friend Class TeamsCard
<JsonProperty(PropertyName:="@context")> Public Property context As String = "https://schema.org/extensions"
<JsonProperty(PropertyName:="@type")> Public Property type As String = "MessageCard"
Public Property themeColor As String = "ff6100"
Public Property title As String = "Title"
Public Property summary As String = "Summary"
Public Property text As String = "Text"
Public Property potentialAction As New List(Of TeamsCardAction)
End Class
Friend Class TeamsCardAction
<JsonProperty(PropertyName:="@type")> Public Property type As String = "OpenUri"
Public Property name As String = "ButtonText"
Public Property targets As New List(Of TeamsCardButtonTarget)
Public Sub New(Text As String, URI As String)
name = Text
targets.Add(New TeamsCardButtonTarget With {.uri = URI})
End Sub
End Class
Friend Class TeamsCardButtonTarget
Public Property os As String = "default"
Public Property uri As String = "https://google.com"
End Class
asp.net api webhooks microsoft-teams
Can you post your current code?
– Matthew Evans
2 days ago
add a comment |
we have an external ASP.NET 4.7 App (in Azure App Service), which should send Messages/Cards to one specific User in Teams (without an Bot).
I managed to send Cards to Channels via the Connector/WebHook, but cannot target an specific User.
How can i do this / which Services are needed?
please as simple as possible :-)
thank you
==========================
update: Sample Code:
Private Shared Sub SendToTeams(ChannelPath As AppSettingsKey, Card As TeamsCard)
If String.IsNullOrWhiteSpace(ChannelPath) Then Return
Dim Channel = AppSettings.GetAppSetting(ChannelPath)
If String.IsNullOrWhiteSpace(Channel) Then Return
Dim ChannelWebHook = "https://outlook.office.com"
Dim Client = New RestClient(ChannelWebHook)
Dim Req = New RestRequest(Method.POST) With {
.Resource = Channel,
.RequestFormat = DataFormat.Json
}
Dim JSON = Card.SaveJSON(False)
Req.AddParameter("application/json; charset=utf-8", JSON, ParameterType.RequestBody)
Dim Erg = Client.Execute(Req)
Logger.Info("Teams:", Erg.StatusCode)
End Sub
And some Helpers:
Friend Class TeamsCard
<JsonProperty(PropertyName:="@context")> Public Property context As String = "https://schema.org/extensions"
<JsonProperty(PropertyName:="@type")> Public Property type As String = "MessageCard"
Public Property themeColor As String = "ff6100"
Public Property title As String = "Title"
Public Property summary As String = "Summary"
Public Property text As String = "Text"
Public Property potentialAction As New List(Of TeamsCardAction)
End Class
Friend Class TeamsCardAction
<JsonProperty(PropertyName:="@type")> Public Property type As String = "OpenUri"
Public Property name As String = "ButtonText"
Public Property targets As New List(Of TeamsCardButtonTarget)
Public Sub New(Text As String, URI As String)
name = Text
targets.Add(New TeamsCardButtonTarget With {.uri = URI})
End Sub
End Class
Friend Class TeamsCardButtonTarget
Public Property os As String = "default"
Public Property uri As String = "https://google.com"
End Class
asp.net api webhooks microsoft-teams
we have an external ASP.NET 4.7 App (in Azure App Service), which should send Messages/Cards to one specific User in Teams (without an Bot).
I managed to send Cards to Channels via the Connector/WebHook, but cannot target an specific User.
How can i do this / which Services are needed?
please as simple as possible :-)
thank you
==========================
update: Sample Code:
Private Shared Sub SendToTeams(ChannelPath As AppSettingsKey, Card As TeamsCard)
If String.IsNullOrWhiteSpace(ChannelPath) Then Return
Dim Channel = AppSettings.GetAppSetting(ChannelPath)
If String.IsNullOrWhiteSpace(Channel) Then Return
Dim ChannelWebHook = "https://outlook.office.com"
Dim Client = New RestClient(ChannelWebHook)
Dim Req = New RestRequest(Method.POST) With {
.Resource = Channel,
.RequestFormat = DataFormat.Json
}
Dim JSON = Card.SaveJSON(False)
Req.AddParameter("application/json; charset=utf-8", JSON, ParameterType.RequestBody)
Dim Erg = Client.Execute(Req)
Logger.Info("Teams:", Erg.StatusCode)
End Sub
And some Helpers:
Friend Class TeamsCard
<JsonProperty(PropertyName:="@context")> Public Property context As String = "https://schema.org/extensions"
<JsonProperty(PropertyName:="@type")> Public Property type As String = "MessageCard"
Public Property themeColor As String = "ff6100"
Public Property title As String = "Title"
Public Property summary As String = "Summary"
Public Property text As String = "Text"
Public Property potentialAction As New List(Of TeamsCardAction)
End Class
Friend Class TeamsCardAction
<JsonProperty(PropertyName:="@type")> Public Property type As String = "OpenUri"
Public Property name As String = "ButtonText"
Public Property targets As New List(Of TeamsCardButtonTarget)
Public Sub New(Text As String, URI As String)
name = Text
targets.Add(New TeamsCardButtonTarget With {.uri = URI})
End Sub
End Class
Friend Class TeamsCardButtonTarget
Public Property os As String = "default"
Public Property uri As String = "https://google.com"
End Class
asp.net api webhooks microsoft-teams
asp.net api webhooks microsoft-teams
edited 2 days ago
Christoph
asked 2 days ago
ChristophChristoph
52511020
52511020
Can you post your current code?
– Matthew Evans
2 days ago
add a comment |
Can you post your current code?
– Matthew Evans
2 days ago
Can you post your current code?
– Matthew Evans
2 days ago
Can you post your current code?
– Matthew Evans
2 days ago
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54252789%2fmicrosoft-teams-how-to-send-a-message-card-to-a-user-from-an-external-app-witho%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54252789%2fmicrosoft-teams-how-to-send-a-message-card-to-a-user-from-an-external-app-witho%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you post your current code?
– Matthew Evans
2 days ago