@jonmash/n8n-nodes-altium365
v0.1.2
Published
n8n community node for Altium 365 via Nexar API
Maintainers
Readme
@jonmash/n8n-nodes-altium365
This is an n8n community node that integrates n8n with Altium 365 via the Nexar GraphQL API.
n8n is a workflow automation platform with a visual editor.
Altium 365 is a cloud platform for electronics design collaboration.
Nexar API is the GraphQL API for programmatic access to Altium 365 data.
Features
Action Node (Altium 365)
Projects
- Get project by ID
- Get many projects (with pagination)
- Get latest commit for a project
- Get commit history for a project
- Update project parameters
Workspaces
- Get all workspaces
Trigger Node (Altium 365 Trigger)
Events
- Project Committed - Triggers when a project is committed (Git push detected)
- Monitor specific project or all projects in workspace
- Includes file change details
- Returns commit message, author, timestamp
- New Project - Triggers when a new project is created in the workspace
Installation
In n8n (recommended)
- Go to Settings > Community Nodes
- Select Install
- Enter
@jonmash/n8n-nodes-altium365in Enter npm package name - Agree to the risks of using community nodes
- Select Install
After installing the node, you can use it in your workflows.
Manual Installation
To install manually, navigate to your n8n installation directory and run:
npm install @jonmash/n8n-nodes-altium365For Docker-based deployments, add this to your package.json or Dockerfile.
Credentials
This node requires Altium 365 Nexar API credentials.
Setting up Nexar API Access
Sign up at Nexar Portal
- Go to portal.nexar.com
- Sign in with your Altium Live credentials (they link automatically)
Create an Application
- Click Create Application
- Give it a name (e.g., "n8n Integration")
- Enable the Design scope
- Save the application
Get Credentials
- Go to the Authorization tab
- Copy the Client ID
- Copy the Client Secret (guard this carefully!)
Find Your Workspace URL
- Your workspace URL follows the format:
https://YOURWORKSPACE.365.altium.com/ - You can find this in your Altium 365 web interface URL
- Your workspace URL follows the format:
Configuring in n8n
- In n8n, create a new credential of type Altium 365 Nexar API
- Enter your Client ID
- Enter your Client Secret
- Enter your Workspace URL (e.g.,
https://mycompany.365.altium.com/) - Test the credential to verify it works
Usage
Example: Monitor Project Commits
Set up a workflow that triggers whenever a project is committed:
- Add Altium 365 Trigger node
- Select event: Project Committed
- (Optional) Enter a specific Project ID to monitor one project, or leave blank to monitor all projects
- Connect to any action (Slack notification, email, webhook, etc.)
The trigger outputs:
{
"projectId": "abc123",
"projectName": "PowerSupply_v2",
"revisionId": "e4f8a9b2c1d3",
"message": "Fixed power rail routing on layer 3",
"author": "John Smith",
"committedAt": "2025-03-14T10:23:00Z",
"filesChanged": [
{
"kind": "MODIFIED",
"path": "PowerBoard.PcbDoc"
},
{
"kind": "MODIFIED",
"path": "PowerSchematic.SchDoc"
}
]
}Example: Get Project Details
- Add Altium 365 action node
- Select resource: Project
- Select operation: Get
- Enter the Project ID
Returns complete project information including metadata, parameters, and variant count.
Example: List All Projects
- Add Altium 365 action node
- Select resource: Project
- Select operation: Get Many
- Choose Return All or set a Limit
Returns paginated list of all projects in your workspace.
API Rate Limits
- Design queries are free and unlimited with an active Altium 365 subscription
- OAuth tokens are valid for 24 hours and automatically refreshed
- The node caches tokens to minimize authentication requests
Development
Prerequisites
- Node.js >= 18.17.0
- npm >= 10.x
- Active Altium 365 subscription
- Nexar API credentials with Design scope
Setup
# Clone the repository
git clone https://github.com/jonmash/n8n-nodes-altium365.git
cd n8n-nodes-altium365 # Note: package is published as @jonmash/n8n-nodes-altium365
# Install dependencies
npm install
# Generate GraphQL types from Nexar schema
npm run codegen
# Build the node
npm run build
# Run linter
npm run lint
# Format code
npm run formatProject Structure
@jonmash/n8n-nodes-altium365/
├── credentials/
│ └── Altium365NexarApi.credentials.ts # OAuth2 credentials
├── nodes/
│ ├── Altium365/
│ │ ├── Altium365.node.ts # Main action node
│ │ └── altium365.svg # Node icon
│ └── Altium365Trigger/
│ ├── Altium365Trigger.node.ts # Polling trigger node
│ └── altium365trigger.svg # Trigger icon
├── shared/
│ ├── NexarClient.ts # GraphQL client with token caching
│ ├── queries/ # GraphQL query definitions
│ │ ├── workspace.graphql
│ │ └── projects.graphql
│ └── generated/
│ └── graphql.ts # Auto-generated types from schema
└── package.jsonGraphQL Code Generation
This package uses GraphQL Code Generator to create fully typed SDK from the Nexar schema:
# Regenerate types after modifying .graphql files
npm run codegenThe codegen:
- Introspects the Nexar GraphQL schema
- Validates your queries against the schema
- Generates TypeScript types and SDK functions
- Provides full autocomplete and type safety
Compatibility
- Tested with n8n version: 1.x
- Node.js: >= 18.17.0
- Altium 365: Current version (2025)
Resources
License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
For issues and questions:
Changelog
See CHANGELOG.md
