{"id":15524368,"url":"https://github.com/codeforequity-at/botium-connector-botframework","last_synced_at":"2025-04-11T03:02:16.197Z","repository":{"id":57190215,"uuid":"315716425","full_name":"codeforequity-at/botium-connector-botframework","owner":"codeforequity-at","description":"Botium Connector for Bot Framework Endpoints","archived":false,"fork":false,"pushed_at":"2021-11-18T11:27:49.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-25T00:42:39.206Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.botium.ai","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeforequity-at.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-24T18:14:59.000Z","updated_at":"2022-02-09T12:48:44.000Z","dependencies_parsed_at":"2022-08-27T10:41:39.058Z","dependency_job_id":null,"html_url":"https://github.com/codeforequity-at/botium-connector-botframework","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforequity-at%2Fbotium-connector-botframework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforequity-at%2Fbotium-connector-botframework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforequity-at%2Fbotium-connector-botframework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforequity-at%2Fbotium-connector-botframework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeforequity-at","download_url":"https://codeload.github.com/codeforequity-at/botium-connector-botframework/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248333605,"owners_count":21086199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T10:51:05.553Z","updated_at":"2025-04-11T03:02:16.167Z","avatar_url":"https://github.com/codeforequity-at.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Botium Connector for Bot Framework Endpoints\n\n[![NPM](https://nodei.co/npm/botium-connector-botframework.png?downloads=true\u0026downloadRank=true\u0026stars=true)](https://nodei.co/npm/botium-connector-botframework/)\n\n[![Codeship Status for codeforequity-at/botium-connector-botframework](https://app.codeship.com/projects/b026e4e0-f835-4c2f-8905-1e36d8d6e022/status?branch=main)](https://app.codeship.com/projects/419747)\n[![npm version](https://badge.fury.io/js/botium-connector-botframework.svg)](https://badge.fury.io/js/botium-connector-botframework)\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg)]()\n\nThis is a [Botium](https://github.com/codeforequity-at/botium-core) connector for testing your Bot Framework endpoint.\n\n__Did you read the [Botium in a Nutshell](https://medium.com/@floriantreml/botium-in-a-nutshell-part-1-overview-f8d0ceaf8fb4) articles? Be warned, without prior knowledge of Botium you won't be able to properly use this library!__\n\n## How it works\nBotium connects to your Bot Framework endpoint and receives responses with the _serviceUrl_ property.\n\nIt can be used as any other Botium connector with all Botium Stack components:\n* [Botium CLI](https://github.com/codeforequity-at/botium-cli/)\n* [Botium Bindings](https://github.com/codeforequity-at/botium-bindings/)\n* [Botium Box](https://www.botium.ai)\n\n## Requirements\n* **Node.js and NPM**\n* a **Bot Framework endpoint**\n* a **project directory** on your workstation to hold test cases and Botium configuration\n\n## Install Botium and Bot Framework Connector\n\nWhen using __Botium CLI__:\n\n```\n\u003e npm install -g botium-cli\n\u003e npm install -g botium-connector-botframework\n\u003e botium-cli init\n\u003e botium-cli run\n```\n\nWhen using __Botium Bindings__:\n\n```\n\u003e npm install -g botium-bindings\n\u003e npm install -g botium-connector-botframework\n\u003e botium-bindings init mocha\n\u003e npm install \u0026\u0026 npm run mocha\n```\n\nWhen using __Botium Box__:\n\n_Already integrated into Botium Box, no setup required_\n\n## Connecting Bot Framework to Botium\n\nCreate a botium.json with the the URL of your Bot Framework endpoint in your project directory:\n\n```\n{\n  \"botium\": {\n    \"Capabilities\": {\n      \"PROJECTNAME\": \"\u003cwhatever\u003e\",\n      \"CONTAINERMODE\": \"botframework\",\n      \"BOTFRAMEWORK_ENDPOINTURL\": \"https://demo.botiumbox.com/mockbot/api/messages\",\n      \"BOTFRAMEWORK_SERVICEURL\": \"https://xxxxxxxxx.ngrok.io\"\n    }\n  }\n}\n```\n\n## How to start sample\n\ntbd\n\n## Finetuning Bot Framework Activity\n\nFor finetuning the [Activity object](https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#activity-object) sent to your bot, you can use the [UPDATE_CUSTOM logic hook](https://botium-docs.readthedocs.io/en/latest/05_botiumscript/index.html?#update-custom). This example will add some custom values to the [channelData](https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-connector-channeldata?view=azure-bot-service-4.0):\n\n    #me\n    do some channel specific thingy ...\n    UPDATE_CUSTOM SET_ACTIVITY_VALUE|channelData|{\"channelData1\": \"botium\", \"channelData2\": \"something else\"}\n\nThe parameters are:\n1. SET_ACTIVITY_VALUE\n2. The path to the activity field\n3. The value of the activity field\n\n## Supported Capabilities\n\nSet the capability __CONTAINERMODE__ to __botframework__ to activate this connector.\n\n### BOTFRAMEWORK_ENDPOINTURL\nBot Framework Endpoint URL, typically ending in _/api/messages_\n\n### BOTFRAMEWORK_SERVICEURL\nThe URL where the Botium Inbound Url is available, as seen from the Bot Framework app\n\n### BOTFRAMEWORK_APP_ID and BOTFRAMEWORK_APP_SECRET\nIf your Bot Framework app runs with app id and app secret, Botium will create an authorization token.\n\n### BOTFRAMEWORK_CHANNELID\n_Default: emulator_\n\n### BOTFRAMEWORK_RECIPIENTID\n_Default: generated unique id_\n\n### BOTFRAMEWORK_RECIPIENTNAME\n_Default: Bot_\n\n### BOTFRAMEWORK_MEMBERID\n_Default: generated unique id_\n\n### BOTFRAMEWORK_MEMBERNAME\n_Default: Botium_\n\n### BOTFRAMEWORK_BUTTON_TYPE and BOTFRAMEWORK_BUTTON_VALUE_FIELD\n_Default type: event_\n\n_Default field: name_\n\nActivity fields to use for simulating button clicks by the user. Depending on your implementation, you maybe have to change the activity type or the field to use - see [here](https://docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-backchannel) for some ideas.\n\nUsually, the activity type is _event_, and the button value is submitted in the _name_ field, but using those capabilities you can adapt it to your implementation.\n\n_Note: if you want to disable this, then set BOTFRAMEWORK_BUTTON_TYPE to \"message\" and BOTFRAMEWORK_BUTTON_VALUE_FIELD to \"text\", to make the button clicks appear as normal user text input_\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeforequity-at%2Fbotium-connector-botframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeforequity-at%2Fbotium-connector-botframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeforequity-at%2Fbotium-connector-botframework/lists"}