What do you want to automate

with OpenSRS and Google Dialogflow?

Prompt, edit and deploy AI agents that connect to OpenSRS, Google Dialogflow and 2,500+ other apps in seconds.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Create Context with Google Dialogflow API on New DNS Zone Change from OpenSRS API
OpenSRS + Google Dialogflow
 
Try it
Create Context with Google Dialogflow API on New Domain Registration from OpenSRS API
OpenSRS + Google Dialogflow
 
Try it
Create Context with Google Dialogflow API on New Transfer Status from OpenSRS API
OpenSRS + Google Dialogflow
 
Try it
Create Entities with Google Dialogflow API on New DNS Zone Change from OpenSRS API
OpenSRS + Google Dialogflow
 
Try it
Create Entities with Google Dialogflow API on New Domain Registration from OpenSRS API
OpenSRS + Google Dialogflow
 
Try it
New DNS Zone Change from the OpenSRS API

Emit new event when the DNS/ZONE check has passed or failed at the registry. See the documentation

 
Try it
New Domain Registration from the OpenSRS API

Emit new event for each new domain registration. See the documentation

 
Try it
New Transfer Status from the OpenSRS API

Emit new event when the status of a domain transfer changes. See the documentation

 
Try it
Initiate Domain Transfer with the OpenSRS API

Initiate a domain transfer to OpenSRS. See the documentation

 
Try it
Create Context with the Google Dialogflow API

Creates a context, See REST docs and client API

 
Try it
Create Entities with the Google Dialogflow API

Batch create entities, See REST docs and client API docs

 
Try it
Create Entity Type with the Google Dialogflow API

Creates an Entity Type, See REST docs and client API docs

 
Try it
Create Intent with the Google Dialogflow API

Creates an intent, See REST docs and client API

 
Try it
Integrate the OpenSRS API with the Google Dialogflow API
Setup the OpenSRS API trigger to run a workflow which integrates with the Google Dialogflow API. Pipedream's integration platform allows you to integrate OpenSRS and Google Dialogflow remarkably fast. Free for developers.

Connect OpenSRS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import { axios } from "@pipedream/platform";
import crypto from 'crypto';

export default defineComponent({
  props: {
    opensrs: {
      type: "app",
      app: "opensrs",
    }
  },
  async run({steps, $}) {
		const connectionDetails = {
			reseller_username: this.opensrs.$auth.reseller_username,
			api_key: this.opensrs.$auth.api_key,
			api_host_port: this.opensrs.$auth.api_host_port
		};

    //Payload of the request
		const xml = `<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
    <version>0.9</version>
</header>
<body>
<data_block>
    <dt_assoc>
        <item key="protocol">XCP</item>
        <item key="action">LOOKUP</item>
        <item key="object">DOMAIN</item>
        <item key="attributes">
         <dt_assoc>
                <item key="domain">${this.opensrs.$auth.domain}</item>
         </dt_assoc>
        </item>
    </dt_assoc>
</data_block>
</body>
</OPS_envelope>`;

		// Generate signature
		const generateSignature = (xml, apiKey) => {
			let md5 = crypto.createHash('md5');
			md5.update(xml + apiKey);
			let firstHash = md5.digest('hex');

			md5 = crypto.createHash('md5');
			md5.update(firstHash + apiKey);
			return md5.digest('hex');
		};
		const signature = generateSignature(xml, connectionDetails.api_key);

		// Prepare and call OpenSRS API
		const headers = {
			'Content-Type': 'text/xml',
			'X-Username': connectionDetails.reseller_username,
			'X-Signature': signature
		};

		return await axios($, {
			method: "POST",
			url: connectionDetails.api_host_port,
			headers,
			data: xml
		});
  },
})

Overview of Google Dialogflow

Google Dialogflow API empowers you to create conversational interfaces for websites, apps, and messaging platforms. Think chatbots that can engage in human-like dialogue, provide customer support, guide through sales processes, or control smart home devices with voice commands. With Pipedream's integration capabilities, you can create automated workflows that trigger actions in other apps based on Dialogflow's processed input, enabling seamless interaction across a plethora of services.

Connect Google Dialogflow

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
module.exports = defineComponent({
  props: {
    google_dialogflow: {
      type: "app",
      app: "google_dialogflow",
    }
  },
  async run({steps, $}) {
    // Example code from the Dialogflow Node.js library:
    // https://github.com/googleapis/nodejs-dialogflow
    const dialogflow = require('dialogflow')
    const uuid = require('uuid')
    
    // A unique identifier for the given session
    const sessionId = uuid.v4()
    
    const key = JSON.parse(this.google_dialogflow.$auth.key_json)
     
    // Creates a session client from a Google service account key.
    const sessionClient = new dialogflow.SessionsClient({
      projectId: key.project_id,
      credentials: {
        client_email: key.client_email,
        private_key: key.private_key,
      }
    })
    const sessionPath = sessionClient.sessionPath(key.project_id, sessionId)
    
    // The text query request.
    const request = {
      session: sessionPath,
      queryInput: {
        text: {
          // The query to send to the dialogflow agent
          text: 'hello',
          // The language used by the client (en-US)
          languageCode: 'en-US',
        },
      },
    }
    
    // Send request and log result
    const responses = await sessionClient.detectIntent(request)
    console.log('Detected intent')
    const result = responses[0].queryResult
    console.log(`Query: ${result.queryText}`)
    console.log(`Response: ${result.fulfillmentText}`)
    if (result.intent) {
      console.log(`Intent: ${result.intent.displayName}`)
    } else {
      console.log(`No intent matched.`)
    }
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo