I can't seem to successfully send a handoff request in Bot Framework Composer. On clicking "Start bot" I get the error Error: Dialog.onComputeId(): not implemented.
Full error log:
Error occurred building the bot
Error: Dialog.onComputeId(): not implemented.
at SendHandoffActivity.onComputeId (C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs\lib\dialog.js:336:15)
at SendHandoffActivity.get id [as id] (C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs\lib\dialog.js:133:29)
at C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs-adaptive\lib\actions\actionScope.js:276:57
at Array.map (<anonymous>)
at ActionScope.onComputeId (C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs-adaptive\lib\actions\actionScope.js:276:34)
at ActionScope.get id [as id] (C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs\lib\dialog.js:133:29)
at DialogSet.add (C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs\lib\dialogSet.js:126:71)
at C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs-adaptive\lib\adaptiveDialog.js:140:75
at Array.forEach (<anonymous>)
at AdaptiveDialog.ensureDependenciesInstalled (C:\Users\User\Handoff\Handoff\node_modules\botbuilder-dialogs-adaptive\lib\adaptiveDialog.js:140:43)
The bot is an empty bot with a "Send a handoff request" in "Unknown intent". Full bot code:
{
"$kind": "Microsoft.AdaptiveDialog",
"$designer": {
"name": "Handoff",
"description": "",
"id": "A79tBe"
},
"autoEndDialog": true,
"defaultResultProperty": "dialog.result",
"triggers": [
{
"$kind": "Microsoft.OnConversationUpdateActivity",
"$designer": {
"id": "376720"
},
"actions": [
{
"$kind": "Microsoft.Foreach",
"$designer": {
"id": "518944",
"name": "Loop: for each item"
},
"itemsProperty": "turn.Activity.membersAdded",
"actions": [
{
"$kind": "Microsoft.IfCondition",
"$designer": {
"id": "641773",
"name": "Branch: if/else"
},
"condition": "=string(dialog.foreach.value.id) != string(turn.Activity.Recipient.id)",
"actions": [
{
"$kind": "Microsoft.SendActivity",
"$designer": {
"id": "859266",
"name": "Send a response"
},
"activity": "${SendActivity_Greeting()}"
}
]
}
]
}
]
},
{
"$kind": "Microsoft.OnUnknownIntent",
"$designer": {
"id": "mb2n1u"
},
"actions": [
{
"$kind": "Microsoft.SendHandoffActivity",
"$designer": {
"id": "74xAHm"
},
"context": {
"context": "c"
},
"transcript": {
"transcript": "t"
}
}
]
}
],
"generator": "Handoff.lg",
"id": "Handoff",
"recognizer": "Handoff.lu.qna"
}
I haven't found anything on Google/Stack Overflow. Any help would be appreciated.
According to Hand off to human or virtual agent, You need to install an appropriate handoff package for the platform that you wish to have conversations handed off to when you use a Send a handoff request activity.
The following are available handoff packages
ServiceNow
LivePerson
Related
From https://dev.teams.microsoft.com/, whenever I click "Preview in Teams", it shows an error in Teams with these details copied to the clipboard: "Error while reading manifest.json". If I download the app package and "upload a custom app" I get the same error. What can I do to resolve this? If I remove the messaging extension configuration, it works but I configured that part in their app and that's what I want to build.
This is my manifest file:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
"version": "1.0.0",
"manifestVersion": "1.11",
"id": "3fXXXX",
"packageName": "com.package.name",
"name": {
"short": "Domo Integration",
"full": ""
},
"developer": {
"name": "Domo Inc.",
"mpnId": "",
"websiteUrl": "https://www.domo.com",
"privacyUrl": "https://www.domo.com/company/privacy-policy",
"termsOfUseUrl": "https://www.domo.com/company/service-terms"
},
"description": {
"short": "short",
"full": "full"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#FFFFFF",
"composeExtensions": [
{
"botId": "deXXXXXXXX",
"commands": [],
"canUpdateConfiguration": true,
"messageHandlers": [
{
"type": "link",
"value": {
"domains": [
"*.domo.com"
]
}
}
]
}
],
"validDomains": [
"*.domo.com"
]
}
#ccnokes In order to use messaging extension in your bot, you need to provide at least one command. commands is required property in composeExtension - see doc.
I was also getting the same error when tried with your manifest but after adding commands it worked totally fine.
When I try to use this app.json:
{
"stack": "heroku-18",
"repository": "https://github.com/OpenHumans/oh-data-source-template",
"logo": "https://avatars.githubusercontent.com/u/3341265?s=280&v=4",
"scripts": {
"postdeploy": "python manage.py init_proj_config"
},
"env": {
"SECRET_KEY": {
"description": "This is set for you and is used to encrypt data.",
"generator": "secret"
},
"OH_CLIENT_ID": {
"description": "See http://openhumans.org/direct-sharing/projects/manage",
"value": ""
},
"OH_CLIENT_SECRET": {
"description": "See http://openhumans.org/direct-sharing/projects/manage",
"value": ""
},
"OH_ACTIVITY_PAGE": {
"description": "See http://openhumans.org/direct-sharing/projects/manage",
"value": ""
},
"APP_BASE_URL ": {
"description": "e.g. https://your-app-name.herokuapp.com - no trailing slash!",
"value": "https://your-app-name.herokuapp.com"
},
"DEBUG": {
"description": "Displays detailed error info for web requests. Set False in production.",
"value": "false"
},
"HEROKU_APP": {
"description": "If true, ALLOWED_HOSTS is set to all.",
"value": "true"
}
},
"addons": [
"coralogix:free-30mbday",
"heroku-redis:hobby-dev",
{
"plan": "heroku-postgresql",
"options": {
"version": "9.5"
}
}
]
}
to deploy from:
https://dashboard.heroku.com/new?template=https%3A%2F%2Fgithub.com%2Fmikepsinn%2Foh-quantimodo-source
I get the error no matter what I set the name to:
I've tried adding the optional name field to the app.json but that doesn't help either.
I am following the Readme to get the microsoft-teams-sample-meetings-token app running locally .
I got the app from github https://github.com/OfficeDev/microsoft-teams-sample-meetings-token
Most of the steps completed without issue, until loading the custom app manifest,
I got an error like this
"Manifest parsing has failed.
For more information, please visit aka.ms/teamsdocs"
my manifest look like below. how can I tell what's wrong with tis manifest?
{
"$schema": "https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json",
"manifestVersion": "devPreview",
"version": "1.0.0",
"id": "addac13a-3ab7-43af-8cdb-feb5248cf08a",
"packageName": "com.microsoft.teams.sample.meetingtoken",
"webApplicationInfo": {
"id": "addac13a-3ab7-43af-8cdb-feb5248cf08a",
"resource": "api://32c70efa94ea.ngrok.io"
},
"developer": {
"name": "[companyName]",
"websiteUrl": "[websiteUrl]",
"privacyUrl": "[privacyUrl]",
"termsOfUseUrl": "[termsOfUseUrl]"
},
"name": {
"short": "Meeting Token App"
},
"description": {
"short": "Meeting Token App",
"full": "Token app optimized for meetings to generate sequential tokens for participants"
},
"icons": {
"outline": "icon-outline.png",
"color": "icon-color.png"
},
"accentColor": "#ffffff",
"configurableTabs": [
{
"configurationUrl": "https://32c70efa94ea.ngrok.io/configure.html",
"canUpdateConfiguration": true,
"scopes": [
"groupchat"
],
"context": [
"meetingChatTab",
"meetingDetailsTab",
"meetingSidePanel"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"32c70efa94ea.ngrok.io"
],
"bots": [
{
"botId": "addac13a-3ab7-43af-8cdb-feb5248cf08a",
"scopes": [
"groupchat"
],
"needsChannelSelector": false,
"isNotificationOnly": false,
"supportsFiles": false,
"commandLists": [
{
"scopes": [
"groupchat"
],
"commands": [
{
"title": "reset",
"description": "reset the settings for the bot in the service"
}
]
}
]
}
]
}
If you haven't tried already, one useful way of finding specific issues with the app manifest is to add "App Studio" as an app in teams.
You should see the manifests you've been working with - if you go to "Test and distribute" it will parse your manifest and point out any potential problems.
I'm currently seeing this error when I try and save my connector configuration:
21T21:05:12.087Z ngClickDecorator: value not found in enum type. value:
and
21T21:05:12.155Z Received error from connectors {"seq":1611247472155,"timestamp":1611263112143,"flightSettings": {"Name":"ConnectorFrontEndSettings","AriaSDKToken":"d127f72a3abd41c9b9dd94faca947689-d58285e6-3a68-4cab-a458-37b9d9761d35-7033","SPAEnabled":true,"ClassificationFilterEnabled":true,
"ClientRoutingEnabled":true,"EnableYammerGroupOption":true,
"EnableFadeMessage":false,"EnableDomainBasedOwaConnectorList":false,
"EnableDomainBasedTeamsConnectorList":false,"DevPortalSPAEnabled":true,
"ShowHomeNavigationButtonOnConfigurationPage":false,"DisableConnectToO365InlineDeleteFeedbackPage":true},"status":500,"clientType":"SkypeSpaces",
"connectorType":"c6adb316-46b2-4e46-a511-8b4947b3d554","name":"handleMessageError"}
And the SO post: Can't save custom connector configuration is very close to my problem however I have added my configurationURL to my valid domains, and removed mine from the manifest but with still no luck. I'm all set up on my permissions as well unless there is something specific I am missing to configure?
Any suggestions, below is my manifest and code:
Manifest:
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
"manifestVersion": "1.8",
"version": "1.0.3",
"showLoadingIndicator": true,
"isFullScreen": true,
"id": "c6adb316-46b2-4e46-a511-8b4947b3d554",
"packageName": "com.test",
"developer": {
"name": "Test, Inc",
"websiteUrl": "https://test.com",
"privacyUrl": "https://test.com/privacy",
"termsOfUseUrl": "https://test.com/toc"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"connectors": [
{
"connectorId": "c6adb316-46b2-4e46-a511-8b4947b3d554",
"scopes": [
"team"
],
"configurationUrl": "https://localdev-test.test.com/connector"
}
],
"name": {
"short": "Test Development",
"full": "Test for Microsoft Teams"
},
"description": {
"short": "Test Development",
"full": "Test for Microsoft Teams"
},
"accentColor": "#FFFFFF",
"staticTabs": [
{
"entityId": "22f101b6-f9a2-44d3-8eba-74309295f398",
"scopes": [
"personal"
],
"context":[
"personalTab",
"channelTab"
],
"name": "TestSite",
"contentUrl": "https://localdev-test.test.com",
"websiteUrl": "https://localdev-test.test.com",
"searchUrl": "https://localdev-test.test.com"
}
],
"devicePermissions": [
"notifications",
"openExternal"
],
"permissions": [
"identity",
"messageTeamMembers"
]
}
Code:
ngOnInit(): void {
microsoftTeams.initialize();
microsoftTeams.settings.registerOnSaveHandler((saveEvent) => {
microsoftTeams.settings.setSettings({
entityId: 'Create',
contentUrl: 'https://localdev-test.test.com/connector',
removeUrl: 'https://localdev-test.test.com/connector',
configName: 'Create'
});
microsoftTeams.settings.getSettings((settings) => {
this.webhookUrl = settings.webhookUrl;
localStorage.setItem('connectorWebHook', this.webhookUrl);
});
saveEvent.notifySuccess();
});
}
onClick(): void {
if (!this.webhookUrl) {
microsoftTeams.settings.setValidityState(true);
}
}
This is a Microsoft Bug, the "Configuration page for your Connector" on the Connector Portal is immutable (even though it is in an edit field). Meaning that the URL you set on the creation of the Connector can not change through development or you will get this error. So just making a new connector through the portal with my changed configuration URL fixed my problem.
A comment on their git points to this as well: https://github.com/MicrosoftDocs/msteams-docs/issues/1738#issuecomment-647675420
I'm having an error with a custom bot when I send an adaptative card to a meeting and a guest tries to submit an answer. It works when a logged user tries to submit it. It used to work perfectly with a Guest. It seems like the problem is something about the bot login process.
Uncaught TypeError: Cannot read property '*BotId*' of undefined
at t.recordBotMriUsage (3.2-app.min-2477809.js:4)
at _.debounce.trailing (3.2-app.min-2477809.js:3)
at e (2-vendor.min-9ae85bb.js:64)
at f (2-vendor.min-9ae85bb.js:65)
at t.e.buttonClicked (3.2-app.min-2477809.js:3)
at o (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at c (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at t.handleOnExecuteAction (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at adaptiveCard.onExecuteAction (lazy-ng1-mod-adaptive-card-components.min-1b02b78.js:1)
at p (3.2-app.min-2477809.js:3)
Failed to get app entitlement for botId 28:*BotId*
500 Invoke failed due to internal error: Invoke failed: something went wrong in ProcessInvoke
[BotCardService::onButtonClicked_messageback()] sendInvoke failed: {"statusCode":500,"headers":{"cache-control":"no-store, must-revalidate, no-cache","content-length":"119","content-type":"application/json; charset=utf-8","contextid":"tcid=******,server=*****,cv=*******/hfA.1.0","pragma":"no-cache","set-registrationtoken":"**redacted**"},"errorMessage":"Error Code: 500 ","errorCode":500,"request":{}}
error log
EDIT: Here is the manifest.json of the app
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",
"version": "1.0.0",
"id": "redacted",
"packageName": "redacted",
"developer": {
"name": "redacted",
"websiteUrl": "redacted",
"privacyUrl": "redacted",
"termsOfUseUrl": "redacted"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "redacted",
"full": "redacted"
},
"description": {
"short": "redacted",
"full": "redacted"
},
"accentColor": "#FFFFFF",
"bots": [
{
"botId": "redacted",
"scopes": ["personal", "groupchat"],
"supportsFiles": false,
"isNotificationOnly": false
}
],
"composeExtensions": [
{
"botId": "redacted",
"canUpdateConfiguration": true,
"commands": [
{
"id": "getPollCM",
"type": "action",
"title": "Generar encuesta prestador",
"description": "Genera una encuesta para prestadores",
"initialRun": true,
"fetchTask": false,
"context": ["commandBox", "compose"],
"parameters": [
{
"name": "NIT",
"title": "NIT del prestador",
"description": "Solo nĂºmeros",
"inputType": "text"
}
]
}
]
}
],
"permissions": ["identity", "messageTeamMembers"],
"validDomains": ["redacted"]
}