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.

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.

ProviderDefault ModelKey AdvantageSupported Operations
OpenAIgpt-4oIndustry standard for structured outputs, tool use, and DALL-E 3 image generation.
CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONEMBEDTRANSCRIBEGENERATE_IMAGECLASSIFY
Anthropicclaude-sonnet-4-5Unmatched reasoning depth, coding capabilities, and instruction-following precision.
CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONCLASSIFY
Geminigemini-2.5-flashMassive context window, cost-efficient, fast multimodal vision, and Imagen 3 generation.
CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONEMBEDGENERATE_IMAGECLASSIFY
Groqllama-3.3-70b-versatileUltra-low latency inference, perfect for real-time chatbot replies and swift voice transcribing.
CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USETRANSCRIBECLASSIFY
xAIgrok-3-betaReal-time information access and highly modern prompt parsing capabilities.
CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTTOOL_USEVISIONCLASSIFY
DeepSeekdeepseek-chatExtremely cost-efficient reasoning models. Includes reasoning output extraction.
CHATCHAT_WITH_HISTORYSTRUCTURED_OUTPUTCLASSIFY
Perplexitysonar-proIntegrated 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.

ParameterTypeDescriptionSupports Templates
Variable NameString (Required)The key where the results are stored in the workflow context. E.g. setting 'myAI' allows referencing output as {{myAI.text}}.No
CredentialSelect (Required)The API Key credential created in Settings → Credentials.No
OperationDropdown (Required)The AI task to execute (e.g. Chat, Vision, structured JSON output).No
ModelSelect / Input (Required)The model ID to run. Can select from the defaults or type a custom model path.No
System PromptTextarea (Optional)System-level instructions defining the AI's role, rules, and persona.Yes
User PromptTextarea (Required for most)The main input query. Supports dynamic workflow templates.Yes
TemperatureSlider (0.0 to 2.0)Controls randomness: 0.0 is deterministic and factual; 2.0 is highly creative.No
Max TokensNumber (1 to 100,000+)The maximum length of the generated response.No
Top PSlider (0.0 to 1.0)Nucleus sampling threshold. Alternative control for creativity.No
Frequency PenaltySlider (-2.0 to 2.0)Discourages the model from repeating words. (Supported by OpenAI, Groq, xAI, DeepSeek, Perplexity)No
Presence PenaltySlider (-2.0 to 2.0)Encourages the model to introduce new topics. (Supported by OpenAI, Groq, xAI, DeepSeek, Perplexity)No
Continue on FailSwitchIf 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)

json
{
  "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:

text
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

json
{
  "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:

text
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) or json_schema (strict validation).
  • JSON Schema: Required for json_schema. Use standard JSON Schema format.

Output Variable Format

json
{
  "ai": {
    "text": "{\"invoiceNumber\": \"INV-102\", \"totalAmount\": 1250}",
    "json": {
      "invoiceNumber": "INV-102",
      "totalAmount": 1250
    }
  }
}

Real-life Blueprint

Extract invoice fields from email attachments:

text
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, or none.

Output Variable Format

json
{
  "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:

text
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, or high.

Output Variable Format

json
{
  "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:

text
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

json
{
  "ai": {
    "embedding": [0.01254, -0.00512, 0.08941, -0.03411, 0.00122]
  }
}

Real-life Blueprint

Build a search index for internal document portals:

text
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, or vtt.

Output Variable Format

json
{
  "ai": {
    "transcript": "Hello, thank you for contacting our customer service department. My name is..."
  }
}

Real-life Blueprint

Automatically transcribe and log customer voicemails:

text
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

json
{
  "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/..."]
  }
}
Tip: Nodebase automatically downloads generated images and saves them to your private Cloud Storage bucket immediately, replacing the temporary provider URLs. This ensures your links never expire!

Real-life Blueprint

Automate marketing copy to social graphic creation:

text
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

json
{
  "ai": {
    "label": "billing",
    "confidence": 0.9,
    "text": "billing"
  }
}

Real-life Blueprint

Auto-route inbound sales emails:

text
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.

json
{
  "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.

json
{
  "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.

ProviderWhere to get API Key
OpenAIplatform.openai.com → API keys
Anthropicconsole.anthropic.com → API Keys
Geminiaistudio.google.com → Get API Key
Groqconsole.groq.com → API Keys
DeepSeekplatform.deepseek.com → API Keys
Perplexitywww.perplexity.ai → Settings → API
xAIconsole.x.ai → API Keys
  1. Go to Settings → Credentials in the Nodebase Dashboard.
  2. Click Add Credential.
  3. Select the respective Provider (e.g. OpenAI).
  4. Name the credential (e.g., Production OpenAI Key) and paste your API Key.
  5. 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.

textVoice Assistant Workflow
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.

textResearch Alert Workflow
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 / IssueReasonSolution
401 UnauthorizedYour 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 LimitYou 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 schemaThe 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 expiresUsing 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.