n8n node for Confluence Cloud REST API integration
npm install @conciso/n8n-nodes-confluence-cloudA powerful n8n Community Node for seamless integration with Confluence Cloud REST API. This node provides comprehensive access to Confluence Cloud's capabilities with automatic API validation, deprecation detection, and intelligent error handling.


Install the node using n8n's Community Nodes feature:
1. Via n8n Interface:
- Go to Settings → Community Nodes
- Install package: @conciso/n8n-nodes-confluence-cloud
2. Via npm (for self-hosted n8n):
``bash`
npm install @conciso/n8n-nodes-confluence-cloud
For detailed installation instructions, see the n8n Community Nodes documentation.
Create a Confluence Cloud API credential with:
| Field | Description | Example |
|-------|-------------|---------|
| Domain | Your Confluence Cloud URL | https://your-company.atlassian.net |user@company.com
| Email | Your Atlassian account email | |ATATT3xFfGF0T...
| API Token | Generated API token | |
1. Go to Atlassian Account Security
2. Click "Create API token"
3. Enter a label (e.g., "n8n Integration")
4. Copy the generated token (⚠️ Save it immediately - you won't see it again!)
| Operation | Method | API Version | Documentation |
|-----------|--------|-------------|---------------|
| Get Spaces | GET /spaces | V2 | 📖 V2 API Docs |GET /spaces/{id}
| Get Space By Id | | V2 | 📖 V2 API Docs |POST /space
| Create Space | | V1 (Legacy) | 📖 V1 API Docs |PUT /space/{spaceKey}
| Update Space | | V1 (Legacy) | 📖 V1 API Docs |DELETE /space/{spaceKey}
| Delete Space | | V1 (Legacy) | 📖 V1 API Docs |
| Operation | Method | API Version | Documentation |
|-----------|--------|-------------|---------------|
| Get Pages | GET /pages | V2 | 📖 V2 API Docs |POST /pages
| Create Page | | V2 | 📖 V2 API Docs |GET /pages/{id}
| Get Page By Id | | V2 | 📖 V2 API Docs |PUT /pages/{id}
| Update Page | | V2 | 📖 V2 API Docs |DELETE /pages/{id}
| Delete Page | | V2 | 📖 V2 API Docs |GET /spaces/{id}/pages
| Get Pages In Space | | V2 | 📖 V2 API Docs |GET /labels/{id}/pages
| Get Label Pages | | V2 | 📖 V2 API Docs |
| Operation | Method | API Version | Documentation |
|-----------|--------|-------------|---------------|
| Get Content Templates | GET /template/page | V1 (Legacy) | 📖 V1 API Docs |GET /template/blueprint
| Get Blueprint Templates | | V1 (Legacy) | 📖 V1 API Docs |POST /template
| Create Content Template | | V1 (Legacy) | 📖 V1 API Docs |PUT /template
| Update Content Template | | V1 (Legacy) | 📖 V1 API Docs |GET /template/{contentTemplateId}
| Get Content Template | | V1 (Legacy) | 📖 V1 API Docs |DELETE /template/{contentTemplateId}
| Remove Template | | V1 (Legacy) | 📖 V1 API Docs |
| Operation | Method | API Version | Documentation |
|-----------|--------|-------------|---------------|
| Search Content By C Q L | GET /content/search | V1 (Legacy) | 📖 V1 API Docs |
| Operation | Method | API Version | Documentation |
|-----------|--------|-------------|---------------|
| Get Page Footer Comments | GET /pages/{id}/footer-comments | V2 | 📖 V2 API Docs |GET /pages/{id}/inline-comments
| Get Page Inline Comments | | V2 | 📖 V2 API Docs |GET /blogposts/{id}/footer-comments
| Get Blog Post Footer Comments | | V2 | 📖 V2 API Docs |GET /blogposts/{id}/inline-comments
| Get Blog Post Inline Comments | | V2 | 📖 V2 API Docs |GET /custom-content/{id}/footer-comments
| Get Custom Content Comments | | V2 | 📖 V2 API Docs |GET /footer-comments
| Get Footer Comments | | V2 | 📖 V2 API Docs |POST /footer-comments
| Create Footer Comment | | V2 | 📖 V2 API Docs |GET /footer-comments/{comment-id}
| Get Footer Comment By Id | | V2 | 📖 V2 API Docs |PUT /footer-comments/{comment-id}
| Update Footer Comment | | V2 | 📖 V2 API Docs |DELETE /footer-comments/{comment-id}
| Delete Footer Comment | | V2 | 📖 V2 API Docs |GET /footer-comments/{id}/children
| Get Footer Comment Children | | V2 | 📖 V2 API Docs |GET /inline-comments
| Get Inline Comments | | V2 | 📖 V2 API Docs |POST /inline-comments
| Create Inline Comment | | V2 | 📖 V2 API Docs |GET /inline-comments/{comment-id}
| Get Inline Comment By Id | | V2 | 📖 V2 API Docs |PUT /inline-comments/{comment-id}
| Update Inline Comment | | V2 | 📖 V2 API Docs |DELETE /inline-comments/{comment-id}
| Delete Inline Comment | | V2 | 📖 V2 API Docs |GET /inline-comments/{id}/children
| Get Inline Comment Children | | V2 | 📖 V2 API Docs |
| Operation | Method | API Version | Documentation |
|-----------|--------|-------------|---------------|
| Get Attachment Labels | GET /attachments/{id}/labels | V2 | 📖 V2 API Docs |GET /blogposts/{id}/labels
| Get Blog Post Labels | | V2 | 📖 V2 API Docs |GET /custom-content/{id}/labels
| Get Custom Content Labels | | V2 | 📖 V2 API Docs |GET /labels
| Get Labels | | V2 | 📖 V2 API Docs |GET /pages/{id}/labels
| Get Page Labels | | V2 | 📖 V2 API Docs |GET /spaces/{id}/labels
| Get Space Labels | | V2 | 📖 V2 API Docs |GET /spaces/{id}/content/labels
| Get Space Content Labels | | V2 | 📖 V2 API Docs |GET /pages/{id}/labels
| Get Page Labels | | V2 | 📖 V2 API Docs |
` This is my page content.javascript`
// Input Data
{
"resource": "page",
"operation": "create",
"spaceId": "123456",
"title": "My New Page",
"body": {
"storage": {
"value": "
"representation": "storage"
}
}
}
`javascript`
// Simple space listing
{
"resource": "space",
"operation": "getAll"
}
- Node.js 18+
- npm 8+
- n8n development environment
`bashClone the repository
git clone https://github.com/your-username/n8n-nodes-confluence-cloud.git
cd n8n-nodes-confluence-cloud
$3
This node uses a sophisticated build system:
- OpenAPI Code Generation: Automatically generates operations from Confluence API specifications
- Dual API Version Support: Seamlessly handles both V1 (legacy) and V2 APIs
- Quality Validation: Build fails on deprecated APIs or missing routes
- Type Safety: Full TypeScript support with generated types
$3
- 📥 Automatic API Spec Download: Latest Confluence API specifications
- 🔍 Deprecated API Detection: Prevents using outdated endpoints
- ⚠️ Missing Route Validation: Ensures all configured routes exist
- 🎯 Smart Error Messages: Actionable feedback for configuration issues
🤝 Contributing
We welcome contributions! Fork the repository, make your changes, and submit a pull request. For new Confluence API endpoints, add them to
config/confluence-routes.json and run npm run dev to generate operations.Found a bug or have a feature request? Open an issue with clear details and steps to reproduce.
$3
1. Edit
config/confluence-routes.json
2. Add your route configuration:
`json
{
"path": "/your-endpoint",
"methods": ["get", "post"],
"legacy": false
}
`
3. Run npm run dev to generate operations
4. Test your changes📋 API Compatibility
| Confluence Cloud API | Support Status | Notes |
|---------------------|----------------|-------|
| REST API v2 | ✅ Full Support | Primary API version |
| REST API v1 | 🟡 Legacy Support | For operations not yet in V2 |
🐛 Troubleshooting
$3
❌ "API PATH NOT FOUND" Error
- Solution: Check if the route needs
"legacy": true flag
- Documentation: API Migration Guide❌ "DEPRECATED API DETECTED" Error
- Solution: Update to the V2 API equivalent
- Check: Confluence API Deprecation Notices
❌ "CQL Parse Error" in Trigger
- Solution: Check your CQL syntax
- Reference: CQL Documentation
❌ Authentication Issues
- Verify your API token is valid
- Ensure your email address is correct
- Check domain format:
https://your-domain.atlassian.net`- Confluence Cloud REST API Documentation
- Confluence Query Language (CQL)
- n8n Community Nodes
- Atlassian API Tokens
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the n8n automation platform
- Uses official Confluence Cloud API specifications
- Inspired by the n8n community's need for robust Confluence integration
---
Made with ❤️ for the n8n community