with DailyBot and OpenSRS?
Emit new event when a user from your organization completes a response to a check-in in DailyBot.
Emit new event when the DNS/ZONE check has passed or failed at the registry. See the documentation
Emit new event when a response is added to a form in DailyBot by any user from your organization or an external user.
Emit new event for each new domain registration. See the documentation
Emit new event every time any kudos are given to someone in your DailyBot organization.
Sends kudos to selected user(s) using DailyBot. See the documentation
Initiate a domain transfer to OpenSRS. See the documentation
Dispatches a message to designated users or groups in DailyBot. Required are the message content and recipients' IDs, and channels or rooms are optional targets. See the documentation
Update DNS records for a specified domain. See the documentation
The DailyBot API on Pipedream opens up a world of possibilities for automating team interactions and enhancing productivity. With DailyBot, you can create custom workflows to automate stand-ups, collect feedback, run polls, and send reminders. By leveraging Pipedream's seamless connections with other apps and services, you can integrate DailyBot into your existing tools and streamline your team's communication processes without writing extensive code.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
dailybot: {
type: "app",
app: "dailybot",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.dailybot.com/v1/me/`,
headers: {
"Accept": `application/json`,
"X-API-KEY": `${this.dailybot.$auth.api_key}`,
},
})
},
})
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
});
},
})