What do you want to automate

with Plaid and OpenSRS?

Prompt, edit and deploy AI agents that connect to Plaid, OpenSRS 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 Access Token with Plaid API on New DNS Zone Change from OpenSRS API
OpenSRS + Plaid
 
Try it
Create Access Token with Plaid API on New Domain Registration from OpenSRS API
OpenSRS + Plaid
 
Try it
Create Access Token with Plaid API on New Transfer Status from OpenSRS API
OpenSRS + Plaid
 
Try it
Create Sandbox Public Token with Plaid API on New DNS Zone Change from OpenSRS API
OpenSRS + Plaid
 
Try it
Create Sandbox Public Token with Plaid API on New Domain Registration from OpenSRS API
OpenSRS + Plaid
 
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
New Accounts Available (Instant) from the Plaid API

Emit new event when there are new accounts available at the Financial Institution. See the documentation

 
Try it
New Event (Instant) from the Plaid API

Emit new event when there are changes to Plaid Items or the status of asynchronous processes. See the documentation

 
Try it
Create Access Token with the Plaid API

Exchange a Link public_token for an API access_token. See the documentation

 
Try it
Initiate Domain Transfer with the OpenSRS API

Initiate a domain transfer to OpenSRS. See the documentation

 
Try it
Create Sandbox Public Token with the Plaid API

Creates a valid public_token for an arbitrary institution ID, initial products, and test credentials. See the documentation

 
Try it
Create User with the Plaid API

Creates a user ID and token to be used with Plaid Check, Income, or Multi-Item Link flow. See the documentation

 
Try it
Get Real-Time Balance with the Plaid API

Get the real-time balance for each of an Item's accounts. See the documentation

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

Overview of Plaid

The Plaid API offers a multitude of financial data operations, enabling developers to manage and interact with user bank accounts, transactions, identity info, and more, all within a secure and compliant ecosystem. Integrating Plaid with Pipedream can unlock powerful automations, like syncing transaction data to accounting software, verifying user identities for KYC compliance, and automating financial alerts or reporting.

Connect Plaid

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
module.exports = defineComponent({
  props: {
    plaid: {
      type: "app",
      app: "plaid",
    }
  },
  async run({steps, $}) {
    const { Configuration, PlaidApi } = require('plaid');
    
    const client = new PlaidApi(
      new Configuration({
        basePath: this.plaid.$auth.environment,
        baseOptions: {
          headers: {
            'PLAID-CLIENT-ID': this.plaid.$auth.client_id,
            'PLAID-SECRET': this.plaid.$auth.client_secret,
          },
        },
      })
    );
    
    // Test request
    const request = {
      count: 10,
      offset: 0,
      country_codes: ['US'],
    };
    
    const response = await client.institutionsGet(request);
    return response.data.institutions;
  },
})

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
		});
  },
})

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