
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
alloy-node
Advanced tools
This is a wrapper to interact with Alloy Automation's APIs. This library supports both Alloy Embedded and Alloy Unified API.
Visit the Alloy Docs site for more information on how to get started with Alloy APIs.
To get started, install alloy-node using npm as seen below:
npm install alloy-node --save
Or using yarn:
yarn add alloy-node
The alloy-node library allows you to configure the region for API requests using the setRegion method. This method sets the appropriate domain for all API calls based on the specified region (e.g., us or eu). If no region is provided, it defaults to us. The method updates the base URL for all services (User, App, Integration, Tokens, Workflows, Events, Compliance, Logs, Credentials, Link, Analytics, and HeadlessInstallation).
Usage Example:
import { Embedded, UAPI } from 'alloy-node';
// Initialize the API client
const apiClient = new Embedded('MY_API_KEY...');
// Set the region to 'eu' / 'us'
apiClient.setRegion(<Region>);
Notes:
us and eu. Attempting to set an invalid region will throw an error.setRegion before making any API requests to ensure the correct domain is used.us) is used.For more details, refer to the Alloy Docs.
The package needs to be configured with your account's API key, which is available in the Alloy Dashboard under settings. You must supply the API key with each instantiation of the module.
To set up Alloy's Unified API, use the code snippet below:
import { Embedded, UAPI } from 'alloy-node';
const apiClient = new UAPI('MY_API_KEY...');
// Set the region to 'eu' / 'us'
apiClient.setRegion(<Region>);
To make API calls to Unified API, you must first create a user. To create a user, call the User.createUser() method as seen below. You must pass a unique username.
let bodyData = {
username: `gregg321`,
};
let data = await apiClient.User.createUser(bodyData);
Before you make your first API call, you will need to obtain a connectionId. A connectionId represents the unique identifier of an app you plan to make API calls to. You can obtain a connectionId by using the frontend SDK. Read more here.
Once you have the connectionId, call the connect() method as seen below.
await apiClient.connect(YOUR_CONNECTION_ID);
Once you have a connectionId, you can start making calls to Alloy Unified API. See the example below for making a request to the Commerce Unified API:
let data = await apiClient.Commerce.listCustomers();
Alloy Unified API currently offers three models:
| Model | Docs |
|---|---|
Commerce | here |
Accounting | here |
CRM | here |
To set up Alloy's Embedded iPaaS, use the code snippet below:
import { Embedded } from 'alloy-node';
const apiClient = new Embedded('MY_API_KEY...');
// Set the region to 'eu' / 'us'
apiClient.setRegion(<Region>);
Similar to Unified API, in order to make API calls to Alloy Embedded, you must first create a user. To create a user in Embedded, call the User.createUser() method as seen below. You must pass a unique username.
let bodyData = {
username: `sara456`,
};
let data = await apiClient.User.createUser(body);
Once you've created a user, you'll need to identify that user each time you make a call that requires a userId. Fortunately, the identify() method exists for this purpose.
Pass a userId to the identify() method as seen below:
await apiClient.identify('YOUR_USER_ID');
Before you can make API calls to Alloy Embedded, you will need to install a workflow using our frontend SDK. You can read more here.
Once you have a workflowId, you can make requests
await apiClient.identify('YOUR_USER_ID');
let data = await apiClient.Workflows.list();
This call will return all workflows relevant to the specified user.
You can start a headless installation by using the following function:
let data = await apiClient.HeadlessInstallation.start({
integrationId: 'YOUR_INTEGRATION_ID',
userId: 'YOUR_USER_ID',
});
You can complete a headless installation by using the following function:
let data = await apiClient.HeadlessInstallation.complete({
installationId: 'YOUR_INSTALLION_ID',
data: {
// Your installation data
},
});
FAQs
Run Alloy workflows from a nodejs server
The npm package alloy-node receives a total of 772 weekly downloads. As such, alloy-node popularity was classified as not popular.
We found that alloy-node demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.