{"id":31923183,"url":"https://github.com/rocketchat/apps.dialogflow","last_synced_at":"2025-10-13T23:44:53.365Z","repository":{"id":40479584,"uuid":"267671618","full_name":"RocketChat/Apps.Dialogflow","owner":"RocketChat","description":"Integration between Rocket.Chat and the Dialogflow Chatbot platform","archived":false,"fork":false,"pushed_at":"2023-07-24T21:11:01.000Z","size":338,"stargazers_count":9,"open_issues_count":19,"forks_count":16,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-05-01T11:29:29.092Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RocketChat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-28T18:56:28.000Z","updated_at":"2023-04-27T21:22:06.000Z","dependencies_parsed_at":"2023-01-19T19:55:02.279Z","dependency_job_id":null,"html_url":"https://github.com/RocketChat/Apps.Dialogflow","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/RocketChat/Apps.Dialogflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2FApps.Dialogflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2FApps.Dialogflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2FApps.Dialogflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2FApps.Dialogflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RocketChat","download_url":"https://codeload.github.com/RocketChat/Apps.Dialogflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RocketChat%2FApps.Dialogflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017231,"owners_count":26086016,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-10-13T23:44:43.056Z","updated_at":"2025-10-13T23:44:53.358Z","avatar_url":"https://github.com/RocketChat.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apps.Dialogflow\nIntegration between Rocket.Chat and the Dialogflow Chatbot platform\n\n### Installation steps:\n\n 1. Clone this repo and Change Directory: \u003c/br\u003e\n `git clone https://github.com/RocketChat/Apps.Dialogflow.git \u0026\u0026 cd Apps.Dialogflow/`\n\n 2. Install the required packages from `package.json`: \u003c/br\u003e\n\t `npm install`\n\n 3. Deploy Rocket.Chat app: \u003c/br\u003e\n    `rc-apps deploy --url http://localhost:3000 --username user_username --password user_password`\n    Where:\n    - `http://localhost:3000` is your local server URL (if you are running in another port, change the 3000 to the appropriate port)\n    - `user_username` is the username of your admin user.\n    - `user_password` is the password of your admin user.\n\n    For more info refer [this](https://rocket.chat/docs/developer-guides/developing-apps/getting-started/) guide\n\n### How to get Google Credential File or Private key file\n\nIn order to connect to Dialogflow, this app requires a following credentials from Dialogflow.\n\n    1. Project Id\n    2. Client email\n    3. Private Key\n\nYou can find all these credentials in a JSON file, which u can get from [here](https://cloud.google.com/dialogflow/docs/quick/setup#sa-create). Under `Create a service account and download the private key file` section there, you will find detailed instruction about how to get the JSON file. After obtaining this JSON file, you can proceed to the next section.\n\n\n### Rocket.Chat Apps Setup\n\n1. First go ahead n create a Bot User. Login as administrator, then goto `Setting \u003e Users`. There create a new Bot User. This new user should have these 2 roles.\u003c/br\u003e\n    1. bot\n    2. livechat-agent\n\n2. Then configure the app to automatically assign a livechat-visitor to this bot. To do so, goto `Setting \u003e Livechat \u003e Routing` or `Setting \u003e Omnichannel \u003e Routing`. There enable `Assign new conversations to bot agent` Setting.\n\n3. The app needs some configurations to work, so to setup the app Go to `Setting \u003e Apps \u003e Dialogflow`. There, fill all the necessary fields in `SETTINGS` and click SAVE. Note all fields are required.\n\n    Some of the fields in `SETTING` include\n    1. Bot Username (required)\n        - This should contain the same bot username which we created above in Step 1\n    2. Project Id (required)\n        - This corresponds to `project_id` property of the Google Credentials File obtained from `Rocket.Chat Apps Setup` section above\n    3. Client Email (required)\n        - This corresponds to `client_email` property of the Google Credentials File obtained from `Rocket.Chat Apps Setup` section above\n    4. Private Key (required)\n        - This corresponds to `private_key` property of the Google Credentials File obtained from `Rocket.Chat Apps Setup` section above.\n        - Kindly note that this value will be very long. So please take extra care while copy/paste.\n    5. Fallback Responses Limit (optional)\n        - The app will automatically trigger handover if consecutive `fallback` intents are triggered `N` no of times. This setting defines this value `N`.\n        - Eg. Suppose the bot is not able to answer visitor's consecutive 3 answers, and this setting threshold is `3`. In such case, the app will trigger an handover to an online agent on its own.\n        - To Deactivate this feature, simply set the value to `0`.\n    6. Target Department for Handover (optional)\n        - Enter the department name where you want the visitor to be transferred upon handover.\n    7. Handover Message (optional)\n        - The Bot will send this message to Visitor upon handover\n    8. Service Unavailable Message (optional)\n        - The Bot will send this message to Visitor if service is unavailable like suppose if no agents are online.\n    9. Close Chat Message (optional)\n        - This message will be sent automatically when a chat is closed\n    10. Hide Quick Replies (required)\n        - If enabled, then all quick-replies will hide when a visitor clicks on any one of them\n\n4. (Optional Step) Lastly you can test your Dialogflow Connection by viewing App Logs. To view the logs, goto App Page (`Setting \u003e Apps \u003e Dialogflow`). There click on menu item (3 vertical dots icon) and then select `View Logs`. There select the **most recent** `onSettingUpdated` title. If you see `------------------ Google Credentials validation Success ----------------` message, then it means your setup is fine. If you don't see this message, then recheck your Dialogflow credentials.\n\n### Dialogflow's API\n\nThe app provides API to trigger specific actions. The URL for the API can be found on the Apps Page(`Setting \u003e Apps \u003e Dialogflow`). Currently the app provides 2 APIs.\n\n1. Incoming API/Endpoint\n\n    This endpoint can be used to trigger specific actions. The list of supported actions include\n    1. **Close Chat**\u003cbr/\u003e\n        To close a chat\n        - REST API Documentation for this endpoint can be found [here](./docs/api-endpoints/close-chat.md)\n    2. **Handover**\u003cbr/\u003e\n        To perform a handover\n        - REST API Documentation for this endpoint can be found [here](./docs/api-endpoints/perform-handover.md)\n    3. **Trigger Event**\u003cbr/\u003e\n        To trigger an event on Dialogflow\n        - REST API Documentation for this endpoint can be found [here](./docs/api-endpoints/trigger-event.md)\n    4. **Send-Message**\u003cbr/\u003e\n        To send a message as a bot to Visitor\n        - REST API Documentation for this endpoint can be found [here](./docs/api-endpoints/send-message.md)\n2. Fulfillment API/Endpoint\n\n    The fulfillment endpoint will enable the app to handle asynchronous messages. More information on it [here](./docs/api-endpoints/fulfillment-endpoint.md)\n\n\n\n### Adding Quick Replies support to your Dialogflow Bot\n\n- To add quick Replies you can make use of `Custom-Payload` for Responses on Dialogflow Console. ( `Under any Intent \u003e Responses \u003e Add Responses \u003e Custom Payload` )\n- A box labelled `Custom Payload` will appear. There enter the `Quick Replies` you want following the format [here](./docs/QuickReplies.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketchat%2Fapps.dialogflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocketchat%2Fapps.dialogflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketchat%2Fapps.dialogflow/lists"}