What do you want to automate

with Zoho Expense and OpenSRS?

Prompt, edit and deploy AI agents that connect to Zoho Expense, 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 Expense with Zoho Expense API on New DNS Zone Change from OpenSRS API
OpenSRS + Zoho Expense
 
Try it
Create Expense with Zoho Expense API on New Domain Registration from OpenSRS API
OpenSRS + Zoho Expense
 
Try it
Create Expense with Zoho Expense API on New Transfer Status from OpenSRS API
OpenSRS + Zoho Expense
 
Try it
Initiate Domain Transfer with OpenSRS API on Expense Report Approved from Zoho Expense API
Zoho Expense + OpenSRS
 
Try it
Initiate Domain Transfer with OpenSRS API on Expense Report Submitted from Zoho Expense API
Zoho Expense + OpenSRS
 
Try it
Expense Report Approved from the Zoho Expense API

Activate when an expense report approval takes place. See the Documentation

 
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
Expense Report Submitted from the Zoho Expense API

Activate when an expense report submission takes place. 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
Create Expense with the Zoho Expense API

Generate a new expense entry in the Zoho Expense system. See the Documentation

 
Try it
Initiate Domain Transfer with the OpenSRS API

Initiate a domain transfer to OpenSRS. See the documentation

 
Try it
Reject Travel Request with the Zoho Expense API

Disapprove a pending travel request in the system. See the Documentation

 
Try it
Register Domain with the OpenSRS API

Register a new domain. See the documentation

 
Try it
Update Expense Report with the Zoho Expense API

Alter details in an existing expense report. See the Documentation

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

Overview of Zoho Expense

The Zoho Expense API allows for streamlined management of expense reporting and tracking. With Pipedream, you can automate various tasks like submitting expenses, approving reports, or syncing expense data with other accounting tools. Pipedream's serverless platform enables you to create workflows that react to new expense submissions, scheduled report generation, and much more, without the hassle of managing infrastructure.

Connect Zoho Expense

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    zoho_expense: {
      type: "app",
      app: "zoho_expense",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `${this.zoho_expense.$auth.api_domain}/expense/v1/organizations`,
      headers: {
        "Authorization": `Zoho-oauthtoken ${this.zoho_expense.$auth.oauth_access_token}`,
      },
    })
  },
})

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