AI Integration & Nodes
Build intelligent, automated workflows with state-of-the-art Large Language Models. Nodebase natively supports 7 leading AI providers with a unified interface to perform text generation, structure extraction, image vision, function calling, audio transcription, vector embeddings, image generation, and multi-label classification.
Table of Contents
Supported Providers & Default Models
Each provider has a curated set of capabilities and is pre-configured with industry-standard default models. You can also customize the model name manually in the configuration panel.
| Provider | Default Model | Key Advantage | Supported Operations |
|---|---|---|---|
| OpenAI | gpt-4o | Industry standard for structured outputs, tool use, and DALL-E 3 image generation. | CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONEMBEDTRANSCRIBEGENERATE_IMAGECLASSIFY |
| Anthropic | claude-sonnet-4-5 | Unmatched reasoning depth, coding capabilities, and instruction-following precision. | CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONCLASSIFY |
| Gemini | gemini-2.5-flash | Massive context window, cost-efficient, fast multimodal vision, and Imagen 3 generation. | CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONEMBEDGENERATE_IMAGECLASSIFY |
| Groq | llama-3.3-70b-versatile | Ultra-low latency inference, perfect for real-time chatbot replies and swift voice transcribing. | CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USETRANSCRIBECLASSIFY |
| xAI | grok-3-beta | Real-time information access and highly modern prompt parsing capabilities. | CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONCLASSIFY |
| DeepSeek | deepseek-chat | Extremely cost-efficient reasoning models. Includes reasoning output extraction. | CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTCLASSIFY |
| Perplexity | sonar-pro | Integrated real-world web search. Returns responses complete with source citation URLs. | CHATCHAT_WITH_HISTORYCLASSIFY |
Common Parameters & Settings
These parameters govern how models run across all operations and influence determinism, safety, and output limits.
| Parameter | Type | Description | Supports Templates |
|---|---|---|---|
| Variable Name | String (Required) | The key where the results are stored in the workflow context. E.g. setting 'myAI' allows referencing output as {{myAI.text}}. | No |
| Credential | Select (Required) | The API Key credential created in Settings → Credentials. | No |
| Operation | Dropdown (Required) | The AI task to execute (e.g. Chat, Vision, structured JSON output). | No |
| Model | Select / Input (Required) | The model ID to run. Can select from the defaults or type a custom model path. | No |
| System Prompt | Textarea (Optional) | System-level instructions defining the AI's role, rules, and persona. | Yes |
| User Prompt | Textarea (Required for most) | The main input query. Supports dynamic workflow templates. | Yes |
| Temperature | Slider (0.0 to 2.0) | Controls randomness: 0.0 is deterministic and factual; 2.0 is highly creative. | No |
| Max Tokens | Number (1 to 100,000+) | The maximum length of the generated response. | No |
| Top P | Slider (0.0 to 1.0) | Nucleus sampling threshold. Alternative control for creativity. | No |
| Frequency Penalty | Slider (-2.0 to 2.0) | Discourages the model from repeating words. (Supported by OpenAI, Groq, xAI, DeepSeek, Perplexity) | No |
| Presence Penalty | Slider (-2.0 to 2.0) | Encourages the model to introduce new topics. (Supported by OpenAI, Groq, xAI, DeepSeek, Perplexity) | No |
| Continue on Fail | Switch | If turned ON, the workflow continues running even if the AI provider request fails. | No |
Operations Guide
Nodebase simplifies working with advanced LLM modalities. Below is the detailed configuration, output layout, and a real-life blueprint for each of the 9 operations.
1. Chat (Factual / Creative Text Generation)
Standard text generation. Use it to write copy, answer queries, summarize text, translate languages, or draft documents.
Operation Parameters
- System Prompt: Custom behavior instructions.
- User Prompt: The primary instruction or question.
Output Variable Format (assuming variable name is ai)
{
"ai": {
"text": "Hello! I can help you summarize files...",
"aiResponse": "Hello! I can help you summarize files...",
"model": "gpt-4o",
"usage": {
"promptTokens": 28,
"completionTokens": 11,
"totalTokens": 39
}
}
}Real-life Blueprint
Automate support ticketing categorization:
Trigger: Webhook (Customer Support Form Submission)
→ OpenAI (Operation: CHAT)
System Prompt: "You are a customer support triage assistant. Read the ticket and output exactly one word: CRITICAL, MEDIUM, or LOW."
User Prompt: "Ticket body: {{trigger.body.message}}"
→ Gmail (Send Email)
Subject: "[{{ai.text}} Priority] New Customer Ticket"
Body: "{{trigger.body.message}}"2. Chat with History (Conversational / Stateful Chatbots)
Stores conversation context directly in the workflow's variables. It dynamically aggregates previous user messages and assistant responses.
Operation Parameters
- History Variable Path: Dot-path to history array (usually
ai.history). - Max History Turns: Maximum conversation turns (e.g. 10) to prevent token overflow.
Output Variable Format
{
"ai": {
"text": "Yes, I can schedule that meeting.",
"aiResponse": "Yes, I can schedule that meeting.",
"history": [
{ "role": "user", "content": "Hi there!" },
{ "role": "assistant", "content": "Hello! How can I assist you?" },
{ "role": "user", "content": "Can we schedule a meeting?" },
{ "role": "assistant", "content": "Yes, I can schedule that meeting." }
]
}
}Real-life Blueprint
Build a multi-turn WhatsApp chatbot:
Trigger: WhatsApp Message Received
→ Groq (Operation: CHAT_WITH_HISTORY)
History Path: "ai.history"
Max Turns: 8
System Prompt: "You are a friendly personal scheduling assistant."
User Prompt: "{{whatsappTrigger.body}}"
→ WhatsApp (Send Message)
Message: "{{ai.text}}"3. Structured Output (Reliable JSON Extraction)
Enforces the model to return syntactically valid JSON. Highly useful for extracting metadata, tables, or fields from emails and documents without manual parsing.
Operation Parameters
- Response Format: Set to
json_object(returns arbitrary JSON) orjson_schema(strict validation). - JSON Schema: Required for
json_schema. Use standard JSON Schema format.
Output Variable Format
{
"ai": {
"text": "{\"invoiceNumber\": \"INV-102\", \"totalAmount\": 1250}",
"json": {
"invoiceNumber": "INV-102",
"totalAmount": 1250
}
}
}Real-life Blueprint
Extract invoice fields from email attachments:
Trigger: Gmail Attachment Received
→ OpenAI (Operation: STRUCTURED_OUTPUT)
Format: json_schema
JSON Schema:
{
"type": "object",
"properties": {
"vendor": { "type": "string" },
"total": { "type": "number" },
"dueDate": { "type": "string" }
},
"required": ["vendor", "total"]
}
User Prompt: "Extract invoice details from this text: {{email.attachmentText}}"
→ Postgres (Insert Row)
Table: invoices
Columns: vendor = {{ai.json.vendor}}, amount = {{ai.json.total}}4. Tool / Function Calling (Autonomous Action Routing)
Instructs the AI to choose one or more functions to execute based on the user's intent. The model outputs arguments instead of conversational text.
Operation Parameters
- Tools (JSON Array): Array of tool definitions (e.g. name, description, parameters).
- Tool Choice: Set to
auto,required, ornone.
Output Variable Format
{
"ai": {
"toolCalls": [
{
"id": "call_abc123",
"name": "send_slack_alert",
"arguments": {
"channel": "#alerts",
"message": "Server CPU is high!"
}
}
]
}
}Real-life Blueprint
Dynamically routes user commands to Slack alerts or Database updates:
Trigger: Slack Command "/action [command]"
→ Anthropic (Operation: TOOL_USE)
Tools:
[
{
"name": "create_event",
"description": "Call this to create a calendar event.",
"input_schema": {
"type": "object",
"properties": { "title": { "type": "string" } }
}
}
]
User Prompt: "{{slack.commandText}}"
→ Switch (Condition on chosen tool)
Case 1: If {{ai.toolCalls.0.name}} equals "create_event"
→ Google Calendar (Add Event: title = {{ai.toolCalls.0.arguments.title}})5. Vision (Multimodal Image Analysis)
Enables processing and answering questions about images. Supports remote image links or Base64 data URIs.
Operation Parameters
- Image URL: A single URL, or a comma-separated list of image URLs.
- Image Detail:
auto,low, orhigh.
Output Variable Format
{
"ai": {
"text": "The image shows a chart indicating 24% growth in Q3 sales.",
"aiResponse": "The image shows a chart indicating 24% growth in Q3 sales."
}
}Real-life Blueprint
Automatically inspect and verify customer receipts:
Trigger: Webhook (Form file upload)
→ Gemini (Operation: VISION)
Image URL: "{{webhook.body.receiptUrl}}"
User Prompt: "What is the total amount and list of items on this receipt?"
→ Slack (Send Message)
Message: "Verified Receipt: {{ai.text}}"6. Generate Embeddings (Vector Databases & Search)
Translates text strings into floating-point numerical arrays (vectors). Indispensable for semantic search and retrieval-augmented generation (RAG) architectures.
Operation Parameters
- Text to Embed: The string content (falls back to User Prompt).
Output Variable Format
{
"ai": {
"embedding": [0.01254, -0.00512, 0.08941, -0.03411, 0.00122]
}
}Real-life Blueprint
Build a search index for internal document portals:
Trigger: Notion Page Created
→ OpenAI (Operation: EMBED)
Text to Embed: "{{notion.pageContent}}"
→ Postgres (Insert Vector Row)
Table: page_vectors
Columns: notion_id = {{notion.id}}, embedding_vector = {{ai.embedding}}7. Audio Transcription (Speech-to-Text)
Transcribes audio files into written text. Supports Whisper models on OpenAI and Groq.
Operation Parameters
- Audio URL: Public URL of the audio file (e.g. mp3, wav, m4a).
- Language: Optional ISO language code (e.g.
en,es). - Output Format:
text,json,srt, orvtt.
Output Variable Format
{
"ai": {
"transcript": "Hello, thank you for contacting our customer service department. My name is..."
}
}Real-life Blueprint
Automatically transcribe and log customer voicemails:
Trigger: Twilio Voicemail Received
→ Groq (Operation: TRANSCRIBE)
Audio URL: "{{twilio.recordingUrl}}"
Model: whisper-large-v3
→ Hubspot (Create Task)
Task Title: "New Voicemail from {{twilio.callerNumber}}"
Notes: "Transcription: {{ai.transcript}}"8. Generate Image (Creative Asset Creation)
Synthesizes fresh images from textual descriptions. Connects to DALL-E 3 (OpenAI) and Imagen 3 (Gemini).
Operation Parameters
- Image Prompt: Text description of the image.
- Size: Resolution (e.g.
1024x1024,1792x1024). - Count: Quantity of images to output.
- Quality / Style: (OpenAI only) Select standard/hd and vivid/natural.
Output Variable Format
{
"ai": {
"imageUrls": ["https://nodebase-spaces.nyc3.cdn.digitaloceanspaces.com/generated-image-0.png"],
"imageUrl": "https://nodebase-spaces.nyc3.cdn.digitaloceanspaces.com/generated-image-0.png",
"originalImageUrls": ["https://dalleprod.blob.core.windows.net/..."]
}
}Real-life Blueprint
Automate marketing copy to social graphic creation:
Trigger: Notion (New Campaign Idea)
→ OpenAI (Operation: GENERATE_IMAGE)
Image Prompt: "A high-end vector icon representing {{notion.campaignTitle}}, flat illustration"
Size: 1024x1024
→ Slack (Send Campaign Summary)
Message: "Visual idea generated for {{notion.campaignTitle}}: {{ai.imageUrl}}"9. Text Classification (Fast Multi-Label Sorting)
Performs zero-shot or few-shot classification, returning a precise label and confidence score. Superb for sentiment analysis, sorting leads, or filtering spam.
Operation Parameters
- Labels: Comma-separated categories (e.g.
spam, billing, query). - Few-Shot Examples (JSON): Optional array of text-label pairs.
Output Variable Format
{
"ai": {
"label": "billing",
"confidence": 0.9,
"text": "billing"
}
}Real-life Blueprint
Auto-route inbound sales emails:
Trigger: Inbound Email Received
→ Anthropic (Operation: CLASSIFY)
Labels: "sales, support, spam"
Examples: [{"text":"I want to buy 50 seats","label":"sales"},{"text":"Reset password please","label":"support"}]
User Prompt: "{{email.body}}"
→ Switch (Condition on classified label)
Case 1: If {{ai.label}} equals "sales"
→ Slack (Send to #leads-channel)
Case 2: If {{ai.label}} equals "support"
→ Freshdesk (Create Support Ticket)Advanced & Provider-Specific Features
Nodebase exposes provider-specific capabilities natively without requiring separate code nodes.
🌐 Web Search Citations (Perplexity)
When running Perplexity models like sonar-pro, the node automatically performs real-time search and appends citation sources to the output variable structure.
{
"perplexity": {
"text": "Google released Gemini 2.5 on June 3rd [1].",
"citations": [
"https://techcrunch.com/2026/06/03/google-gemini-2-5"
]
}
}🧠 DeepSeek Reasoning Extraction
When using DeepSeek's deepseek-reasoner (DeepSeek-R1) models, the cognitive "thought chain" is separated and saved into the reasoning property so you can inspect its thinking process in logs or pass it down the pipeline.
{
"deepseek": {
"text": "The final answer is X.",
"reasoning": "First, let's analyze the formula... then integrate... hence we get X."
}
}💾 Immediate Cloud Image Storage
Image URLs returned by DALL-E and Imagen typically expire within 1 hour. Nodebase intercepts the base64 or temporary output, uploads it to your DigitalOcean Spaces bucket, and updates imageUrl to a permanent public link.
Setting Up Credentials
To use any AI provider, you must create a credential configuration storing your private API keys.
| Provider | Where to get API Key |
|---|---|
| OpenAI | platform.openai.com → API keys |
| Anthropic | console.anthropic.com → API Keys |
| Gemini | aistudio.google.com → Get API Key |
| Groq | console.groq.com → API Keys |
| DeepSeek | platform.deepseek.com → API Keys |
| Perplexity | www.perplexity.ai → Settings → API |
| xAI | console.x.ai → API Keys |
- Go to Settings → Credentials in the Nodebase Dashboard.
- Click Add Credential.
- Select the respective Provider (e.g. OpenAI).
- Name the credential (e.g., Production OpenAI Key) and paste your API Key.
- Click Save. You can now select this key inside the AI node configuration dialog.
Complete Workflow Blueprints
AI-Powered Voice Assistant (Transcribe → Answer → Speak)
Objective: Listen to customer voice notes, transcribe them with Groq, compose an intelligent response using Claude, and log it to Slack.
Telegram Trigger (Voice Note attachment URL)
→ Groq (Operation: TRANSCRIBE)
Model: whisper-large-v3
Audio URL: {{telegram.voiceNoteUrl}}
→ Anthropic (Operation: CHAT)
Model: claude-3-5-sonnet-latest
System: "You are an assistant. Answer questions concisely in 1 sentence."
Prompt: "Customer asked: {{ai.transcript}}"
→ Slack (Send Message)
Channel: #customer-voice-logs
Text: "New Voicemail:\n*Transcription:* {{ai.transcript}}\n*AI Response:* {{ai.text}}"Automatic Competitor Research Alert
Objective: Trigger research via webhooks, use Perplexity to search the live web for competitor data, format the output in structured JSON using OpenAI, and write it to Google Sheets.
Webhook Trigger (POST /research, body: { competitorName })
→ Perplexity (Operation: CHAT)
Model: sonar-pro
Prompt: "Search the web for the latest product releases from {{body.competitorName}} in the last 30 days."
→ OpenAI (Operation: STRUCTURED_OUTPUT)
Model: gpt-4o-mini
Format: json_schema
JSON Schema:
{
"type": "object",
"properties": {
"features": { "type": "array", "items": { "type": "string" } },
"sentiment": { "type": "string" }
},
"required": ["features", "sentiment"]
}
Prompt: "Convert this research report into structural keys: {{ai.text}}"
→ Google Sheets (Add Row)
Spreadsheet: Competitor Analysis
Data: Name = {{body.competitorName}}, Features = {{ai.json.features}}, Sentiment = {{ai.json.sentiment}}Troubleshooting & Rate Limits
| Error Code / Issue | Reason | Solution |
|---|---|---|
| 401 Unauthorized | Your credential contains an incorrect or expired API Key. | Verify your token on the provider's billing console. Re-add the credential inside Nodebase Settings. |
| 429 Rate Limit | You have hit the request-per-minute (RPM) or token-per-minute (TPM) limits set by the provider. | Nodebase automatically retries 429 errors in the background with exponential backoff. To avoid limits, upgrade your tier at the provider or add a Wait node in the workflow. |
| Invalid JSON schema | The JSON string in the structured output schema field contains a syntax error. | Validate the schema in a JSON linter. Ensure all parameters, properties, and required fields conform to RFC 8259. |
| Image URL expires | Using the provider's direct URL (e.g. OpenAI's temporary URL) beyond its 1-hour expiration. | Use the 'imageUrls' output variable instead. Nodebase persists these automatically to secure cloud storage so they remain valid forever. |