Released new Plugin for the integration of Google's DialogFlow

DialogFlowBot Plugin Readme


DialogFlowBot is an autoresponder that can be used to respond to incoming messages using Googles DialogFlow Service.

JAR : Email me at to get the jar (I’m not able to upload a jar here as its restricting new user to upload files)

DialogFlowBot properties

There are few properties that can be defined to change plugin behaviour:

  • plugin.dialog_flow_bot.debug - enable debug logs. If something doesn’t work set property to true
  • plugin.dialog_flow_bot.send_body - boolean value to determine if message’s body will be send. True by default.
  • plugin.dialog_flow_bot.google_json_path - Google Service Access Credentials json file path on openfire server (Eg. /var/www/GoogleDialogFlow.json)
  • plugin.dialog_flow_bot.project_id - Google Service ProjectID (INFO : Google HELP)
  • plugin.dialog_flow_bot.lang - string value, DialogFlow Agent Language. Default en-US
  • plugin.dialog_flow_bot.responder_jid - string value, From JabberID (Response messages’s JID) Eg. admin@localhost
  • plugin.dialog_flow_bot.watch_all - boolean value, Process all incoming messages, Default: true (If set false it will only process the messages with the set keyword)
  • plugin.dialog_flow_bot.watch_keyword - string value, To use this set the watch_all to false (Message only with this set keyword will be processed)
  • plugin.dialog_flow_bot.min_confidence - float value, This is the DialogFlows responses minimum confidence value for the result. If it matches only then the Bot will respond to message

Note: After changing the above setting you need to restart the plugin to apply the changes.

Response message Stanza

<body xmlns=''>
	<message xmlns='jabber:client' to='' from='' type='chat'>
		<body>This is a text response</body>
		<data xmlns='dialogflowbot'>{
		  "queryText": " 03:10 me: @bot tell me weather forcast of nyc?",
		  "parameters": {
		  "allRequiredParamsPresent": true,
		  "fulfillmentText": "This is a text response",
		  "fulfillmentMessages": [{
		    "text": {
		      "text": ["This is a text response"]
		  "webhookSource": "webhook",
		  "webhookPayload": {
		    "items": {
		      "": {
		        "temperature": "25°C",
                        "wind": "12 mph NE"
		    "status_code": 200.0,
		    "success": true,
		    "message": ""
		  "intent": {
		    "name": "projects/yourproject-201104/agent/intents/da95ae2f-32e1-4870-b49b-c3686e6e8f5c",
		    "displayName": "market-today"
		  "intentDetectionConfidence": 0.88,
		  "diagnosticInfo": {
		    "webhook_latency_ms": 1154.0
		  "languageCode": "en-us"

Author/Developer: Himanshu Verma

1 Like