$ man emblema-docs
Documentation
// Everything you need to know about workspaces, nodes, and templates.
What is a Workspace?
A Workspace is a complete workflow built on the Emblema canvas. It connects multiple nodes together to automate complex tasks — from document processing to AI-powered analysis.
Key concepts
- Canvas: The visual editor where you drag, drop, and connect nodes
- Nodes: Individual processing steps (see "What is a Node?" below)
- Edges: Connections between nodes that define data flow
- Variables: Configurable parameters that customize the workflow at runtime
What is a Workspace Template?
A Workspace Template is a pre-built workflow that you can import into your Emblema instance. It includes:
- The full canvas layout (nodes and edges)
- Node configurations and default settings
- Variable definitions for customization
- Dependencies on specific node templates
What is a Node?
A Node is a single building block in an Emblema workspace. Each node performs one specific task — reading a file, calling an API, transforming data, or running an AI model.
Anatomy of a Node
- Input Schema: Defines what data the node expects (JSON schema)
- Output Schema: Defines what data the node produces
- Code: The Python script that processes inputs and generates outputs
- Dependencies: External packages the node requires (e.g.,
requests,pandas)
Node categories
- reader: Reads data from external sources (files, APIs, databases)
- process: Transforms, analyzes, or enriches data
- writer: Outputs results to files, services, or storage
- ai: Leverages AI models for generation, classification, or extraction
What is a Node Template?
A Node Template is a reusable node that you can install in your workspace. It packages the code, schemas, and dependencies together so you can use it immediately.
Creating Templates
You can create templates by exporting workflows and nodes from your Emblema workspace.
Creating a Workspace Template
- Build your workflow on the Emblema canvas
- Test it thoroughly with different inputs
- Define variables for any values that should be configurable
- Use Export Workspace from the workspace menu
- The export produces a JSON file ready for publishing
Creating a Node Template
- Create a new node in the workspace editor
- Write your Python code in the node editor
- Define the input and output schemas
- Add any required dependencies
- Use Export Node from the node context menu
- The export produces a JSON file ready for publishing
Best practices
- Write clear descriptions so others understand what your template does
- Use variables for API keys, file paths, and other environment-specific values
- Include error handling in your node code
- Test with edge cases before publishing
Template Format
Templates are exported as JSON files. Here is the structure for each type.
Node Template format
{
"name": "My Node",
"description": "What this node does",
"category": "process",
"catalog": "workspace",
"language": "python",
"code": "import json\nimport sys\n...",
"inputSchema": {
"type": "object",
"properties": { ... }
},
"outputSchema": {
"type": "object",
"properties": { ... }
},
"dependencies": ["requests", "pandas"],
"tags": ["ai", "data"]
}
Workspace Template format
{
"name": "My Workflow",
"description": "What this workflow does",
"category": "workflow",
"canvasData": {
"nodes": [ ... ],
"edges": [ ... ]
},
"variables": [
{
"name": "api_key",
"label": "API Key",
"type": "string",
"required": true
}
],
"nodeTemplateDeps": [
{ "id": "...", "name": "Node Name" }
],
"tags": ["automation", "ai"]
}
Versioning
Templates use semantic versioning (1.0.0). When you publish an update, increment the version number accordingly.
Publishing Guide
Share your templates with the Emblema community by publishing them to the marketplace.
Prerequisites
- An Emblema account with publisher permissions
- A template exported as JSON from your workspace
How to publish
- Log in to the marketplace
- Go to $ my-templates in the navigation
- Click $ publish --import
- Drop your JSON file or click to browse
- Review the detected template metadata
- Set a unique slug, visibility, and target groups
- Click $ publish --confirm
Visibility options
- public: Visible to everyone on the marketplace
- group: Only visible to users in specific groups
Updating a template
To publish a new version, simply import the updated JSON file with the same slug. The marketplace will create a new version automatically.
Template review
All published templates are immediately available. Make sure your templates are well-tested and documented before publishing.