Quick Decision Tree
Plugins: Custom Compute Logic
Use a Plugin when you need custom computation, processing, or orchestration within Noorle.When to Use Plugins
✅ Custom data transformation algorithms ✅ Complex business logic calculations ✅ Multi-step workflows without external APIs ✅ Proprietary algorithms you want to keep isolated ✅ Processing sensitive data in a sandbox ✅ Combining multiple APIs into a single toolExample: Text Analysis Plugin
Advantages
- Complete control - Implement exactly what you need
- Isolated execution - Runs in secure sandbox
- No external dependencies - Pure compute
- Low latency - In-process execution
- Versioning - Easy to iterate and rollback
Disadvantages
- Development overhead - Must write and test code
- Language lock-in - Supported languages only (Rust, Python, TypeScript, Go)
- Maintenance burden - Responsible for updates
- Testing complexity - Need test environments
Connectors: External Services
Use a Connector when you need to integrate with external APIs or services.When to Use Connectors
✅ Integrate with third-party SaaS (Slack, Airtable, etc.) ✅ REST API consumption ✅ Cloud service integration ✅ MCP server proxying ✅ OAuth-secured services ✅ Frequently-changing external APIsExample: Airtable Integration
Advantages
- No code required - Configure via UI
- Built-in auth - OAuth, API keys, bearer tokens supported
- API abstraction - Hide complexity behind simple tools
- Ecosystem reuse - Connect to 1000s of existing APIs
- Dynamic updates - Update without redeployment
Disadvantages
- External dependency - Relies on third-party API availability
- Latency - Network round-trip required
- Rate limits - Subject to API quotas
- Less control - Limited customization beyond parameter mapping
Built-ins: Standard Features
Built-ins are built into Noorle and not user-installable. They include:| Built-in | Purpose |
|---|---|
| Files | Read/write files, manage workspace |
| Web Search | Search the internet |
| HTTP Client | Make HTTP requests |
| Code Runner | Execute Python, JavaScript, Bash |
| Knowledge Retrieval | Query knowledge bases with RAG |
| Sandbox | Isolated Linux VM execution |
| Computer | Screen capture, mouse, keyboard (agent-only) |
| Browser | Browser rendering |
When Built-in vs Plugin
Request a builtin if:- Multiple users need this feature
- It’s a fundamental capability (like files or code execution)
- You want Noorle to maintain and support it
- It’s specific to your use case
- You need custom behavior or logic
- You want ownership and control
Example: Should I Build or Use Existing?
Comparison Matrix
| Aspect | Plugin | Connector | Built-in |
|---|---|---|---|
| Setup Complexity | High | Low | N/A |
| Development | Code required | Config only | N/A |
| Execution | In-process | Network call | In-process |
| Latency | Low | Medium | Low |
| Customization | Complete | Limited | Fixed |
| External Deps | None | Required | Built-in |
| Maintenance | You | You + Provider | Noorle |
| Supported Languages | Rust, Python, TS, Go | N/A | Rust |
| Resource Control | Yes (sandbox) | API limits | Yes (builtin) |
Common Use Cases
”I want to add data processing”
→ Use a Plugin- Custom algorithms, transformations
- Offline processing
”I want to integrate with Salesforce”
→ Use a Connector- REST/OAuth integration
- No code needed
”I want agents to run Python code”
→ Use Built-in Code Runner- Already available
- Execute arbitrary Python
”I want custom Salesforce logic”
→ Use a Plugin- Complex orchestration
- Custom business rules
- Call Salesforce via HTTP within plugin
”I want web search integration”
→ Use Built-in Web Search- Already available
- No configuration needed
Decision Checklist
Before building a plugin, ask yourself:- Does a similar builtin already exist?
- Is there a public API I could use via connector?
- Do I need custom compute logic?
- Will this logic be reused across my organization?
- Can I maintain this code long-term?
- Do I need to keep the algorithm private/isolated?
- Is latency critical (plugins are faster)?
- Do I have the technical resources to develop it?
Getting Help
Need guidance on your specific use case?- Questions about capabilities? Check the capabilities list
- Want to see available connectors? Browse the connector overview
- Need custom code execution? Check Code Runner builtin
- Still unsure? Reach out to the Noorle community
Next Steps
- Building a plugin? Read Project Structure
- Building a connector? See REST connector guide
- Understanding plugins? Read Platform Overview