# MindPal Documentation > MindPal is an AI-powered platform for building AI agents and multi-agent workflows. --- # Quick Start Guide MindPal is a platform for building AI agents and multi-agent workflows to automate business processes. Whether you need a single AI assistant or a team of AI agents working together, we've got you covered. Your agents will understand your business and get things done exactly how you want them to. Let's get you started with the basics. ## See MindPal in Action ## Agents - AI Specialists Think of agents as your AI team members who are always ready to help. Each one can be trained to handle specific tasks just the way you want. ### Creating Your Agent You have 3 simple ways to start: 1. **Let AI do the work**: Tell us what you need, and we'll set up an agent for you 2. **Use a template**: Pick from our pre-made agents and tweak them to fit your needs 3. **Start fresh**: Build your agent from scratch with full control Make your agent work better for you by: - Giving it a clear role and setting how you want the results - Choosing from top AI models (OpenAI, Anthropic, Google, DeepSeek, and more) - Training it to match your company's style - Adding your documents so it understands your business - Connecting it to other tools to get data or take actions ### Using Your Agent Once ready, you can: - Chat with your agent right away - Share it with your team so everyone can use it - Make it public as a chatbot that anyone can use through a link or on your website [Learn more about agents →](/agent) ## Multi-Agent Workflows - SOPs for AI Agents Sometimes you need multiple agents working together on complex tasks. That's where workflows come in - they're like your AI assembly line, where each agent handles its part of the job. ### Creating Your Workflow Just like with agents, you have 3 ways to start: 1. **Let AI do the work**: Explain your process, and we'll set up the workflow 2. **Use a template**: Pick from our pre-made workflows and adjust them 3. **Start fresh**: Design your workflow from scratch Make your workflow more powerful by: - Letting agents share information through variables - Using smart AI features like self-planning and self-improvement - Adding human checkpoints for important decisions ### Using Your Workflow Once ready, you can: - Run it anytime with your inputs - Share it with your team - Make it public as a form that anyone can use through a link or on your website [Learn more about multi-agent workflows →](/workflow) ## Need Help? We've got plenty of resources to support you: ### Video Guides Check out our playlist "MindPal for Beginners: From Zero to Hero": Visit our [YouTube Channel](https://www.youtube.com/@MindPalSpace) for: - Step-by-step tutorials for different use cases - Detailed guides for advanced features - Live webinars with Q&A ### Ready-to-Use Solutions Get started quickly with: - [Template Gallery](https://mindpal.space/workflow) - Pre-made solutions you can use right away - [Community Marketplace](https://mindpal.space/marketplace) - See what others are building ### Get Support Need help? We're here: - Check our [documentation](https://docs.mindpal.space) - Join our [Facebook Community](https://www.facebook.com/groups/mindpalhub) - Email us at [support@mindpal.io](mailto:support@mindpal.io) --- # Affiliate & Partner Programs MindPal offers two collaborative ways to earn rewards by sharing our AI workspace solution with your network. Everyone can start with our affiliate program - and if you have an established audience, you can also access additional benefits through our partner program! ## Affiliate Program Our affiliate program is open to everyone through an automated process, allowing anyone to earn credit for referrals to MindPal. Join and earn recurring commissions by recommending our AI workspace solution to your network. We offer a generous 20% recurring commission on all purchases made by users who sign up through your affiliate link. ### How It Works 1. **Sign Up Process** - Apply through our [affiliate portal](https://mindpalspace.lemonsqueezy.com/affiliates) - Your application goes through two approval rounds: - Lemon Squeezy verification (primary platform) - MindPal verification (usually instant) 2. **Tracking & Attribution** - All signups through your affiliate link are permanently associated with your affiliate code - You earn commission on ALL future purchases made by these users - Commission applies to both initial and recurring payments 3. **Commission Structure** - 20% recurring commission on all purchases - Up to $898.00 commission per sale - No limit on earning potential - Minimum payout: $10.00 - NET30 payout terms (e.g., January commissions paid on March 15th) ### Monitoring Performance Track checkout clicks and revenue through your Lemon Squeezy dashboard. ## Partner Program Ready to take your MindPal collaboration to the next level? If you have an established audience or community, our Partner Program offers enhanced benefits and a closer working relationship. ### Exclusive Benefits - **Dedicated Partner Page**: Get your own branded page on MindPal ([like this](https://mindpal.io/partner/reed-floren)) that's perfect for sharing with your audience - **Exclusive Access to Founder**: As a verified partner, you can invite our founder, [Tham (Sylvia) Nguyen](https://www.linkedin.com/in/sylviangth/), to deliver a free live training for your community. Having Tham share her insights directly with your audience offers them a great opportunity to learn expert insights on leveraging AI for businesses and gain insider perspectives on maximizing MindPal's capabilities. - **Higher Conversion Rates**: Partners typically see significantly higher conversion rates due to the increased trust ### How to Qualify To join our Partner Program, you'll need: - An established community or audience - Willingness to host presentations about MindPal in formats that work for your audience: - Webinars - Live trainings - Live streams - In-person events - Or any other format that resonates with your community These can be one-time events or recurring presentations - many partners find that regular updates about MindPal's evolving features keep their audience engaged and drive continued conversions. Want to provide your audience with an exceptional experience? You can present about MindPal yourself or utilize the exclusive opportunity to have our founder speak directly to your audience. ### How to Apply Send an email to support@mindpal.io including: - Information about yourself - Details about your audience/community - The type of presentation(s) you'd like to organize We'll review your application and get back to you promptly if you qualify for our verified Partner Program. ## FAQs ### Why does my affiliate dashboard show zero clicks? Don't worry - this is actually normal! The dashboard only shows clicks on checkout pages, not landing page visits. Here's how our attribution works: - Your affiliate link directs users to the MindPal landing page first - We store your affiliate code for everyone who signs up through your link - You'll get credit for all their future purchases, even if they don't buy immediately - Want to know how many signups you've referred? Just email support@mindpal.io with your affiliate code! ### What does recurring commission mean? It means you will receive a 20% commission for the lifetime of the referral's account as long as they stay subscribed. ### My application seems stuck. What should I do? If your application is taking longer than expected, it's likely in the Lemon Squeezy screening phase. Here's what to know: - The MindPal verification round is usually instant - If you're waiting more than a few days, you're probably in the Lemon Squeezy round - Solution: Email hello@lemonsqueezy.com to request an expedited review (feel free to cc us support@mindpal.io) - Be sure to mention you're applying for the MindPal affiliate program ### Which program is right for me? There's no need to choose - these programs complement each other! Everyone can start with the Affiliate Program, which is open to all and provides an excellent way to earn commissions with minimal commitment. As you build success as an affiliate, you can explore the Partner Program if you have an established audience. Many of our most successful partners started as affiliates and naturally progressed to a deeper relationship as they saw positive results. ### Can I reuse MindPal's marketing materials? Yes, you have full freedom to reuse our existing marketing content from our [YouTube channel](https://www.youtube.com/@MindPalSpace) and [blog posts](http://mindpal.space/blog) to promote MindPal on your own channels. --- # Introduction to Agents ## What is an AI Agent? An AI agent is a specialized AI assistant trained to excel at a specific task or domain. Unlike general-purpose AI chatbots, MindPal agents are: - **Task-focused**: Trained to handle specific jobs with expertise - **Customizable**: Tailored to your exact needs and preferences - **Context-aware**: Understands your business context through training data - **Integrated**: Can connect with your tools and data sources ## See AI Agent in Action ## When to Use an Agent The key to success with AI agents is giving them **specific, focused jobs**. Instead of creating one agent to "handle marketing", it's better to create separate agents for: - Writing social media posts - Analyzing campaign metrics - Generating email newsletters - Creating ad copy This focused approach ensures each agent: - Maintains high quality output - Stays within its area of expertise - Can be optimized for specific tasks - Is easier to train and maintain ## Use Cases of AI Agents Here's how different departments in a business can leverage AI agents: | Department | Use Cases | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Marketing | • Content Creator & Optimizer• Social Media Manager• SEO Keyword Researcher• Campaign Performance Analyzer• Email Marketing Automator | | Sales | • Lead Qualifier• Sales Email Personalizer• Proposal Writer• Competitor Analyzer• Meeting Summarizer | | HR | • Resume Screener• Interview Question Generator• Employee Onboarding Assistant• Policy Expert• Performance Review Assistant | | General Productivity | • Document Summarizer• Meeting Note Taker• Email Drafter• Research Assistant• Task Prioritizer | ## Components of an AI Agent A MindPal agent consists of these core components: | Component | Description | Purpose | | ------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | | [System Instructions](/agent/system-instructions) | Base instructions that define the agent's behavior, including its background and desired outcomes | Controls how the agent processes requests and generates responses | | [Language Model](/agent/language-model) | The AI model used by the agent, with configurable parameters like temperature and max tokens | Processes natural language and generates responses | | [Knowledge Sources](/agent/knowledge-sources) | Reference materials like documents, links and notes that the agent can access | Provides domain-specific knowledge for the agent to reference | | [Brand Voice](/agent/brand-voices) | Communication style settings that control formality and tone | Maintains consistent brand-aligned communication style | | [Tools](/agent/tools) | External integrations that allow the agent to access data or perform actions | Enables interaction with external services and data sources | | Memory | Storage of learned facts and patterns from previous conversations and tasks | Maintains context across conversations | --- # Brand Voice AI agents are trained on general data, which means they naturally communicate in a neutral, standardized way. This can feel disconnected from your brand's unique personality and communication style. Brand voice settings let you customize how your AI agents communicate, ensuring they match your company's tone - whether that's friendly and conversational, professional and authoritative, or anything in between. ## What is Brand Voice? Brand voice (also called Brand Guidelines) is how your company speaks to your audience - it's the consistent tone and style that makes your communications recognizable. When you apply this to AI agents, they'll generate content that matches your company's communication style. A brand voice typically includes: - **Tone and formality** - Casual, professional, friendly, authoritative - **Writing style** - Sentence structure, vocabulary choices, literary devices - **Target audience alignment** - How you speak to your specific audience - **Brand values integration** - How your core values come through in communication ## How Brand Voice Works Here's the practical process: 1. You create brand voice guidelines 2. These guidelines get added to your agent's system prompt 3. Every time your agent writes something, it follows these guidelines It's that simple - your agent will automatically match your brand's style in every response. ## Configuring Brand Voice ### Creating a Brand Voice You can set up different voices for different purposes: - Casual voice for social media - Professional voice for business documents - Sales voice for marketing materials Here's how to create one: 1. Go to **"Assets"** → **"Brand Guidelines"** (or "Brand Voices") 2. Click **"+ Create"** or **"Create new brand voice"** 3. Choose your creation method: #### Option 1: AI-Generated (Recommended) Let AI analyze your existing content and generate comprehensive guidelines: 1. Click **"Generate with AI"** 2. Provide a brand description OR paste sample content that represents your desired style 3. MindPal will analyze and generate a detailed brand voice analysis including: - Tone and formality characteristics - Writing style elements - Target audience alignment - Brand values integration - Recommendations for maintaining the voice 4. Review and adjust the generated guidelines as needed #### Option 2: Manual Creation Create guidelines from scratch: 1. Click **"Start from scratch"** 2. Enter a **Title** (e.g., "Blog Voice", "Social Media", "Technical Documentation") 3. Write your **Description** with detailed guidelines 4. Add **Categories** to organize your brand voices ### Brand Voice Fields | Field | Description | Required | | --------------- | --------------------------------------------------------------- | -------- | | **Title** | Name for the brand voice (e.g., "Casual Social Media") | Yes | | **Description** | Detailed guidelines for tone, style, and communication approach | Yes | | **Categories** | Tags to organize and filter brand voices | No | ### Connecting Brand Voice to Agents 1. Open your agent's settings 2. Navigate to the **Brand Voice** section 3. Select the brand voice you want to apply 4. Save your changes You can assign the same brand voice to multiple agents, ensuring consistent communication across your AI team. ## Best Practices ### Choosing Good Examples For best results: - Use 3-5 high-quality examples - Include examples that cover your full style range - Use recent content that reflects your current brand ### Different Voices for Different Channels Create separate voices for each communication channel: - LinkedIn/Business emails: Professional and authoritative - Social media: Casual and engaging - Documentation: Clear and helpful - Customer support: Friendly and solution-focused - Marketing: Persuasive and action-oriented This ensures your AI communications are appropriate for each platform while maintaining your brand identity. --- # Chatbots So far, we've discussed how to build powerful AI agents with custom knowledge and capabilities. But what if you want to share your agent so anyone can use it, even without a MindPal account? That's where chatbots come in. ## What are Chatbots? Chatbots are the publishable version of your AI agents. They provide a user-friendly chat interface that allows anyone to interact with your agent's capabilities. Think of it as turning your agent into a public-facing service that can be: - Embedded on your website - Shared via a public link - Accessed through a chat bubble - Hosted on your custom domain ## How Chatbots Work When you publish an agent as a chatbot: 1. **Interface Layer**: Your agent gets wrapped in a customizable chat interface 2. **Public Access**: Users can interact without needing a MindPal account 3. **Secure Processing**: All interactions are still powered by your configured agent 4. **Data Collection**: Optional user information can be gathered 5. **Usage Tracking**: All conversations can be monitored and analyzed 6. **Webhook Integration**: Automatically send user info and conversation logs to external systems One agent can be published as multiple chatbots, each with its own unique interface and settings. ## Configuring Chatbots Navigate to the chatbot builder to configure these sections: ### 1. Choose the Brain Select the AI agent that will power this chatbot. **Agent** (required): This is the "brain" behind your chatbot - it determines what the chatbot knows and can do. ### 2. Set Up the Identity Configure how your chatbot appears to users: - **Name** (required): Give your chatbot a clear, identifiable name - **Categories**: Organize your chatbot with tags for easy discovery - **Avatar**: Add a profile picture (supports image URLs or file uploads) - **Description**: Explain what your chatbot can help with ### 3. Design the Chat Experience Control the initial user experience: - **Welcome Message** (required): Set the first message users see when chatting - **Conversation Starters**: Add clickable message suggestions to help users get started ### 4. Customize the Chat Interface Personalize the visual appearance: - **Brand Color**: Choose a custom accent color for the interface - **MindPal Branding**: Toggle the "Powered by MindPal" badge visibility (requires upgrade) - **Affiliate Code**: Connect your affiliate code to earn 20% recurring commission when users subscribe via the badge link - **UX Copywriting**: Customize button texts and placeholders: - Chat input placeholder - User info form send button text ### 5. Capture User Info Collect information from users before they start chatting. **Collection Mode** - Choose one of three options: - **Don't collect**: Users can chat immediately without providing info - **Optional**: Users can skip providing info and go straight to chatting - **Required before chat**: Users must complete the form before accessing the chat When collecting user info: - **Form Title** (required): Set a custom title for your info collection form - **Custom Fields**: Add multiple form fields with different types: - **Text**: Single-line text input - **Long Text**: Multi-line text area - **Email**: Email address input with validation - **URL**: Website URL input with validation - **Number**: Numeric input with validation ### 6. Control Access Manage who can access your chatbot and how: - **Custom URL/Slug** (required): Your chatbot will be available at `chatbot.getmindpal.com/your-slug` - **Custom Domain** (optional): Use your own domain for the chatbot (e.g., `chatbot.yourdomain.com`) - **Embedding Restrictions** (optional): Limit which domains can embed your chatbot as an iframe - Add specific domains (one per line) that are allowed to embed your chatbot - Example: `example.com`, `subdomain.example.com` - **Enable Custom User ID** (optional): Allow users to see their conversation history by passing their user ID from your system. Choose one of three modes: - _None (Anonymous)_ - Default setting. All conversations are anonymous with no user identification required. Perfect for public chatbots. - _Optional_ - Custom user ID can be passed to enable conversation history per user. If no user ID is provided, chat works normally (anonymous). Best for mixed audiences (some authenticated, some not). - _Required_ - Custom user ID must be passed or the chat won't work. Always provides conversation history. Only use this if the chatbot is behind a login wall or in a members-only area. When enabled, you can pass a user ID from your website to MindPal, allowing users to access their conversation history whenever they return. See the [Custom User ID Guide](/guides/custom-user-id) for detailed implementation instructions. ### 7. Advanced Configure advanced features to enhance your chatbot's capabilities. #### User Info Webhook Automatically send collected user data to an external webhook URL when users submit the info form. **Payload Example:** ```json { "chatbotId": "", "chatbotConversationId": "", "chatbotConversationViewUrl": "", "userInfo": { "firstName": "John", "email": "john@example.com", "company": "Acme Inc" }, "customSessionContext": { "customer-id": "12345", "subscription-plan": "premium" } } ``` Use this with automation platforms like Make.com, Zapier.com, or any webhook-compatible service. #### Conversation Complete Webhook Automatically send conversation logs to an external webhook URL when a conversation ends. **Payload Example:** ```json { "conversationId": "", "chatbotId": "", "chatbotName": "", "chatbotSlug": "", "conversationData": { "messages": [ { "id": "", "role": "user", "content": "User message text here", "createdAt": "2024-01-01T00:00:00.000Z" }, { "id": "", "role": "assistant", "content": "Assistant response here", "createdAt": "2024-01-01T00:00:01.000Z" } ], "startedAt": "2024-01-01T00:00:00.000Z", "completedAt": "2024-01-01T00:05:00.000Z", "messageCount": 10 }, "userInfo": {...}, "customSessionContext": {...}, "timestamp": "2024-01-01T00:05:00.000Z" } ``` #### Email Notifications Receive email alerts when new conversations are created with your chatbot. #### Rate Limiting Protect your chatbot from abuse and control usage costs by configuring flexible rate limit rules. You can define multiple concurrent rules to create granular usage policies. For a detailed guide on how rate limiting works, how to configure rules, and best practices, please refer to our [Rate Limiting Guide](/guides/rate-limit). #### Custom Session Context Pass contextual information about users directly from your website to the chatbot, enabling personalized conversations without requiring users to repeat information. **How to Set Up:** 1. Toggle "Enable custom session context" to ON 2. Define context keys by adding custom fields: - **Label**: Human-readable name (e.g., "Customer ID", "Account Type") - **Generated Key**: Automatically created from the label in kebab-case format (e.g., "customer-id", "account-type") **How It Works:** When enabled, you can pass information from your website to the chatbot using the generated keys. The AI will naturally use this information in conversations without explicitly mentioning where it came from. **Example:** If you define these context keys: - Label: "Customer Name" → Key: `customer-name` - Label: "Subscription Plan" → Key: `subscription-plan` The chatbot will know the customer's name and plan, allowing for personalized responses like "Let me help you with your Premium plan features" without the user having to introduce themselves. See the [Custom Session Context Guide](/guides/custom-session-context) for detailed implementation instructions on how to pass this data from your website. ## Deploying & Sharing After configuring, you can publish and share your chatbot with: **Shareable Link**: Copy your public chatbot URL for easy sharing **Embed Code**: Get iframe code to embed your chatbot in any website **Chat Bubble Widget**: Add an interactive chat bubble to your site with customizable behavior: - Show initial message bubble when minimized - Start minimized or expanded by default - Available in HTML and Next.js formats ## View Conversation Logs Monitor your chatbot's performance through the logs section: - View complete chat histories - Access collected user information - See custom session context data for each conversation ## Frequently Asked Questions ### Is there a way to save progress in a chatbot conversation and come back? Yes, progress saving is built into the chatbot system. When a user starts a chatbot conversation, a unique identifier called "chatbot conversation ID" is generated and appears in the URL as `ccid`. The URL would look something like this: `https://[YOUR_CHATBOT_URL]?ccid=[CONVERSATION_ID]`. Users can save or bookmark this specific URL to return to it later and continue their conversation from where they left off. You can also utilize webhooks to save the conversation ID somewhere for your users, allowing them to access their conversation history through your own system. --- # Common Issues and Debugging Tips This guide covers common issues you might encounter when working with AI agents in MindPal and how to resolve them. ## Context and Memory Issues ### Out of Context Length **Issue:** Your agent encounters an error about context length being exceeded. This happens when the conversation history, knowledge sources, and system instructions combined exceed the model's maximum context window. **Symptoms:** - Error message mentioning "context length" or "token limit" - Agent stops responding mid-conversation - Truncated or incomplete responses **Solutions:** 1. **Switch to a larger context model:** - Claude 4.5 Sonnet (200K context) - Gemini 2.5 Pro (1M context) - GPT-4.1 (128K context) 2. **Reduce knowledge source size:** - Assign only necessary knowledge sources - Split large documents into smaller, focused ones - Use folders to organize and selectively assign knowledge 3. **Optimize system instructions:** - Keep instructions concise but clear - Remove redundant or repetitive instructions ### Agent Doesn't Remember Previous Conversations **Issue:** Your agent seems to forget what was discussed earlier in the conversation. **Solutions:** 1. **Check session continuity** - Ensure you're using the same conversation session 2. **Use Notes** - Store important information in [Notes](/agent/notes) that persist across sessions 3. **Enable Custom User ID** - For chatbots, use [Custom User ID](/guides/custom-user-id) to maintain conversation history ## Response Quality Issues ### Poor Answer Quality **Issue:** The agent's responses are vague, generic, or don't meet your expectations. **Solutions:** 1. **Upgrade the model:** - For complex reasoning: o3, o4 Mini, Claude Opus 4.5 - For creative writing: Claude 4.5 Sonnet, GPT-5 - For coding: Claude 4.5 Sonnet, DeepSeek 2. **Improve system instructions:** - Be specific about the expected output format - Include examples of good responses - Define clear constraints and guidelines 3. **Lower temperature** for more consistent, focused responses 4. **Provide more context** through knowledge sources or notes ### Agent Gives Inconsistent Responses **Issue:** The same question produces different answers each time. **Solutions:** 1. **Lower the temperature setting** (closer to 0 = more deterministic) 2. **Add more specific instructions** in the system prompt 3. **Use examples** to demonstrate desired output format ### Agent Ignores Instructions **Issue:** The agent doesn't follow your system instructions. **Solutions:** 1. **Check instruction clarity** - Avoid contradictory or ambiguous rules 2. **Move critical instructions to the top** of the system prompt 3. **Use explicit formatting:** ``` IMPORTANT: Always do X before Y. NEVER do Z. ``` 4. **Reduce instruction complexity** - Too many rules can confuse the model ## Knowledge Source Issues ### Agent Doesn't Use Knowledge Sources **Issue:** You uploaded documents, but the agent doesn't reference them in responses. **Solutions:** 1. **Verify assignment** - Ensure knowledge sources are assigned to the agent 2. **Prompt explicitly:** ``` Using the information from my uploaded documents, explain... Based on the knowledge sources I've provided... ``` 3. **Check knowledge source content** - Ensure documents were processed correctly 4. **Re-learn URLs** - For web content, use the "Relearn" button to refresh ### Inaccurate Information from Knowledge Sources **Issue:** The agent provides information that doesn't match your uploaded documents. **Solutions:** 1. **Adjust chunk size** - Smaller chunks (500-1000 characters) for precise retrieval 2. **Increase chunk overlap** - Helps maintain context across chunks 3. **Use direct quotes** in your prompts to guide retrieval 4. **Check for conflicting information** across different knowledge sources ### File Upload Failed **Issue:** Knowledge source files fail to upload or process. **Solutions:** 1. **Check file size:** - Documents: Maximum 100 MB - Images: Maximum 20 MB 2. **Verify file format:** - Supported: PDF, DOCX, XLSX, CSV, TXT, EPUB - Images: JPEG, PNG, GIF, WebP 3. **Try re-uploading** after clearing browser cache 4. **Split large files** into smaller documents ## Tool and Integration Issues ### Tools Not Working **Issue:** The agent fails to use assigned tools (web search, APIs, etc.). **Solutions:** 1. **Verify tool assignment** - Check that tools are enabled for the agent 2. **Check tool configuration:** - API endpoint is correct and accessible - Authentication headers are properly set - Request format matches the API specification 3. **Add tool usage instructions** to the system prompt: ``` When the user asks about current events, use the web search tool. Always use the weather API when asked about weather conditions. ``` 4. **Test the tool independently** - Use the tool's test feature to verify it works ### MCP Server Connection Failed **Issue:** Cannot connect to an MCP server or tools aren't appearing. **Solutions:** 1. **Verify server URL** - Ensure the URL is correct and accessible 2. **Check server type** - MindPal only supports Streamable HTTP and SSE servers (not STDIO) 3. **Verify authentication** - Some servers require API keys in headers 4. **Test the server** - Use the connection test feature ### Composio Integration Not Working **Issue:** Connected apps don't work as expected. **Solutions:** 1. **Reconnect the app** - OAuth tokens may have expired 2. **Check allowed actions** - Ensure the specific action is enabled 3. **Verify permissions** - Your account may lack permission for certain actions 4. **Review rate limits** - The external service may have usage limits ## Published Chatbot Issues ### Chatbot Not Loading **Issue:** Published chatbot doesn't appear or load on your website. **Solutions:** 1. **Check embed code** - Ensure it's correctly pasted in your HTML 2. **Verify domain restrictions** - If set, your domain must be in the allowed list 3. **Check for JavaScript errors** - Open browser console (F12) for error messages 4. **Clear browser cache** - Old cached versions may cause issues ### Custom Session Context Not Working **Issue:** Personalization data isn't being passed to the chatbot. **Solutions:** 1. **Verify configuration** - Ensure custom session context is enabled 2. **Check key names** - Keys must match exactly (case-sensitive) 3. **Verify script order:** - Widget: `mindpalConfig` must be defined BEFORE loading the script - Iframe: Include the helper script with correct `data-target` 4. **Check domain restrictions** - Your domain must be allowed ## Performance Issues ### Slow Response Times **Issue:** Agent takes too long to respond. **Solutions:** 1. **Use faster models:** - Gemini 2.5 Flash (fastest) - GPT-5 Mini - Claude 4.5 Haiku 2. **Reduce knowledge source size** - Large contexts slow down processing 3. **Simplify system instructions** - Shorter prompts process faster 4. **Check your internet connection** ### High Credit Consumption **Issue:** Using more AI credits than expected. **Solutions:** 1. **Use cost-effective models:** - Gemini 2.5 Flash: 1 credit - DeepSeek V3/R1: 0.5 credits - GPT-5 Nano: 1 credit 2. **Set output length limits** - Restrict maximum tokens 3. **Review workflow efficiency** - Each node consumes credits 4. **Use Gate Nodes** to stop workflows early when inputs are invalid ## Getting More Help If these solutions don't resolve your issue: 1. **Check the [workflow common issues](/workflow/common-issues)** for workflow-specific problems 2. **Search our [YouTube tutorials](https://www.youtube.com/@MindPalSpace)** for video guides 3. **Join our [Facebook Community](https://www.facebook.com/groups/mindpalhub)** to ask questions 4. **Contact support** at [support@mindpal.io](mailto:support@mindpal.io) --- # Composio Integrations Composio enables your MindPal agents to connect with 100+ external applications and services through secure OAuth authentication. This allows your agents to perform actions in tools like Gmail, Slack, Google Calendar, Notion, and many more. ## What is Composio? Composio is an integration platform that provides: - **Secure OAuth connections** to third-party apps - **Pre-built actions** for common tasks - **Fine-grained control** over what each agent can do Unlike [MCP integrations](/agent/mcp) which use the Model Context Protocol, Composio uses traditional OAuth authentication and provides a curated set of actions for each application. ## How Composio Works 1. **Connect an app** - Authenticate with the service using OAuth 2. **Select allowed actions** - Choose which specific actions your agent can perform 3. **Agent uses actions** - During conversations, the agent can execute allowed actions ## Setting Up Composio Integrations ### Step 1: Navigate to Integrations 1. Open your agent's settings 2. Find the **"Integrations"** or **"Composio"** section 3. Click **"Connect an app"** or **"Add integration"** ### Step 2: Choose an Application Browse the integration marketplace to find the app you want to connect: **Popular Integrations:** | Category | Applications | | ---------------------- | ----------------------------------------------- | | **Communication** | Gmail, Slack, Discord, Microsoft Teams | | **Productivity** | Google Calendar, Google Drive, Notion, Airtable | | **Project Management** | Trello, Asana, Jira, Linear | | **CRM & Sales** | HubSpot, Salesforce, Pipedrive | | **Marketing** | Mailchimp, SendGrid, ConvertKit | | **Developer** | GitHub, GitLab, Vercel | | **E-commerce** | Shopify, Stripe, Square | | **Social** | LinkedIn, Twitter/X, Facebook | ### Step 3: Authenticate 1. Click **"Connect"** on your chosen app 2. A popup window opens for authentication 3. Log in to the service and authorize MindPal 4. The popup closes automatically when complete ### Step 4: Select Allowed Actions After connecting, choose which actions your agent can perform: **Example actions for Gmail:** - Send email - Read emails - Search emails - Create draft - Reply to email **Example actions for Slack:** - Send message to channel - Send direct message - Read channel messages - Create channel ## Using Integrations in Agents Once connected, your agent can automatically use the integrations when needed. You can guide usage through system instructions: ``` You have access to Gmail integration. When the user asks to send an email: 1. Confirm the recipient and subject with the user 2. Draft the email content 3. Send the email using the Gmail integration 4. Confirm successful delivery ``` ## Managing Connections ### Viewing Connected Apps 1. Go to your agent settings 2. Open the **Integrations** section 3. View all connected apps and their status ### Modifying Allowed Actions 1. Click on a connected integration 2. Enable or disable specific actions 3. Save your changes ### Disconnecting an App 1. Click on the connected integration 2. Click **"Disconnect"** or **"Remove"** 3. Confirm the disconnection This removes MindPal's access to that service. You'll need to reconnect and re-authenticate to use it again. ## Composio vs MCP Both Composio and MCP let agents connect to external services, but they work differently: | Feature | Composio | MCP | | -------------------- | ---------------------- | -------------------------- | | **Authentication** | OAuth (per user) | Server URL (shared) | | **Setup Complexity** | Click to connect | Requires server URL | | **Action Control** | Select allowed actions | All server tools available | | **Best For** | Common SaaS apps | Custom/specialized tools | | **User-Specific** | Yes (your credentials) | No (shared server) | **When to use Composio:** - Connecting to popular SaaS applications - Need user-specific authentication - Want fine-grained action control **When to use MCP:** - Using automation platforms (Zapier, Make) - Need custom tools or servers - Sharing tools across all users ## Security Best Practices ### 1. Limit Actions Only enable actions your agent actually needs. If your agent only needs to read emails, don't enable "send email." ### 2. Review Regularly Periodically review connected integrations and remove ones you no longer use. ### 3. Use Specific Agents Create dedicated agents for specific integrations rather than giving one agent access to everything. ### 4. Test Before Production Test integrations in a controlled environment before deploying them in published chatbots or workflows. ## Troubleshooting ### Connection Failed - Clear browser cache and try again - Ensure pop-ups are enabled for the authentication window - Check if the service requires additional permissions ### Actions Not Working - Verify the action is enabled in your integration settings - Check if your service account has permission for that action - Review rate limits on the external service ### Authentication Expired - Some services require periodic re-authentication - Disconnect and reconnect the integration if you see auth errors ## Example Use Cases ### Customer Support Agent with Gmail ``` Agent: Customer Support Assistant Integrations: Gmail (read, reply) System Instructions: "When a customer asks about their order, search their email history to find relevant order confirmations and shipping updates. Use this information to provide accurate support." ``` ### Project Manager Agent with Multiple Tools ``` Agent: Project Coordinator Integrations: - Slack (send messages) - Asana (create tasks, update status) - Google Calendar (check availability, create events) System Instructions: "Help coordinate projects by creating tasks in Asana, scheduling meetings in Google Calendar, and notifying team members in Slack." ``` ### Social Media Agent with LinkedIn ``` Agent: LinkedIn Content Creator Integrations: LinkedIn (create post) System Instructions: "Help users craft and publish professional LinkedIn posts. Always show the draft for approval before posting." ``` --- # Knowledge Sources All AI agents have common sense knowledge. But what if you want your agent to understand your company's products, policies, or unique processes? That's where knowledge sources come in - they let you give agents information and data specific to your organization that they can learn from and use. ## What are Knowledge Sources? Knowledge sources are data collections that provide your AI agent with essential business context. They serve as your agent's long-term memory, allowing it to access and reference your organization's information when needed. There are two main types of knowledge sources: 1. **Website & File Uploads**: Static content from various sources 2. **Notes**: Dynamic, easily updatable content that can be created and edited within MindPal ## How Knowledge Sources Work ![How Knowledge Sources Work](/features/knowledge-source/how-knowledge-source-work.png) Knowledge sources are processed and stored in a way that makes them easily accessible to your AI agent: 1. When you upload content, it's automatically processed and segmented into manageable chunks 2. These chunks are then vectorized and stored in the database 3. When your agent needs information, it searches through these chunks using semantic similarity 4. The most relevant information is then used by the agent to provide accurate responses ## Configuring Knowledge Sources ### Uploading Files & URLs You can upload files and URLs as knowledge sources by navigating to "Assets" → "Knowledge Sources". #### Supported File Formats | Type | Formats | Max Size | | ------------- | ----------------------------------- | -------- | | **Documents** | PDF, DOCX, XLSX, CSV, TXT, EPUB | 100 MB | | **Images** | JPEG, PNG, GIF, WebP | 20 MB | | **Media** | Video (MP4, WebM), Audio (MP3, WAV) | 100 MB | #### URLs and Websites For URLs, you can: - Add individual pages by entering the URL directly - Fetch sub-pages by clicking **"List all sub pages"** to discover linked pages - Update content later using the **"Relearn"** button #### Processing Parameters For each knowledge source, you can optionally fine-tune how MindPal processes the content: | Parameter | Description | Default | | ----------------- | --------------------------------------------------------- | ------- | | **Chunk Size** | Maximum size of each content segment | Auto | | **Chunk Overlap** | Overlap between consecutive chunks for context continuity | Auto | | **Separators** | Characters that guide content splitting | Auto | ### Creating Notes You can create notes by navigating to "Assets" → "Notes". Notes are dynamic and easily updatable, allowing you to add, edit, or remove information as needed. ### Assigning Knowledge Sources & Notes to Agents After you have uploaded your knowledge sources and notes, you can assign them to agents in the agent settings. You can assign multiple knowledge sources and notes to an agent. For knowledge sources, you can select individual items or folders. If you select a folder, all items within that folder will be assigned to the agent and any changes made to the folder (addition, update, or removal of items) will be automatically applied to the assigned agents. --- # Language Model Settings AI agents need powerful language models to understand and respond to requests. But different tasks require different levels of capability - a simple chatbot might only need basic comprehension, while a complex analysis tool needs advanced reasoning. That's where language model settings come in - they let you choose and configure the AI engine that powers your agent, ensuring you get the right balance of performance and efficiency for your specific needs. ## What are Language Model Settings? Language model settings control which AI model powers your agent and how it works, directly affecting the quality, speed, and cost of your agent's responses. Every agent needs a language model to work. ## How Language Model Settings Work When you run an agent, your request is processed according to your chosen model and settings to generate the most appropriate response for your needs. ## Configuring Language Model Settings ### 1. Choose a Model #### Available Models MindPal offers all state-of-the-art AI models. Here's our current model lineup: | Provider | Top Models | Best For | | ---------- | ---------------------------------------------------- | ------------------------------------- | | OpenAI | GPT-5, GPT-5 Mini, o3, o3 Mini, o4 Mini | General tasks, following instructions | | Anthropic | Claude Opus 4.5, Claude 4.5 Sonnet, Claude 4.5 Haiku | Writing, coding, analysis | | Google | Gemini 3.0 Pro, Gemini 2.5 Pro, Gemini 2.5 Flash | Large contexts, visual tasks | | DeepSeek | DeepSeek V3, DeepSeek R1 | Coding, cost-effective reasoning | | Perplexity | Sonar, Sonar Pro, Sonar Deep Research | Web search, research | | XAI | Grok 2, Grok 4 Fast | General tasks | | Groq | LLaMa 3.3 70b, Kimi K2 | Fast, cost-effective | #### How to Choose a Model Consider these rules of thumbs when selecting a model: 1. **Check Model Capabilities** Make sure the selected model's capabilities match the requirements of the agent's job. Look for these key features in the model tooltip: | Parameter | Description | | --- | --- | | Context window | How much information the model can process at once, including your input and its memory of the conversation | | Maximum output length | The longest response the model can generate in a single turn | | Image processing ability | Whether the model can understand and analyze images you provide | | Tool usage support | Whether the model can use external tools provided in the "Tools" settings of your agent | 2. **Don't Overkill** For simple tasks, cost-effective models are often sufficient: - **Gemini 2.5 Flash** (1 credit) - Excellent for most tasks - **DeepSeek V3/R1** (0.5 credits) - Great for coding and reasoning - **GPT-5 Mini** (3 credits) - Balanced quality and cost Reserve premium models (Claude Opus 4.5, o3) for complex reasoning tasks. 3. **Consider Model Strengths** If multiple models meet your requirements, consider their unique strengths: | Model Family | Key Strengths | | ------------------ | -------------------------------------------------------------------------------------------------------------- | | OpenAI (GPT-5, o3) | • Excellent at following instructions• Consistent output quality• Strong at structured data tasks | | Anthropic (Claude) | • Superior coding abilities• Nuanced writing and analysis• Great at technical documentation | | Google (Gemini) | • Massive context windows (1M+ tokens)• Strong reasoning capabilities• Powerful visual understanding | | DeepSeek | • Extremely cost-effective (0.5 credits)• Excellent for coding tasks• Strong reasoning | | Perplexity (Sonar) | • Built-in web search• Real-time information• Research-focused | | Groq (LLaMa, Kimi) | • Very fast responses• Cost-effective• Good for general tasks | ### 2. Set Maximum Output Length Control how long your agent's responses should be by setting the maximum output tokens. For your reference, 1,000 tokens is about 750 words. If you don't set a specific value and use "Auto", the model will adjust the length based on what you're asking it to do. ### 3. Control Creativity Level Adjust how creative your agent's responses are by setting the temperature. The higher the temperature, the more varied and creative the model's responses will be. Good for brainstorming and creative work. The lower the temperature, the more consistent and predictable the model's responses will be. Good for fact-based tasks. Pick "Auto" and the model will adjust creativity based on your task. --- # Model Context Protocol (MCP) ## What is MCP? [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) is an open protocol, initiated by Anthropic, that standardizes how AI agents connect with external data, tools, and services. Think of it like a **USB-C port for your AI agent**. Normally, connecting an AI agent to external tools (like reading data from Google Drive or triggering actions in other apps) requires complex, time-consuming setup, especially if you're not a technical expert. MCP simplifies this dramatically. Different providers offer **MCP servers**, which act like USB-C hubs packed with specific data or tools. You can "plug" one of these servers into your MindPal agent using just a single URL. Instantly, your agent gains access to everything offered by that server – no complicated configuration needed. ## Why use MCP? MCP offers several key benefits: - **Simple Integration**: Connect your AI agents to external tools with just a URL, eliminating complex coding or setup. - **Enhanced Capabilities**: Give your agents access to a much wider range of data and functionality from external sources. - **Streamlined Workflows**: Build more powerful and efficient automated processes by letting agents interact with other apps and services. - **Better Context**: Allow agents to understand and work with your specific data and tools more effectively. Given MCP's transformative potential, MindPal proudly leads as the **first no-code AI agent platform** to integrate this technology, democratizing access to these advanced capabilities for all users. ## MCP Support in MindPal It's important to know what MindPal currently supports regarding MCP: - **Tools Only**: An MCP server can potentially offer various things like Resources, Prompts, or Sampling Routes. Right now, MindPal only supports Tools provided by MCP servers. - **Streamable HTTP/SSE Servers Only**: MCP servers can operate in different ways. MindPal supports Streamable HTTP and SSE (Server-Sent Events) servers, which are suitable for cloud-based applications like ours. We do not support STDIO servers, which are typically used for local integrations. - **Two Authentication Methods**: MindPal supports both Headers (API Key) and OAuth authentication. Some MCP servers require you to pass an API key in headers; others use OAuth so you can connect by authorizing in a popup – no keys to copy or manage manually. OAuth works for servers that support [OAuth 2.0 Dynamic Client Registration](https://datatracker.ietf.org/doc/html/rfc7591) and expose the standard metadata endpoints. ## How to configure MCP in MindPal Setting up an MCP connection in MindPal is straightforward: 1. **Find a remote MCP Server**: Locate a server that provides the tools your agent needs. See the list below for some compatible options. 2. **Navigate to Agent Settings**: Go to the settings page for the AI agent you want to configure. 3. **Go to the MCP Section**: Find the section dedicated to MCP connections. 4. **Add Server**: Click on "Add new remote MCP server". 5. **Choose your setup flow**: - **OAuth servers** (e.g. Notion, HubSpot): Select the provider, then click "Connect with OAuth". A popup opens where you authorize MindPal to access your account. Once authorized, the connection is ready – no API keys needed. - **API Key servers** (e.g. Zapier, Firecrawl): Paste your MCP server URL, add any required headers (like `Authorization: Bearer `), and give the connection a recognizable name. 6. **Save & Test**: Save the configuration. MindPal will automatically test the connection to verify that the server is reachable and configured correctly, and to retrieve the list of available tools. That's it! Your AI agent is now ready to use the tools provided by the connected MCP server. ## Compatible MCP Servers The following remote MCP servers are supported in MindPal. Select your provider from the guided setup when adding a new MCP server, or use "Custom" to paste any compatible server URL manually. _Servers requiring OAuth 2.1 without dynamic client registration (e.g. Atlassian, Box, GitHub, Plaid) are not yet supported._ Developer tools (IDEs, build systems, code repositories) are excluded; use "Custom" with the server URL to add those. #### [Notion MCP](https://developers.notion.com/guides/mcp/get-started-with-mcp) - **Offers:** Access to your Notion workspace – pages, databases, and blocks – for AI-assisted writing, research, and knowledge management - **Access:** Select "Notion" in the guided setup, click "Connect with OAuth", and authorize in the popup. No API key required #### [Zapier MCP](https://zapier.com/mcp) - **Offers:** Access to 7,000+ apps with fine-grained control over individual actions - **Access:** Sign up, create your MCP server, add desired actions, use your unique server URL #### [Make MCP](https://developers.make.com/mcp-server) - **Offers:** Turn existing "On Demand" Make Scenarios into tools for AI with bidirectional communication - **Access:** Create account, set up Scenarios as "On Demand," generate MCP token in Profile page #### [Apify Actors MCP](https://mcp.apify.com/) - **Offers:** Access to 4,000+ web scraping and automation tools - **Access:** Server available at `https://mcp.apify.com` (streamable) or `https://mcp.apify.com/sse` (SSE transport) with `Authorization: Bearer ` header. Get your API token from Apify Console Integrations section #### [Composio MCP](https://mcp.composio.dev) - **Offers:** Multiple server endpoints, each connecting to specific applications with built-in authentication - **Access:** Create an account, select the applications you want to connect, and receive dedicated MCP server URLs for each integration #### [Activepieces MCP](https://www.activepieces.com/docs/ai/mcp) - **Offers:** Turn "Pieces" (single actions) and "Flows" (multi-step workflows) into MCP tools, with configurable inputs and outputs for MCP tools - **Access:** Use their cloud service or self-host. Go to AI → MCP in your Activepieces Dashboard, start connecting the tools that you want to give AI access to, use your unique server URL #### [Pipedream MCP](https://mcp.pipedream.com/) - **Offers:** Access to 2,500+ APIs and 10,000+ integration tools, with dedicated endpoints for each connected service - **Access:** Create an account, choose your desired integrations, and receive a unique server URL for each of your integrations #### [n8n MCP Server](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger/) - **Offers:** Turns n8n workflows into MCP tools, allowing AI applications to access n8n's automation capabilities and integration with hundreds of services - **Access:** Set up the MCP Server Trigger node in your n8n workflow, configure authentication, and use the generated MCP URL to connect #### [Supermachine Public MCP Servers](https://supermachine.ai/public-mcp-servers) - **Offers:** Access to 3939+ public MCP servers by spinning up virtual machines that run these MCP servers with minimal configuration - **Access:** Search and spin up remote MCPs through the Supermachine platform, then use them in your AI applications #### [Smithery](https://smithery.ai/) - **Offers:** Access to 7,316+ MCP servers built by the community, including web search, memory management, browser automation, third-party tool integrations, database query integration, and weather data APIs - **Access:** Create an account and access the platform's extensive library of community-built skills and extensions #### [Pabbly Connect MCP](https://forum.pabbly.com/threads/pabbly-connect-mcp-server-beta.28381/) - **Offers:** Seamless workflow automation and AI tool integration with direct access to Pabbly Connect's suite of business management applications (including CRM, email, billing, forms, and more) via MCP. Enables AI assistants to execute workflow actions, add leads, send emails, fetch data, and more, directly from your Pabbly Connect workflows. - **Access:** In your Pabbly Connect workflow, use the "Add to MCP server" option for any action, configure your tool, and retrieve your unique MCP Server URL from [Pabbly Connect MCP Settings](https://connect.pabbly.com/v2/app/setting/mcp-server). Use this URL as your endpoint for AI clients (e.g., Claude Desktop, etc). See [setup instructions](https://forum.pabbly.com/threads/pabbly-connect-mcp-server-beta.28381/) for full details. #### [DeepWiki MCP](https://docs.devin.ai/work-with-devin/deepwiki-mcp) - **Offers:** Access to GitHub repository documentation and AI-powered search capabilities. Includes tools to read wiki structure, view documentation contents, and ask questions about repositories - **Access:** Free, remote, no-authentication-required service. Server URLs: `https://mcp.deepwiki.com/sse` (SSE) or `https://mcp.deepwiki.com/mcp` (Streamable HTTP) #### [GitMCP](https://gitmcp.io/) - **Offers:** Instant MCP server creation for any GitHub repository by simply changing the domain from github.com to gitmcp.io. Provides AI assistants with deep code context including llms.txt, llms-full.txt, readme.md and more - **Access:** No setup required. Simply replace `github.com` with `gitmcp.io` in any repository URL to get an instant MCP server endpoint #### [Supermemory MCP](https://supermemory.ai) - **Offers:** Personal, universal memory layer that travels with you across different AI platforms. Store and retrieve memories, create a persistent knowledge base - **Access:** Get your unique MCP URL (keep secret) on the website #### [Firecrawl MCP](https://docs.firecrawl.dev/mcp) - **Offers:** Web scraping, crawling, and discovery with advanced content extraction, search capabilities, deep research, and structured data extraction using LLM - **Access:** Server available at `https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/sse` with API key authentication required. Get your API key from [firecrawl.dev/app/api-keys](https://firecrawl.dev/app/api-keys) #### [Asana MCP](https://developers.asana.com/docs/mcp-server) - **Offers:** Access Asana projects, tasks, and goals – create, manage, and query work from AI assistants - **Access:** Select in guided setup and connect with OAuth. Server: `https://mcp.asana.com/sse` #### [Canva MCP](https://www.canva.com) - **Offers:** Design tools and asset creation - **Access:** OAuth at `https://mcp.canva.com/mcp` #### [Cloudinary MCP](https://cloudinary.com/documentation) - **Offers:** Asset management for images and media - **Access:** OAuth at `https://asset-management.mcp.cloudinary.com/sse` #### [Close MCP](https://help.close.com/docs/mcp-server) - **Offers:** CRM for sales – leads, contacts, activities - **Access:** API key at `https://mcp.close.com/mcp` with `Authorization: Bearer ` header #### [Exa Search MCP](https://exa.ai) - **Offers:** Web and semantic search - **Access:** Open at `https://mcp.exa.ai/mcp` #### [Firefly MCP](https://fireflies.ai) - **Offers:** Meeting transcription and notes - **Access:** OAuth at `https://api.fireflies.ai/mcp` #### [Dialer MCP](https://getdialer.app) - **Offers:** Outbound phone calls - **Access:** OAuth at `https://getdialer.app/sse` #### [HubSpot MCP](https://hubspot.com) - **Offers:** CRM – contacts, companies, deals - **Access:** API key at `https://app.hubspot.com/mcp/v1/http` #### [Indeed MCP](https://indeed.com) - **Offers:** Job board and recruitment data - **Access:** OAuth at `https://mcp.indeed.com/claude/mcp` #### [Intercom MCP](https://intercom.com) - **Offers:** Customer support and messaging - **Access:** OAuth at `https://mcp.intercom.com/sse` #### [Invidio MCP](https://invideo.io) - **Offers:** Video creation platform - **Access:** OAuth at `https://mcp.invideo.io/sse` #### [Linear MCP](https://linear.app/docs/mcp) - **Offers:** Project management – issues, projects, cycles - **Access:** Select in guided setup and connect with OAuth. Server: `https://mcp.linear.app/sse` #### [Mercado Libre MCP](https://mcp.mercadolibre.com) - **Offers:** E-commerce – products, orders - **Access:** API key at `https://mcp.mercadolibre.com/mcp` #### [Mercado Pago MCP](https://mcp.mercadopago.com) - **Offers:** Payments for Latin America - **Access:** API key at `https://mcp.mercadopago.com/mcp` #### [Meta Ads by Pipeboard MCP](https://pipeboard.co) - **Offers:** Meta/Facebook advertising management - **Access:** OAuth at `https://mcp.pipeboard.co/meta-ads-mcp` #### [monday.com MCP](https://github.com/mondaycom/mcp) - **Offers:** Project management and workflows - **Access:** OAuth at `https://mcp.monday.com/sse` #### [MorningStar MCP](https://morningstar.com) - **Offers:** Financial and market data analysis - **Access:** OAuth at `https://mcp.morningstar.com/mcp` #### [Parallel Search MCP](https://parallel.ai) - **Offers:** Web search - **Access:** OAuth at `https://search-mcp.parallel.ai/mcp` #### [Parallel Task MCP](https://parallel.ai) - **Offers:** Web research - **Access:** OAuth at `https://task-mcp.parallel.ai/mcp` #### [PayPal MCP](https://paypal.com) - **Offers:** Payment processing - **Access:** OAuth at `https://mcp.paypal.com/sse` #### [Ramp MCP](https://ramp.com) - **Offers:** Corporate cards and spend management - **Access:** OAuth at `https://ramp-mcp-remote.ramp.com/mcp` #### [SearchAPI MCP](https://www.searchapi.io) - **Offers:** Web search API - **Access:** API key at `https://www.searchapi.io/mcp` #### [Short.io MCP](https://short.io) - **Offers:** Link shortening and management - **Access:** API key at `https://ai-assistant.short.io/mcp` #### [Square MCP](https://squareup.com) - **Offers:** Payments and point-of-sale - **Access:** OAuth at `https://mcp.squareup.com/sse` #### [Stripe MCP](https://stripe.com) - **Offers:** Payment processing - **Access:** OAuth or API key at `https://mcp.stripe.com/` #### [Stytch MCP](https://stytch.com) - **Offers:** Authentication and user management - **Access:** OAuth at `https://mcp.stytch.dev/mcp` #### [Telnyx MCP](https://telnyx.com) - **Offers:** Voice, SMS, and communications - **Access:** API key at `https://api.telnyx.com/v2/mcp` #### [ThoughtSpot MCP](https://thoughtspot.com) - **Offers:** Data analytics and BI - **Access:** OAuth at `https://agent.thoughtspot.app/mcp` #### [Turkish Airlines MCP](https://mcp.turkishtechlab.com) - **Offers:** Flight and airline information - **Access:** OAuth at `https://mcp.turkishtechlab.com/mcp` #### [Webflow MCP](https://webflow.com) - **Offers:** CMS and website building - **Access:** OAuth at `https://mcp.webflow.com/sse` #### [Wix MCP](https://wix.com) - **Offers:** CMS and website building - **Access:** OAuth at `https://mcp.wix.com/sse` #### [Google Big Query MCP](https://docs.cloud.google.com/bigquery/docs/reference/mcp) - **Offers:** Data analysis and SQL queries - **Access:** API key at `https://bigquery.googleapis.com/mcp` #### [Google Maps MCP](https://developers.google.com/maps/ai/grounding-lite/reference/mcp) - **Offers:** Mapping and location services - **Access:** API key at `https://mapstools.googleapis.com/mcp` We will continuously test and add more compatible MCP servers to this list as they become available. ## Learn more about MCP For a deeper understanding of MCP and its potential, check out Anthropic's resources or our blog post: [Model Context Protocol Explained: AI for Everyone](https://mindpal.space/blog/model-context-protocol-explained-ai-for-everyone) --- # Notes Notes are a powerful way to store persistent information that your AI agents can access and remember. Unlike knowledge sources (which are typically documents and files), notes are dynamic, easily editable content that serves as your agent's long-term memory. ## What are Notes? Notes are text-based knowledge entries that you create and manage within MindPal. They function as a persistent memory layer for your AI agents, allowing them to: - Remember important information across conversations - Access dynamic content that changes frequently - Store preferences, facts, and context about your business - Maintain consistent knowledge that doesn't need document uploads ## Notes vs Knowledge Sources | Feature | Notes | Knowledge Sources | | ---------------- | -------------------------------------- | -------------------------------------------- | | **Content Type** | Text written directly in MindPal | Uploaded files (PDF, Word, etc.) or URLs | | **Editing** | Easy inline editing | Requires re-upload or re-learn | | **Best For** | Dynamic info, preferences, quick facts | Comprehensive documents, reference materials | | **Format** | Rich text with formatting | Original file format | | **Size** | Shorter, focused entries | Longer documents | ## How Notes Work 1. **You create notes** with specific information you want agents to remember 2. **You assign notes** to agents that need this information 3. **Agents automatically access** assigned notes during conversations 4. **Notes update instantly** - changes are reflected immediately in agent responses ## Creating and Managing Notes ### Creating a Note 1. Go to **"Assets"** → **"Notes"** in your workspace 2. Click **"+ Create note"** or the create button 3. Add a **Title** - make it descriptive so you can find it later 4. Write your **Content** using the rich text editor 5. Add **Categories** (optional) to organize your notes ### Rich Text Editor Features The note editor supports: - **Headings** - Structure your content with H1, H2, H3 - **Formatting** - Bold, italic, underline, strikethrough - **Lists** - Bullet points and numbered lists - **Links** - Add hyperlinks to external resources - **Tables** - Organize structured information - **Code blocks** - Format technical content ### Organizing Notes with Categories Use categories (tags) to organize notes by topic: - `product-info` - Product details and specifications - `company-policies` - Internal guidelines and rules - `customer-preferences` - Client-specific information - `faq` - Frequently asked questions and answers You can filter and search notes by category in the sidebar. ## Assigning Notes to Agents ### Method 1: From Agent Settings 1. Open your agent's configuration 2. Scroll to the **Notes** section 3. Click **"Add notes"** 4. Select the notes you want to assign 5. Save your agent ### Method 2: From the Notes Library 1. Open a note 2. Click the share/assign button 3. Select which agents should have access ## Use Cases ### 1. Product Information Store product details, pricing, and specifications that agents need to reference: ``` Title: Product Pricing 2024 ## Standard Plan - Price: $49/month - Features: 5 users, 10GB storage ## Pro Plan - Price: $99/month - Features: 25 users, 100GB storage, priority support ``` ### 2. Company Policies Keep agents informed about company guidelines: ``` Title: Refund Policy We offer a 30-day money-back guarantee on all plans. Conditions: - Request must be within 30 days of purchase - No partial refunds for unused time - Refund processed within 5-7 business days ``` ### 3. Client Preferences Store client-specific information for personalized interactions: ``` Title: Client: Acme Corp Contact: John Smith (john@acme.com) Preferred communication: Email Time zone: EST Special requirements: All deliverables need legal review ``` ### 4. FAQ Responses Pre-write answers to common questions: ``` Title: Common Support Questions Q: How do I reset my password? A: Click "Forgot Password" on the login page, enter your email, and follow the reset link sent to your inbox. Q: What payment methods do you accept? A: We accept all major credit cards and PayPal. ``` ## Agent Memory Tools When you assign notes to an agent, the agent gains special abilities to work with that information: ### Automatic Access Agents automatically see and use assigned notes - no special prompting required. ### Memory Tools (Advanced) Agents can also create, update, and delete notes during conversations: - **Create notes** - Save new information from conversations - **Update notes** - Modify existing information - **Delete notes** - Remove outdated information This enables agents to maintain a learning memory that grows over time. ## Sharing Notes Notes can be made public for sharing: 1. Open the note you want to share 2. Click the **"Make Public"** toggle 3. Copy the shareable link Public notes are accessible via a unique URL without requiring MindPal login. ## Best Practices ### Keep Notes Focused Each note should cover one topic. Instead of one massive "Company Info" note, create separate notes for: - Company Overview - Product Details - Pricing Information - Contact Information ### Use Clear Titles Make titles descriptive and searchable: - "Refund Policy - 30 Day Guarantee" - "Product: Enterprise Plan Features" - "Client: ABC Company Preferences" ### Update Regularly Notes are meant to be dynamic. Review and update them when: - Prices change - Policies update - New products launch - Client preferences change ### Organize with Categories Use consistent category naming across your workspace: - Use lowercase with hyphens: `product-info`, `client-data` - Be specific: `pricing-2024` instead of just `pricing` - Limit to 2-4 categories per note --- # Sub-agent Sub-agent is a feature in MindPal that enables agents to delegate tasks to other specialized agents. This hierarchical delegation system allows you to build more robust and scalable agent workflows. ## What is a sub-agent? A sub-agent is an agent that works under another agent (parent agent) to handle specific tasks. The parent agent can delegate tasks to its sub-agents based on their expertise and capabilities. ## How it works When a parent agent receives a task, it can: 1. Analyze the task requirements 2. Identify which sub-agent is best suited for the task 3. Delegate the task to the appropriate sub-agent 4. Collect and process the results from the sub-agent To configure sub-agents for an agent in MindPal: 1. Open the agent settings 2. Navigate to the sub-agent tab at the bottom 3. Select the agent you want to confifure as the sub-agent ![How Knowledge Sources Work](/features/agent/sub-agent/sub-agent.png) ## Real-world example Let's say you have a social media management system with the following structure: ``` General Manager Agent └── Social Media Manager Agent ├── LinkedIn Post Agent ├── Twitter Post Agent ├── Facebook Post Agent └── Instagram Post Agent ``` Here's how it works in practice: 1. A user asks the General Manager Agent to "Create a social media campaign for our new product launch" 2. The General Manager Agent delegates this to the Social Media Manager Agent 3. The Social Media Manager Agent: - Creates a campaign plan - Delegates specific tasks to specialized agents: - LinkedIn Post Agent writes professional posts - Twitter Post Agent creates engaging tweets - Facebook Post Agent designs Facebook content - Instagram Post Agent develops visual content ## Benefits - **Task specialization**: Each agent can focus on its specific expertise - **Scalability**: Easy to add new specialized agents as needed - **Efficiency**: Tasks are automatically routed to the most suitable agent - **Organization**: Clear hierarchy and responsibility structure - **Flexibility**: Agents can be nested at multiple levels ## Use cases - Content creation workflows - Customer service systems - Project management - Research and analysis - Multi-platform marketing campaigns - Complex problem-solving tasks --- # System Instructions Out of the box, AI agents are generalists - they can engage in conversation but lack specific focus or consistent behavior patterns. What if you want your agent to be a dedicated customer service expert who always maintains a friendly tone? Or a technical specialist who follows strict protocols? That's where system instructions come in - they transform general-purpose AI into focused, reliable assistants that consistently follow your rules and guidelines. ## What are System Instructions? Think of system instructions as the "operating manual" for your AI agent - they determine everything from how it processes information to how it responds to requests. Unlike one-time commands or chat-specific instructions, system instructions create a consistent personality and behavior pattern that persists across all interactions. ## How System Instructions Work When you run an AI agent on MindPal, the system instructions become the `system prompt` for the AI model. This system prompt is consistently maintained throughout all interactions with the agent, whether you're: - Chatting with the agent individually - Running the agent as part of a multi-agent workflow - Using the agent across different sessions ## Configuring System Instructions In MindPal, system instructions are divided into two main sections: ### 1. Background This section defines who your agent is and what it is supposed to do. Include information such as: - **Role and identity**: e.g., "You are an experienced content strategist" - **Behavioral guidelines**: e.g., "You communicate in a friendly yet professional manner" - **Task parameters**: e.g., "You always start by understanding the target audience" - **Knowledge boundaries**: e.g., "You have deep knowledge of SEO best practices" - **Tool usage guidelines**: e.g., "You must use both Tavily and Exa Search tools at once" or "You must break down your search with Tavily tool in multiple search queries" ### 2. Desired Output Format This section specifies how your agent should structure its responses. You can define: - **Response structure**: How information should be organized - **Required components**: What must be included in each response - **Formatting preferences**: How to present different types of information - **Specific templates**: Any standardized formats to follow - **Output constraints**: Any limitations on response length or content ## Best Practices ### Do's ✓ - **Be specific**: Define clear, unambiguous instructions - **Stay focused**: Keep the agent's purpose narrow and well-defined - **Include examples**: Provide sample scenarios and desired responses - **Set boundaries**: Clearly outline what the agent should not do - **Update regularly**: Refine instructions based on performance ### Don'ts ✗ - **Avoid contradictions**: Don't give conflicting instructions - **Don't be vague**: Unclear instructions lead to inconsistent performance - **Don't overload**: Too many instructions can confuse the agent - **Don't assume knowledge**: Explicitly state required information - **Don't skip testing**: Always verify how instructions affect behavior Remember: Well-crafted system instructions are the foundation of a high-performing AI agent. Take time to design, test, and refine them for optimal results. --- # Tools By default, AI agents can only generate text based on the information they've been trained on. But what if you want your agent to check today's weather, create images, or update your company's database? That's where tools come in. ## What are Tools? Tools extend the capabilities of your AI agents by connecting them to external services via APIs. Here are some of the capabilities that tools can provide: | Capability | Use Cases | | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Generate Other Media Types | • Create images using DALL-E, Stable Diffusion, or Midjourney• Generate videos with Gen-2 or other video AI models• Produce audio content with text-to-speech models | | Fetch External Data | • Access real-time market data• Query niche industry databases• Connect to your company's internal databases• Search the internet for current information | | Take Actions | • Push data to CRM systems• Send notifications• Update databases• Trigger workflows in other systems | ## How Tools Work When you connect a tool to your AI agent, you're essentially giving it an interface to interact with external services. Here's the process: 1. The agent receives a query or task 2. It determines if external data or actions are needed 3. If required, it calls the appropriate tool via API 4. The tool performs the action and returns results 5. The agent incorporates this information into its response An agent can use multiple different tools together (e.g., use multiple data sources to generate a response) or use multiple instances of the same tool (e.g., generating different images with DALL-E). ## Configuring Tools ### Creating a New Tool You can create and manage your tools in "Assets" → "Tools". When creating a new tool, you'll need to configure these essential components: | Fields | Description | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | Title | A human-readable name for your tool (e.g., "Tavily Web Search API") | | Name | A unique identifier for the tool (e.g., "tavily_search_123") | | Description | A brief explanation of what the tool does | | API Endpoint | The URL where the API request will be sent | | Method | The HTTP method to use (GET, POST, PUT, DELETE, etc.) | | Headers | Headers as required by the API | | Query Parameters | Add URL parameters that will be appended to the API endpoint. Each parameter needs a key, value, and description | | Request Body | The data to be sent with the request (for POST/PUT methods). Can be form data or JSON. Each field needs a key, value, and description | For each item in the `Headers`, `Query Parameters`, and `Request Body` fields, you can set whether the value should be `Determined by AI` or not: - `Determined by AI`: The value will be determined by the AI agent when the tool is used, based on the current chat context. - Not `Determined by AI`: The value will be a fixed value that you must pre-define. ### Adding Tools to Your Agent Tools can be added to your agent by going to the "Tools" section in the agent settings. After adding tools, you can guide your agent on how to use them. Even though each tool has its own instructions, you can add extra directions in your agent's system instructions, especially instructions on how to use the tools in this specific context or how to use them together, things like: - Whether to use tools one at a time or together - Which tools are must-use for specific tasks - How to combine different tools for better results Think of it like giving your agent a playbook - the clearer your instructions, the better it'll handle tasks using these tools. --- # Getting Started Welcome to MindPal! This guide will walk you through creating your first AI agent and workflow step-by-step. ## Prerequisites Before you begin, make sure you have: 1. A MindPal account (sign up at [app.mindpal.space](https://app.mindpal.space)) 2. A workspace created (this happens automatically when you sign up) ## Create Your First AI Agent ## Create Your First Workflow Workflows connect multiple agents to handle complex, multi-step processes. ## Next Steps Now that you've created your first agent and workflow, explore these features: ### Enhance Your Agents - [Add Knowledge Sources](/agent/knowledge-sources) - Train agents on your documents - [Configure Tools](/agent/tools) - Give agents access to external APIs - [Set Brand Voice](/agent/brand-voice) - Maintain consistent communication style - [Add Sub-agents](/agent/sub-agent) - Create hierarchical agent structures ### Build Advanced Workflows - [Workflow Variables](/workflow/build/variables) - Pass data between steps - [Loop Node](/workflow/build/loop-node) - Process multiple items - [Router Node](/workflow/build/router-node) - Add conditional branching - [Orchestrator-Worker Node](/workflow/build/orchestrator-worker-node) - Coordinate multiple agents ### Share and Monetize - [Publish Chatbots](/agent/chatbot) - Share agents publicly - [Publish Workflows as Forms](/workflow/run/form) - Create public workflow tools - [Add Payment Nodes](/workflow/build/payment-node) - Monetize your workflows ### Integrate with Your Systems - [Public API](/workflow/trigger/api) - Trigger workflows programmatically - [Schedule Triggers](/workflow/trigger/schedule) - Run workflows automatically - [MCP Integrations](/agent/mcp) - Connect to 7000+ apps ## Getting Help - **Documentation**: You're reading it! Use the sidebar to explore topics - **Video Tutorials**: Visit our [YouTube Channel](https://www.youtube.com/@MindPalSpace) - **Community**: Join our [Facebook Group](https://www.facebook.com/groups/mindpalhub) - **Support**: Email [support@mindpal.io](mailto:support@mindpal.io) --- # Glossary A comprehensive reference of terms used in MindPal. ## A ### Agent An AI assistant trained to perform specific tasks. Agents have customizable system instructions, can access knowledge sources, and use tools to complete work. See [Introduction to Agents](/agent). ### AI Credit MindPal's unit for measuring AI usage. Different models consume different amounts of credits per request. See [How AI Credits Work](/workspace/ai-credit). ### Artifact Visual content generated by Canvas Nodes in workflows, including text documents, HTML, carousels, audio, video, and slides. ## B ### Background Mode A workflow run mode where execution happens asynchronously. You can close the window and return later to see results. ### Brand Voice Customizable communication style settings that control how agents write and respond, ensuring consistent tone across all outputs. See [Brand Voice](/agent/brand-voice). ### Bulk Run Running multiple workflow instances simultaneously by uploading batch inputs in CSV format. ## C ### Canvas Node A workflow node that generates rich media content like audio, video, and presentations. See [Canvas Node](/workflow/build/canvas-node). ### Chat Node A workflow node that enables interactive conversations between users and agents during workflow execution. See [Chat Node](/workflow/build/chat-node). ### Chatbot A published version of an agent that can be shared via link or embedded on websites. See [Chatbots](/agent/chatbot). ### Chunk Size A parameter that controls how knowledge sources are split into segments for processing and retrieval. ### Composio An integration platform that enables agents to connect with 100+ external apps through OAuth. See [Composio Integrations](/agent/composio). ### Context Window The maximum amount of text a language model can process in a single request, including both input and output. ### Custom Domain Your own domain (e.g., chat.yourcompany.com) used to host published chatbots and workflow forms instead of MindPal's default URLs. ### Custom Session Context User-specific information passed from your website to chatbots/workflows for personalized interactions. See [Custom Session Context Guide](/guides/custom-session-context). ### Custom User ID A unique identifier passed to chatbots to enable conversation history and user tracking. See [Custom User ID Guide](/guides/custom-user-id). ## E ### Editor Seat A workspace member role with full permissions to create, edit, and manage agents, workflows, and assets. ### Embed Code HTML/JavaScript code that allows you to add chatbots or workflow forms to your website. ### Evaluator-Optimizer Node A workflow node that iteratively improves output by evaluating quality and regenerating until meeting specified criteria. ## F ### Form A published workflow that presents a user-friendly interface for running workflows outside of MindPal. See [Running Workflows via Form](/workflow/run/form). ## G ### Gate Node A workflow node that enforces stopping conditions and halts execution when specified criteria are met. See [Gate Node](/workflow/build/gate-node). ## H ### Human Input Node A workflow node that collects various types of input from users, including text, files, images, and selections. See [Human Input Node](/workflow/build/human-input-node). ## I ### Info Node A workflow node that displays information to users and requires acknowledgment before continuing. See [Info Node](/workflow/build/info-node). ## K ### Knowledge Source Documents, URLs, or images uploaded to MindPal that agents can reference when generating responses. See [Knowledge Sources](/agent/knowledge-sources). ## L ### Language Model (LLM) The AI model that powers an agent's reasoning and text generation. Options include models from OpenAI, Anthropic, Google, and others. See [Language Model Settings](/agent/language-model). ### Loop Node A workflow node that automatically performs a task across multiple items in a list. See [Loop Node](/workflow/build/loop-node). ## M ### MCP (Model Context Protocol) An open protocol for connecting AI agents to external tools and services using server URLs. See [Model Context Protocol](/agent/mcp). ### Memory An agent's ability to store and recall information from previous conversations and interactions. ### Multi-Agent Workflow A workflow system that connects multiple agents to handle complex, multi-step processes. See [Introduction to Multi-Agent Workflows](/workflow). ## N ### Node A building block in a workflow that performs a specific function. Types include Agent, Human Input, Loop, Router, and more. ### Notes Dynamic, editable text entries that serve as persistent memory for agents. See [Notes](/agent/notes). ## O ### Orchestrator-Worker Node A workflow node that coordinates multiple worker agents for complex tasks requiring autonomous planning. See [Orchestrator-Worker Node](/workflow/build/orchestrator-worker-node). ## P ### Payment Node A workflow node that collects payments through Stripe during workflow execution. See [Payment Node](/workflow/build/payment-node). ### Prompt Instructions given to an AI agent or within a workflow node that define what task to perform. ### Public API MindPal's REST API for programmatically triggering workflows and retrieving results. See [Public API Trigger](/workflow/trigger/api). ## R ### Rate Limiting Controls that limit how many requests users can make to your published chatbots or workflows. See [Rate Limiting Guide](/guides/rate-limit). ### Router Node A workflow node that switches execution between different paths based on conditions. See [Router Node](/workflow/build/router-node). ## S ### Scheduled Trigger A workflow trigger that automatically runs workflows at specified times or intervals. See [Schedule Trigger](/workflow/trigger/schedule). ### Sticky Note Node A non-executable workflow node used for adding documentation and notes within the workflow canvas. ### Sub-agent An agent that works under another agent to handle delegated tasks. See [Sub-agent](/agent/sub-agent). ### Subflow Node A workflow node that runs another workflow as a step within the current workflow. See [Subflow Node](/workflow/build/subflow-node). ### Supervised Mode A workflow run mode where users review and approve each step before proceeding to the next. ### System Instructions The core configuration of an agent that defines its behavior, background, and output format. See [System Instructions](/agent/system-instructions). ## T ### Temperature A setting that controls how creative or deterministic an AI model's responses are. Higher values produce more varied output. ### Tool An external integration that allows agents to access data or perform actions beyond text generation. See [Tools](/agent/tools). ### Trigger A mechanism that starts workflow execution, including manual, API, scheduled, and form triggers. ## U ### User Seat A workspace member role with run-only access to agents and workflows, without creation or editing permissions. ## V ### Variable A reference to human input values or previous step outputs that allows data to flow between workflow nodes. See [Variables](/workflow/build/variables). ## W ### Webhook An HTTP callback that sends workflow results to external systems. Used for integrations with other platforms. ### Webhook Node A workflow node that sends execution results to external systems via HTTP. See [Webhook Node](/workflow/build/webhook-node). ### Workflow A sequence of connected nodes that automate multi-step processes using AI agents. ### Workflow Run A single execution of a workflow with specific inputs, tracked in the run history. ### Workspace A container for all your agents, workflows, knowledge sources, and team members. Each workspace has its own settings and billing. --- # Audience Memory Make your published chatbots and workflows remember returning users — so they can pick up right where they left off. ## What is Audience Memory? Think of Audience Memory as giving your chatbot or workflow a "memory" for each person who uses it. Instead of treating every visit as a brand-new conversation, Audience Memory lets your AI recognize returning users and continue from where they left off. Under the hood, this works through two pieces: - **Audience ID** (`customUserId`) — a stable identifier you pass in so MindPal knows _who_ is visiting - **Conversation state** (`ccid` for chatbots, `wrid` for workflows) — the saved conversation or run that lets users resume where they stopped ### Why You'd Want This Without Audience Memory, every visit starts from scratch. With it enabled, returning users can: - **See their conversation history** — no need to re-explain anything - **Skip repeating profile details** — the AI already knows them - **Continue interrupted sessions** — come back later and pick up where they left off - **Get smarter responses** — the AI can reference earlier context and preferences This is especially helpful for: - Customer support bots - Membership or community experiences - Course and education assistants - Order and status trackers - Product demos with multi-step conversations ## Before You Start ### Custom User ID Modes When you enable Custom User ID, you'll choose one of three modes: | Mode | What It Does | When to Use | | -------------------- | --------------------------------------------- | ------------------------------------ | | **None (Anonymous)** | No user identity — the default | When you don't need memory | | **Optional** | Users are identified only when you pass an ID | Most public experiences | | **Required** | An ID must always be passed | Protected/authenticated entry points | For most use cases, **Optional** is the way to go. Use **Required** only when your entry point is behind a login or authentication layer. ## Setting Up Audience Memory for Chatbots ### Passing the User ID **Option 1: Query string (for direct links)** Append `?cuid=` to your chatbot URL: ```text https://chatbot.getmindpal.com/?cuid= ``` **Option 2: Iframe or widget embed** Pass the ID through the config object: ```html ``` When a user returns with the same ID, they'll see their full conversation history and can continue right where they left off. ## Setting Up Audience Memory for Workflows Workflow forms work the same way — the only difference is that run records are stored under workflow run IDs instead of conversation IDs. ### Passing the User ID **Option 1: Query string (for direct links)** ```text https://workflow.getmindpal.com/?cuid= ``` **Option 2: Iframe embed** ```html ``` ## Combining Audience Memory with Session Context Audience Memory and [Custom Session Context](/guides/custom-session-context) work great together — they solve different problems: - **Audience Memory** (`customUserId`) = **who** the user is (identity + history) - **Session Context** (`customSessionContext`) = **what you know about them right now** (name, plan, order ID, etc.) Use both to greet returning users by name, reference their past conversations, and tailor responses based on their current account details — all at once. If you also need to pass user metadata like names or subscription plans, check out the [Custom Session Context guide](/guides/custom-session-context). ## Best Practices - **Use a stable ID** — generate it from your product or database (e.g., an internal user UUID) so it stays consistent across visits. - **Keep IDs consistent** — pass the same ID across both chatbot and workflow experiences for a unified memory. - **Don't expose secrets** — avoid using sensitive data (like API keys or tokens) as user IDs. - **Prefer iframe/widget for authenticated contexts** — use query strings only when the other methods aren't feasible. - **Offer a sign-in path** — this reduces ID collisions and prevents identity mix-ups. ## Troubleshooting ### History isn't loading for returning users - Confirm **Audience Memory** is turned on in Advanced settings. - Confirm **Custom User ID** is enabled in Control Access. - Double-check that the ID value matches _exactly_ on repeat visits (IDs are case-sensitive). - Verify your embed code references the correct target IDs (`id`, `data-target`, `chatbotId`). ### Different users are seeing each other's history - Look for hardcoded fallback IDs in your frontend code. - Make sure your backend isn't sending a default placeholder ID for all users. - If using Optional mode, verify that anonymous users pass _no_ ID (not a shared one). ### IDs look correct but history still resets - Re-publish your embed code after enabling Custom User ID — older embed snippets may not include the ID. - Check that your URL, cookie, or domain setup preserves the same ID value when users return. --- # Custom Session Context for Published Agents & Workflows Custom Session Context allows you to pass contextual information about your users from your website directly to your MindPal chatbots and workflows. This enables personalized AI interactions where the AI already knows relevant details about the user without requiring them to provide this information during the conversation. ## What is Custom Session Context? Think of Custom Session Context as a way to "brief" your AI before it talks to your users. Instead of asking users to introduce themselves or explain their situation, you can pre-load information like their name, account type, order ID, or any other relevant data from your existing systems. ### Key Benefits - **Personalized Conversations**: AI greets users by name and references their specific details - **Better User Experience**: Users don't need to repeat information they've already provided to your system - **Context-Aware AI**: AI understands the user's situation and can provide more relevant responses - **Seamless Integration**: Works with your existing website or platform ### Use Cases - **E-commerce**: Pass customer tier, order ID, or cart contents - **SaaS Applications**: Include user ID, subscription plan, or feature access - **Customer Support**: Pre-load customer account details and support history - **Educational Platforms**: Pass student ID, course enrollment, or progress data - **CRM Integration**: Include lead score, company name, or deal stage ## How It Works 1. **Define Context Keys**: In your chatbot or workflow settings, specify what information you want to receive (e.g., "Customer Name", "Subscription Plan") 2. **Get Generated Keys**: MindPal automatically generates machine-readable keys (e.g., `customer-name`, `subscription-plan`) 3. **Pass Context**: Use one of three methods to send this information from your website 4. **AI Uses Context**: The AI naturally incorporates this information in its responses ## Setting Up Custom Session Context ### Step 1: Enable the Feature **For Chatbots:** 1. Go to your chatbot settings 2. Navigate to the "Custom Session Context" section 3. Toggle "Enable Custom Session Context" to ON **For Workflows:** 1. Go to your workflow settings 2. Navigate to the "Form" tab 3. Find the "Custom Session Context" section 4. Toggle "Enable Custom Session Context" to ON ### Step 2: Define Your Context Keys Add the information you want to receive: 1. Click "Add Context Key" 2. Enter a **Label** - a human-readable name (e.g., "Customer Email") 3. The **Key** is automatically generated in kebab-case format (e.g., `customer-email`) 4. Add as many keys as you need (up to 20) **Example Configuration:** | Label | Generated Key | | ----------------- | ------------------- | | Customer Name | `customer-name` | | Account Type | `account-type` | | Order ID | `order-id` | | Subscription Plan | `subscription-plan` | **Important Notes:** - Only information with keys you've defined will be accepted - The generated keys are what you'll use when passing context from your website - Keys are case-sensitive, so use them exactly as shown ### Step 3: Configure Domain Restrictions (Optional but Recommended) For security, restrict which websites can send context: 1. In the "Access & Security" section, enable "Embedding Restrictions" 2. Add your website domains (one per line): ``` yourwebsite.com app.yourwebsite.com *.yourwebsite.com ``` 3. Only these domains will be able to send custom session context ## Passing Custom Session Context There are three ways to pass context from your website to MindPal. Choose the method that best fits your setup. **Security Comparison:** | Method | Security Level | Best For | | -------------------- | -------------- | ------------------------------------- | | URL Query Parameters | ⚠️ Less Secure | Non-sensitive data, email campaigns | | Iframe Config | ✅ More Secure | Embedded chatbots, user-specific data | | Widget Configuration | ✅ More Secure | Chat widgets, dynamic user data | **Recommendation:** For sensitive or user-specific information (names, emails, IDs), use iframe config or widget methods. Only use URL parameters for non-sensitive data or when the other methods aren't feasible. ### Method 1: URL Query Parameters **Best for:** Direct links, email campaigns, simple integrations **Format:** `?ctx[key]=value&ctx[another-key]=another-value` **Example:** ``` https://chatbot.getmindpal.com/your-chatbot?ctx[customer-name]=John%20Doe&ctx[account-type]=premium ``` **Use Case:** Send users to your chatbot from an email with their information pre-loaded. **Security Note:** This method is provided for convenience but is less secure than iframe or widget methods. URL parameters are visible in: - Browser address bar - Browser history - Server logs - Shared links (if users copy the URL) Only use this method for non-sensitive information. For sensitive or private data, use the iframe or widget methods instead. **HTML Example:** ```html ``` **Dynamic Example (JavaScript):** ```html ``` ### Method 2: Iframe Config (Recommended) **Best for:** Embedding chatbots/workflows as iframes on your website **How it works:** Define your context in a global configuration object. This keeps your HTML clean and makes it easy to inject dynamic values from your platform. **Basic Setup:** ```html ``` **Important:** - The key in `mindpalIframeConfig` must match your iframe's `id` - The keys inside `customSessionContext` must match the keys you defined in your MindPal settings **Dynamic Example (JavaScript):** ```html ``` ### Method 3: Widget Configuration **Best for:** Chat bubble widgets **How it works:** Set custom context in a global configuration object before loading the widget script. **Basic Setup:** ```html ``` **Important:** - Define `window.mindpalConfig` BEFORE loading the widget script - Use your generated keys exactly as shown in settings **Dynamic Example:** ```html ``` ## Platform-Specific Instructions **Important Note:** The guides below cover the most popular platforms that support robust custom session context integration. If you're using a different platform or need help with a specific integration, please contact our support team for personalized assistance. ### WordPress **Method: Iframe Config** 1. **Install a Custom HTML Block:** - In your page editor, add a "Custom HTML" block - Or use a plugin like "Insert Headers and Footers" 2. **Add the Embed Code:** ```php ``` **Widget Method:** Add to your theme's footer (Appearance → Theme Editor → footer.php) or use a plugin: ```html ``` ### Webflow **Method: Widget Configuration (Recommended)** 1. **Go to Project Settings:** - Click the gear icon in your Webflow dashboard - Navigate to "Custom Code" tab - Scroll to "Footer Code" 2. **Add the Code:** ```html ``` 3. **For Conditional Display (using Webflow Memberships):** ```html ``` **Iframe Method:** Add an "Embed" element to your page and paste: ```html ``` ### Kajabi See our dedicated [Kajabi Integration Guide](/guides/platforms/kajabi). ### Circle See our dedicated [Circle Integration Guide](/guides/platforms/circle). ### GoHighLevel See our dedicated [GoHighLevel Integration Guide](/guides/platforms/gohighlevel). ### ConvertKit **Method: URL Query Parameters (Recommended)** ConvertKit emails and landing pages work best with URL parameters. 1. **In Your ConvertKit Email:** Use liquid tags to personalize the link: ``` https://chatbot.getmindpal.com/your-chatbot?ctx[customer-name]={{ subscriber.first_name }}&ctx[customer-email]={{ subscriber.email_address }} ``` 2. **In ConvertKit Landing Pages:** Add a button or link with: ```html ``` **For Embedded Forms (Widget Method):** Add custom JavaScript to your landing page: ```html ``` ### Shopify **Method: Widget Configuration (Liquid)** 1. **Edit Your Theme:** - Go to "Online Store" → "Themes" - Click "Actions" → "Edit code" - Find `theme.liquid` file 2. **Add Before Closing `` Tag:** ```liquid {% if customer %} {% endif %} ``` **For Order-Specific Context (Thank You Page):** Edit the "Thank You" page template: ```liquid {% if order %} {% endif %} ``` **For Product Pages:** ```liquid {% if product %} {% endif %} ``` ### Wix **Method: Widget Configuration or Iframe** Wix has limited access to member data via client-side JavaScript in the published site. The best approach depends on your setup: **Option 1: Basic Widget (No Member Data)** 1. **Add Custom Code to Site:** - Go to "Settings" → "Custom Code" - Click "Add Custom Code" in the Body section (load as "All Pages") 2. **Add the Code:** ```html ``` **Option 2: Using Velo by Wix (Requires Velo Enabled)** If you have Velo (formerly Corvid) enabled on your Wix site, you can access member data: ```javascript $w.onReady(function () { if (wixUsers.currentUser.loggedIn) { wixUsers.currentUser .getMember() .then((member) => { window.mindpalConfig = { chatbotId: "your-chatbot", customSessionContext: { "member-id": member._id, "member-name": member.contactDetails?.firstName || "Member", }, }; // Load widget const script = document.createElement("script"); script.src = "https://chatbot.getmindpal.com/embed.min.js"; document.body.appendChild(script); }) .catch((error) => { console.error(error); }); } }); ``` **Option 3: URL Parameters (Simplest)** For member-only pages, use URL parameters to pass context when linking to pages with the chatbot. **Alternative: Using Wix's Built-in Elements** Add an HTML iframe element to your page: ```html ``` ### Teachable **Method: Widget Configuration with Liquid Variables** Teachable uses Liquid template language to access user and course data. You'll need to edit your theme's code. 1. **Go to Site Settings:** - Navigate to "Site" → "Theme" → "Edit Theme Code" - Or "Site" → "Code Snippets" 2. **Add to Footer or Course Pages:** ```html ``` **For Course-Specific Pages:** Add this to your course lecture template: ```html ``` **Available Liquid Variables in Teachable:** - `{{ current_user.name }}` - Student's name - `{{ current_user.email }}` - Student's email - `{{ course.name }}` - Course name - `{{ course.id }}` - Course ID - `{{ lecture.name }}` - Lecture name **Note:** You'll need access to theme editing to use Liquid variables. If you only have access to Code Snippets, use the iframe method with static context or URL parameters. ## Security Best Practices ### 1. Define Only What You Need Only create context keys for information you actually need. Don't pass sensitive data unnecessarily. **Good:** ```javascript { "customer-name": "John Doe", "account-type": "premium" } ``` **Avoid:** ```javascript { "customer-name": "John Doe", "credit-card-number": "1234-5678-9012-3456", // ❌ Never pass sensitive payment info "password": "secret123" // ❌ Never pass passwords } ``` ### 2. Enable Domain Restrictions Always restrict which domains can send custom session context: 1. In your chatbot/workflow settings, go to "Access & Security" 2. Enable "Embedding Restrictions" 3. Add only your trusted domains: ``` yourdomain.com app.yourdomain.com ``` This prevents unauthorized websites from impersonating your users. ### 3. Keep Values Simple Only pass simple text values. Complex data will be automatically filtered out. **Supported:** - Text: `"John Doe"`, `"premium"` - Numbers: `12345`, `99.99` - Booleans: `true`, `false` **Not Supported (will be filtered):** - HTML: `""` (automatically cleaned) - Objects: `{"nested": "object"}` (dropped) - Arrays: `["array", "values"]` (dropped) ### 4. Limit Data Size Each value is limited to 500 characters, and you can pass up to 20 context keys. Keep your data concise. ### 5. Use HTTPS Always use HTTPS for your website when passing custom session context. This ensures data is encrypted in transit. ### 6. Don't Pass Sensitive Information Never pass: - Passwords or authentication tokens - Credit card numbers or full payment details - Social security numbers - Private medical information - API keys or secrets ### 7. Validate on Your Side Before passing context, validate that the data belongs to the actual logged-in user. Don't trust client-side data alone. **Example (Server-Side Validation):** ```php // WordPress example - good practice display_name); $customer_email = esc_attr($user->user_email); } else { // Don't pass context for non-logged-in users $customer_name = ''; $customer_email = ''; } ?> ``` ## Troubleshooting ### Context Not Appearing in Conversations **Check:** 1. ✅ Feature is enabled in your chatbot/workflow settings 2. ✅ You've defined the context keys you're trying to pass 3. ✅ Keys match exactly (case-sensitive): use `customer-name`, not `Customer-Name` or `customername` 4. ✅ Your domain is in the allowed list (if embedding restrictions are enabled) 5. ✅ For iframe method: The helper script is loaded and `data-target` matches iframe `id` 6. ✅ For widget method: `window.mindpalConfig` is defined BEFORE loading the widget script ### Context Values Are Missing or Cut Off **Possible causes:** - Values longer than 500 characters are truncated - HTML tags are automatically removed (this is intentional for security) - Objects and arrays are dropped (only use simple values) - More than 20 keys are being passed (limit is 20) ### Iframe Method Not Working **Check:** 1. Iframe `id` matches the script's `data-target` attribute 2. Helper script loads after the iframe element 3. `window.mindpalIframeConfig` is defined with the correct iframe ID key 4. The config key in `mindpalIframeConfig` matches your iframe's `id` exactly 5. Check browser console for errors ### Widget Method Not Working **Check:** 1. `window.mindpalConfig` is defined BEFORE the widget script loads 2. Context keys are inside `customSessionContext` object 3. Keys use the exact generated keys from settings 4. Check browser console for errors ## Examples & Templates ### E-commerce Support Chatbot **Scenario:** Customer support chatbot that knows order details **Context Keys:** - Customer Name → `customer-name` - Order Number → `order-number` - Order Status → `order-status` **Implementation:** ```html ``` ### SaaS Onboarding Assistant **Scenario:** Help new users based on their plan and progress **Context Keys:** - User Name → `user-name` - Subscription Plan → `subscription-plan` - Onboarding Step → `onboarding-step` **Implementation:** ```html ``` ### Course-Specific Tutor **Scenario:** Educational workflow that adapts to student and course **Context Keys:** - Student Name → `student-name` - Course Name → `course-name` - Current Lesson → `current-lesson` **Implementation (URL Method):** ```html ``` ## Best Practices Summary 1. **Start Simple**: Begin with just a few essential context keys (2-3) 2. **Test Thoroughly**: Test with different users and scenarios 3. **Monitor Usage**: Check conversation logs to see if context is being used effectively 4. **Keep It Updated**: Remove unused context keys to keep your setup clean 5. **Document Your Setup**: Keep notes on which keys you're using and where 6. **Use Domain Restrictions**: Always enable domain restrictions for security 7. **Validate Server-Side**: Ensure data is accurate and belongs to the actual user 8. **Never Pass Secrets**: Keep sensitive information out of custom session context ## Need Help? If you run into issues: 1. Check the troubleshooting section above 2. Review your context keys in settings 3. Use browser developer console to check for errors 4. Test with a simple example first before adding complexity 5. Contact MindPal support with specific error messages --- # Custom User ID for Published Agents & Workflows Enable personalized AI experiences by connecting your users' identities to their conversations. ## What is Custom User ID? Custom User ID is a feature that lets your MindPal chatbots and workflow forms "remember" who your users are. Think of it like giving each user their own personal file folder - when they come back, the AI can pull up their previous conversations and continue where they left off. Instead of treating every visitor as a brand new person, you can pass their user ID from your website or platform to MindPal. This creates a seamless, personalized experience where users don't have to repeat themselves or lose their conversation history. ### Key Benefits - **Conversation History**: Users can see and resume their past conversations whenever they return - **Personalized Experience**: The AI remembers previous interactions and context from earlier conversations - **Better User Satisfaction**: No need for users to re-explain their situation every time they visit - **Identify Your Users**: Know exactly which user had which conversation in your logs - **Integration Ready**: Automatically includes user IDs in webhook payloads for your business systems - **Progress Tracking**: Monitor how individual users interact with your AI over time ### Use Cases This feature is perfect for: - **Membership Sites**: WordPress, Kajabi, Circle, Mighty Networks - give members personalized support - **SaaS Applications**: Let users pick up where they left off, improving retention - **E-commerce Stores**: Shopify, WooCommerce - provide continuity in customer support conversations - **Educational Platforms**: Students can return to their learning conversations anytime - **Community Platforms**: Members get consistent, personalized AI interactions - **Customer Support**: Track support conversations per customer for better service - **Course Platforms**: Teachable, Thinkific - personalized tutoring that remembers each student ## How It Works Here's the simple process: 1. **You enable the feature** in your chatbot or workflow settings 2. **You choose a mode**: Optional (flexible) or Required (authenticated users only) 3. **You pass the user ID** from your website when someone visits your chatbot 4. **MindPal remembers that user** and associates their conversations with their ID 5. **Users see their history** when they return, creating continuity The best part? Your users don't see any of this complexity - it just works seamlessly for them. ## Choosing Your Mode Before setting up, you need to decide which mode fits your needs: ### None (Anonymous) - Default **Best for:** Public chatbots where everyone should have the same experience - All conversations are anonymous - No user identification - No conversation history per user - Perfect for general information bots on public websites ### Optional **Best for:** Most situations where you have both logged-in and guest users - If a user ID is provided, users get conversation history - If no user ID is provided, chat works normally (anonymous) - Flexible for mixed audiences (some authenticated, some not) - You can always upgrade to Required later if needed **Real-world example:** An online course platform where members get personalized tutoring with history, but trial users can still use the bot without logging in. ### Required **Best for:** Private member areas where you control who accesses the chatbot - User ID must be provided or the chat won't work - Always provides conversation history - Ensures all conversations are identified - Only use if the chatbot is in a logged-in area of your site **Important:** Only choose Required if your chatbot is behind a login wall. Public pages won't work with this mode. ## Setting Up Custom User ID ### Step 1: Enable the Feature **For Chatbots:** 1. Open your chatbot in the MindPal dashboard 2. Click on the chatbot settings 3. Scroll to the "Control access" section 4. Find "Enable custom user ID" 5. Select your mode: "Optional" or "Required" (we recommend starting with Optional) 6. Save your settings 7. Click "Publish" to get your updated sharing codes **For Workflow Forms:** 1. Open your workflow in the MindPal dashboard 2. Go to the "Publish" tab -> "Customize appearance & settings" 3. Scroll to the "Control access" section 4. Find "Enable custom user ID" 5. Select your mode: "Optional" or "Required" 6. Save your settings 7. Publish to get your updated embedding code ### Step 2: Get Your Updated Embedding Code After enabling custom user ID, click the "Share & Embed" button. You'll see updated code snippets that include placeholders for the user ID: - For **Direct Links**: `?cuid=USER_123` - For **Iframe Embeds**: `customUserId: "USER_123"` in `window.mindpalIframeConfig` - For **Widget Embeds**: `customUserId: "USER_123"` In the publish modal, you can customize whether to use placeholders or static values for testing. ## Passing Custom User IDs to Your Chatbot There are three ways to pass user IDs from your website to MindPal. Choose the method that best fits how you've embedded your chatbot. ### Method 1: Direct Links **Best for:** Linking to your chatbot from emails, member dashboards, or navigation menus Add `?cuid=USER_123` to the end of your chatbot URL, replacing `USER_123` with the actual user ID. **Format:** ``` https://chatbot.getmindpal.com/your-chatbot?cuid=USER_ID_HERE ``` **When to use:** Email campaigns, dashboard links, navigation menus, or anywhere you're linking directly to the chatbot page. ### Method 2: Iframe Embeds **Best for:** Embedding the chatbot as a full-page element on your website Use the `window.mindpalIframeConfig` object to pass the user ID. This is cleaner and easier to manage than adding attributes directly to HTML tags, especially on platforms like Kajabi or Circle. **Basic Setup:** ```html ``` **Important Details:** - The key in `mindpalIframeConfig` (`"my-chatbot"`) must match your iframe's `id` - The `data-target` in the script must also match the iframe's `id` - You can configure multiple iframes on the same page by adding more entries to the config object **When to use:** Embedding the chatbot as a full section on a page, member dashboards, or dedicated support pages. ### Method 3: Chat Bubble Widget (only for published AI agents) **Best for:** Adding a floating chat button that appears on every page Add the user ID to the `mindpalConfig` object before loading the widget script. **Basic Setup:** ```html ``` **Important:** The configuration MUST be defined before you load the widget script, or it won't work. **When to use:** Site-wide floating chat button, anywhere you want the chat to be available on multiple pages. ## Platform-Specific Instructions **Important Note:** The examples below cover the most popular platforms. If you're using a different platform, the concepts are the same - you just need to find how your platform lets you insert user data dynamically. If you need help, contact our support team. ### WordPress **Method: Widget (Easiest) or Iframe** WordPress makes it easy to access logged-in user information. You'll add code to your theme or use a plugin. **Option 1: Widget Method (Site-wide)** 1. Go to **Appearance** → **Theme Editor** (or use a plugin like "Insert Headers and Footers") 2. Add this code before the closing `` tag: ```php ``` This will show the chat bubble only to logged-in users with their user ID. **Option 2: Iframe on Specific Pages** Add a Custom HTML block to any page: ```php ``` **What this does:** Gets the WordPress user ID automatically and passes it to MindPal. ### Shopify **Method: Widget with Liquid** Shopify uses the Liquid templating language to access customer data. 1. Go to **Online Store** → **Themes** 2. Click **Actions** → **Edit code** 3. Find `theme.liquid` file 4. Add this code before ``: ```liquid {% if customer %} {% endif %} ``` **For guest users too (Optional mode):** ```liquid ``` **What this does:** Shows the chatbot to all visitors, but only passes user ID for logged-in customers. ### Kajabi See our dedicated [Kajabi Integration Guide](/guides/platforms/kajabi). ### Circle See our dedicated [Circle Integration Guide](/guides/platforms/circle). ### GoHighLevel See our dedicated [GoHighLevel Integration Guide](/guides/platforms/gohighlevel). ### Teachable **Method: Widget with Liquid** Teachable also uses Liquid templates like Shopify. 1. Go to **Site** → **Code Snippets** or **Theme** → **Edit Code** 2. Add this code: ```html ``` **What this does:** Shows chatbot to everyone, passes user ID for students who are logged in. ### Webflow **Method: Widget in Custom Code** Webflow has limited built-in user data access, but works with membership integrations. 1. Go to **Project Settings** → **Custom Code** 2. Add to **Footer Code**: **Basic (no user data):** ```html ``` **With Memberstack (membership plugin):** ```html ``` ### Wix **Method: Velo Code or Static Embed** Wix requires Velo (formerly Corvid) to be enabled for dynamic user data. **If you have Velo enabled:** ```javascript $w.onReady(function () { if (wixUsers.currentUser.loggedIn) { wixUsers.currentUser.getMember().then((member) => { window.mindpalConfig = { chatbotId: "your-chatbot", customUserId: member._id, }; const script = document.createElement("script"); script.src = "https://chatbot.getmindpal.com/embed.min.js"; document.body.appendChild(script); }); } }); ``` **Without Velo (simpler):** Use the iframe method on members-only pages with a placeholder ID, or use Direct Link method. ## User ID Format Rules Keep your user IDs simple to avoid issues: **✅ Allowed:** - Letters (a-z, A-Z) - Numbers (0-9) - Hyphens (-) - Underscores (\_) - Maximum 255 characters **❌ Not allowed:** - Special characters (@, #, %, etc.) - Spaces - Emojis **Good Examples:** - `user_12345` - `customer-abc123` - `member2024` - `john-doe-456` **Bad Examples:** - `user@email.com` ❌ (has @) - `user 123` ❌ (has space) - `user#123` ❌ (has #) **Pro Tip:** Use your platform's user ID or member ID directly if it meets these rules. Most platforms (WordPress, Shopify, Kajabi) provide IDs that work perfectly. ## Best Practices ### 1. Use Your Platform's Built-in User IDs Don't create custom user IDs - use what your platform already provides: - WordPress: `get_current_user_id()` - Shopify: `{{ customer.id }}` - Kajabi: `_kAdminBar.user.id` This ensures consistency and avoids confusion. ### 2. Test with a Real User Account Before launching: 1. Log in as a test user on your site 2. Open your chatbot 3. Have a short conversation 4. Close the chat 5. Open it again - do you see your conversation history? If yes, you're all set! If no, check the troubleshooting section below. ### 3. Don't Use Sensitive Data as User IDs Never use passwords, credit cards, or sensitive personal information as user IDs: - ❌ Email addresses (can be changed) - ❌ Social security numbers - ❌ Credit card numbers - ✅ Platform-provided user IDs (numeric or alphanumeric) - ✅ Member IDs - ✅ Customer IDs ### 4. Be Consistent Once you set up custom user IDs, use the same method everywhere: - Don't mix email and user ID - Don't change the format later - Keep it simple and consistent ### 5. Consider Privacy Custom user IDs let you track conversations by user. Make sure this aligns with: - Your privacy policy - User expectations - Any legal requirements (GDPR, CCPA, etc.) Add a note in your privacy policy about conversation history if needed. ## Security Best Practices ### User IDs Are Not Secret Important: Custom user IDs appear in URLs and are visible to users. They're for identification, not authentication. **What this means:** - ✅ Safe to use: User IDs, member IDs, customer numbers - ❌ Never use: Passwords, API keys, auth tokens, session IDs ### Enable Domain Restrictions (Recommended) In your chatbot's "Access & Security" settings: 1. Turn on "Embedding Restrictions" 2. Add your website domain (e.g., `yoursite.com`) 3. This prevents others from embedding your chatbot with fake user IDs ## Troubleshooting ### Users Not Seeing Conversation History **Possible causes:** ✓ **Check:** Is custom user ID enabled? - Go to chatbot settings → Access & Security → Enable custom user ID - Make sure it's set to "Optional" or "Required" ✓ **Check:** Is the same user ID being passed every time? - User IDs must match exactly (case-sensitive) - `user123` and `User123` are different - Check your code to ensure consistency ✓ **Check:** Is the user ID being passed at all? - Open browser developer tools (F12) - Look at the chatbot URL - does it have `?cuid=` in it? - For iframe: Check if `window.mindpalIframeConfig` is defined with the correct iframe ID - For widget: Check browser console for errors ✓ **Check:** Did you recently enable this feature? - Only new conversations (after enabling) will have user IDs - Past conversations won't retroactively get user IDs ### Chat Not Working (Required Mode Only) If you're using Required mode and the chat won't load: ✓ **Check:** Is a user ID being passed? - In Required mode, the user ID is mandatory - Check the URL or HTML for the user ID - Make sure it's not empty or undefined ✓ **Check:** Is the format valid? - No spaces, no special characters (@, #, etc.) - Letters, numbers, hyphens, underscores only ✓ **Check:** Are you testing on a login-protected page? - Required mode only works where users are logged in - Don't use Required mode for public pages **Quick fix:** Switch to Optional mode while you debug the issue. ### User ID Not Showing in Conversation Logs ✓ **Check your embedding code:** - Iframe: `window.mindpalIframeConfig` is defined with the correct iframe ID and `customUserId` value - Widget: `customUserId: "..."` is in `mindpalConfig` - Direct link: `?cuid=...` is in the URL ✓ **Check browser console:** - Press F12 to open developer tools - Look for any red error messages - Common errors: Variable not defined, script not loaded ✓ **Check template syntax:** - PHP: `` - Liquid: `{{ customer.id }}` - JavaScript: `${userId}` Make sure you're using your platform's correct syntax. ### Webhook Not Receiving User IDs ✓ **Was a user ID provided when the conversation started?** - If the user opened the chat without a user ID, webhooks won't have it - Check a conversation where you know a user ID was passed ✓ **Is the webhook working at all?** - Test with a simple conversation first - Check your webhook endpoint logs - Verify the webhook URL is correct in settings ✓ **Check the payload:** - Look for the `customUserId` field - It should match the ID you passed - If it's missing, the user likely opened chat without providing an ID ### Still Having Issues? 1. **Simplify your test:** - Use Optional mode - Try with a hardcoded user ID first (`customUserId: "test123"`) - If that works, the issue is with getting the dynamic user ID 2. **Check the generated code:** - View your page source (right-click → View Page Source) - Find your MindPal code - See if the user ID is actually there or if it shows as a template tag 3. **Contact Support:** - Include: Your platform name, the code you're using, what's not working - Send a screenshot of browser console (F12 → Console tab) - Our team can help identify platform-specific issues ## Real-World Examples ### Example 1: E-Learning Platform **Scenario:** Online course platform where students need consistent tutoring **Setup:** - Platform: Custom React app with authentication - Mode: Optional (some preview users aren't logged in) - Method: Widget **Code:** ```jsx // In your main layout component function Layout({ children }) { const { user } = useAuth(); useEffect(() => { window.mindpalConfig = { chatbotId: "course-tutor", customUserId: user?.id, }; const script = document.createElement("script"); script.src = "https://chatbot.getmindpal.com/embed.min.js"; document.body.appendChild(script); }, [user]); return ; } ``` **Result:** Logged-in students see their tutoring history, trial users can still chat anonymously. ### Example 2: Membership Community **Scenario:** WordPress membership site with gated content **Setup:** - Platform: WordPress with MemberPress - Mode: Required (chatbot only in members area) - Method: Widget in footer **Code:** ```php ``` **Result:** Only active members see the support bot, and all their conversations are tracked. ### Example 3: Shopify Store Support **Scenario:** E-commerce store with customer support chatbot **Setup:** - Platform: Shopify - Mode: Optional (visitors can ask questions too) - Method: Widget **Code:** ```liquid ``` **Result:** Customers with accounts get conversation history (great for order questions), while browsers can still ask general questions. ## Frequently Asked Questions ### Can users see each other's conversations? No! Each user only sees their own conversations. The custom user ID ensures complete privacy and separation. ### What if two users have the same user ID? This shouldn't happen if you're using your platform's built-in user IDs. If it does, both users would see the same conversation history. Make sure each user has a unique ID in your system. ### Can I change a user's ID later? Not recommended. If you change someone's user ID, they'll lose access to their previous conversation history. The new ID would be treated as a different user. ### Does this work with anonymous/guest users? Yes, if you use **Optional** mode: - Users with IDs get conversation history - Users without IDs can still chat (anonymously) With **Required** mode, guest users won't be able to use the chat. ### How long are conversations stored? Conversations are stored indefinitely unless you manually delete them. Users with custom user IDs can access their full history anytime. ### Can I use email addresses as user IDs? While technically possible, it's not recommended: - Emails can change, causing users to lose their history - Emails might contain special characters that cause issues - Better to use your platform's numeric or alphanumeric user IDs ### Does this affect chatbot performance? No impact on performance. Whether you use custom user IDs or not, the chatbot responds at the same speed. ### Can I use this with Custom Session Context? Yes! They work great together: - Custom User ID: Identifies who the user is - Custom Session Context: Provides additional info about them Example: Pass both user ID and their subscription level for fully personalized conversations. ### What happens if I disable custom user ID later? If you turn it off: - New conversations become anonymous again - Existing conversations keep their user IDs in your logs - Users lose the ability to see conversation history - The chatbot still works normally You can re-enable it anytime without losing data. ### Do I need technical skills to set this up? Basic skills needed: - Ability to paste code into your website - Access to your website's theme editor or plugin settings - Understanding where your users log in Most business owners with basic website management skills can do this. If you're unsure, share this guide with your developer or website manager. --- # Embedding Chatbots & Workflows A comprehensive guide to embedding your MindPal chatbots and workflows on your website or platform. ## What is Embedding? Embedding allows you to integrate your MindPal chatbots and workflows directly into your website, platform, or application. Instead of sending users to a separate MindPal page, they can interact with your AI tools right where they already are - creating a seamless, branded experience. ## What Can Be Embedded? - **Published Chatbots**: [AI agents](/agent) published as [interactive chatbots](/agent/chatbot) - **Published Workflows**: [Multi-agent workflows](/workflow) published as [interactive forms](/workflow/run/form) Both types can be embedded using the same methods, though some features may vary. ## How Embedding Works When you publish a chatbot or workflow in MindPal, you get: 1. **A unique URL** - A shareable link that anyone can access 2. **Embedding code** - HTML/JavaScript code you can add to your website 3. **Customization options** - Control over appearance, behavior, and security The embedding process involves three main steps: 1. **Publish** your chatbot or workflow in MindPal 2. **Copy** the embedding code from the publish modal 3. **Paste** the code into your website where you want it to appear ## Step-by-Step: Publishing Your Chatbot ## Step-by-Step: Publishing Your Workflow ## Embedding Methods MindPal offers three main methods for embedding your chatbots and workflows. Each has different use cases and benefits. | Method | Best For | How It Works | When to Use | Pros | Cons | | ------------------- | ------------------------------------------ | -------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | **Direct Links** | Email campaigns, navigation menus, buttons | Shareable URL that opens a full-page view | Email campaigns, navigation menus, social media sharing | Simple (just copy/paste URL), works everywhere, no code required, full-page experience | Users leave your website, less integrated feeling, limited customization | | **Iframe Embed** | Embedding as a section on a specific page | HTML iframe element displays chatbot/workflow as a contained section | Dedicated support pages, member dashboards, product pages, landing pages | Fully integrated, maintains site navigation, can be styled, supports advanced features | Requires HTML editing access, takes up page space, may need responsive design | | **Floating Widget** | Site-wide chat buttons (chatbots only) | Floating chat button in bottom-right corner opens overlay | Customer support, site-wide AI assistance, lead generation | Doesn't take up space until opened, available on every page, familiar interface, can be minimized | Only for chatbots (not workflows), requires JavaScript, may conflict with other floating elements | ### Direct Links **Chatbot Example:** ``` https://chatbot.getmindpal.com/your-chatbot-slug ``` ![Chatbot direct link demo showing the chatbot opened via URL](/features/agent/chatbot/direct-link-demo.png) **Workflow Example:** ``` https://workflow.getmindpal.com/your-workflow-slug ``` ![Workflow direct link demo showing the workflow form opened via URL](/features/workflow/form/direct-link-demo.png) ### Iframe Embed **Simple Chatbot** (without [custom user ID](/guides/custom-user-id) or [custom session context](/guides/custom-session-context)): ```html ``` **Chatbot with Advanced Features** (with [custom user ID](/guides/custom-user-id) or [custom session context](/guides/custom-session-context)): ```html ``` **Simple Workflow** (without [custom user ID](/guides/custom-user-id) or [custom session context](/guides/custom-session-context)): ```html ``` **Workflows with Advanced Features** ([custom user ID](/guides/custom-user-id) or [custom session context](/guides/custom-session-context)): ```html ``` ### Floating Widget (Chatbots Only) **Simple Chatbot** (without [custom user ID](/guides/custom-user-id) or [custom session context](/guides/custom-session-context)): ```html ``` **Chatbot with Advanced Features** (with [custom user ID](/guides/custom-user-id) or [custom session context](/guides/custom-session-context)): ```html ``` ![Floating widget demo showing the chat bubble in action on a website](/features/agent/chatbot/floating-widget-demo.png) ## Advanced Features MindPal embedding supports powerful advanced features that let you create personalized, context-aware experiences. These features are covered in detail in specialized guides, but here's an overview: ### Custom User ID **What it does:** Identifies individual users so your chatbot or workflow can remember their conversations and provide personalized experiences. **Key benefits:** Conversation history per user, personalized interactions, user-specific tracking, better integration with your user system. **Quick setup:** Enable "[Custom User ID](/guides/custom-user-id)" in your chatbot/workflow settings, choose a mode (Optional or Required), and pass the user ID from your website when embedding. **Example:** ```html ``` **Learn more:** See the [Custom User ID guide](/guides/custom-user-id) for detailed instructions, platform-specific examples, and troubleshooting. ### Custom Session Context **What it does:** Passes contextual information about your users (name, account type, order details, etc.) to your chatbot or workflow so the AI already knows relevant details without asking. **Key benefits:** Personalized greetings and responses, context-aware conversations, no need for users to repeat information, seamless integration with your existing data. **Quick setup:** Enable "[Custom Session Context](/guides/custom-session-context)" in your chatbot/workflow settings, define context keys (e.g., "Customer Name", "Account Type"), and pass context values from your website when embedding. **Example:** ```html ``` **Learn more:** See the [Custom Session Context guide](/guides/custom-session-context) for detailed instructions, platform-specific examples, and security best practices. ## Platform-Specific Instructions MindPal provides optimized embedding instructions for popular platforms. When you use the "Share & Embed" feature, you can select your platform to get customized code. ### Supported Platforms - **[Kajabi](/guides/platforms/kajabi)** - Dedicated integration guide available - **[Circle](/guides/platforms/circle)** - Dedicated integration guide available - **[GoHighLevel](/guides/platforms/gohighlevel)** - Dedicated integration guide available - **WordPress** - Widget or iframe methods with PHP integration - **Shopify** - Liquid template integration for customer data - **Wix** - Velo code or static embed options - **Google Tag Manager** - Tag management system integration - **Notion** - Iframe embed support - **Webflow** - Custom code integration - **Framer** - Interactive design platform integration - **Squarespace** - CMS integration - **Base44** - Coding platform with built-in authentication - **Custom Websites** - Generic HTML/JavaScript code When you select a platform, you'll get platform-optimized code, specific instructions for that platform, automatic mapping of user data fields (where supported), and platform-specific best practices. ## Security & Access Control ### Domain Restrictions **What it does:** Prevents unauthorized websites from embedding your chatbot or workflow. **How to enable:** Go to your chatbot/workflow settings, navigate to "Access & Security" or "Control access", enable "Embedding Restrictions", and add your allowed domains (one per line). **Example:** ``` yourwebsite.com app.yourwebsite.com *.yourwebsite.com ``` **Why it matters:** Without domain restrictions, anyone could embed your chatbot on their website, potentially using your AI credits or creating a poor user experience. ### Rate Limiting **What it does:** Controls how many requests users can make to prevent abuse and manage costs. **How to enable:** Go to your chatbot/workflow settings, navigate to "Access & Security", and configure rate limit rules with different scopes (Global, Per IP, Per user, Per session). Set maximum requests and time window for each rule. **Example:** Maximum requests: 50, Time window: 1 hour, Scope: Per IP address. This means each IP address can make 50 requests per hour. You can configure multiple rules with different scopes and time windows for flexible rate limiting. **Learn more:** See the [Rate Limit guide](/guides/rate-limit) for detailed configuration options. ## Next Steps Now that you understand embedding basics, explore these related guides: - **[Custom User ID](/guides/custom-user-id)** - Enable personalized experiences with user identification - **[Custom Session Context](/guides/custom-session-context)** - Pass contextual information to your chatbots and workflows - **[Rate Limiting](/guides/rate-limit)** - Control usage and prevent abuse --- # How to Embed MindPal on Circle Learn how to embed Chatbots and Workflows on your Circle community, including advanced features like Custom User ID and Session Context. ## How to Embed ### Embedding a Chatbot You can embed a chatbot as a floating widget (chat bubble) or as a dedicated section (iframe). ### Embedding a Workflow Workflows are best embedded as forms within a post or a dedicated space. ## Get Your Embed Code To get your embed code: 1. Go to your MindPal dashboard 2. Open your chatbot or workflow 3. Click **"Share & Embed"** or **"Publish"** 4. Copy the generated embed code The code will be automatically generated based on your settings and will include the correct chatbot/workflow ID. ## How to Pass Custom User ID _This section shows you how to replace the placeholder User ID in your embed code with real values from Circle._ If you've enabled [Custom User ID](/guides/custom-user-id) in your MindPal settings, you can pass Circle user data to track conversation history per user. Circle exposes a global `window.circleUser` object containing information about the currently logged-in user. Use the `publicUid` property as the user identifier. **In your embed code, locate the `customUserId` line and replace the placeholder value with:** ```javascript customUserId: window.circleUser.publicUid; ``` **Full example:** ```html ``` ## How to Pass Custom Session Context _This section shows you how to replace the placeholder Session Context in your embed code with real values from Circle._ If you've enabled [Custom Session Context](/guides/custom-session-context) in your MindPal settings, you can pass Circle user data to personalize AI conversations. **Available User Data in Circle:** - `firstName` (e.g., "Sylvia") - `lastName` (e.g., "Nguyen") - `name` (Full name, e.g., "Sylvia Nguyen") - `email` (e.g., "support@mindpal.io") - `location` (User's location if set) - `isAdmin` ("true" or "false") - `isModerator` ("true" or "false") - `headline` (User's profile headline) - `profileUrl` (Link to their Circle profile) **In your embed code, locate the `customSessionContext` section and replace the placeholder values with Circle data:** ```javascript customSessionContext: { "user-name": window.circleUser.name, // Example key - replace with yours "user-email": window.circleUser.email, // Example key - replace with yours "user-location": window.circleUser.location, // Example key - replace with yours } ``` **Full example:** ```html ``` ## Frequently Asked Questions ### Can I embed MindPal inside a course lesson? Unfortunately, course lessons in Circle don't currently support custom HTML embedding like posts do, so you cannot directly embed MindPal chatbots or workflows inside a lesson. **Suggested workaround:** Create a post with your MindPal embed, then add a hyperlink in your course lesson that directs students to that post. This way, students can still access your chatbot or workflow with just one click. --- # How to Embed MindPal on GoHighLevel Learn how to embed Chatbots and Workflows on your GoHighLevel platform, including Membership Groups, Courses, and Sub-account Dashboards, with advanced features like Custom User ID and Session Context. ## Embedding Options Overview GoHighLevel offers multiple places to embed MindPal. Each location has different capabilities and requirements: | Location | Chatbot Methods | Workflow Methods | Custom User ID | Custom Session Context | | ------------------------------ | --------------- | ---------------- | ---------------- | ---------------------- | | **Membership Group Home Page** | Floating Widget | ❌ Not supported | ❌ Not supported | ❌ Not supported | | **Courses - Inside Lessons** | Iframe | Iframe | ✅ Supported | ✅ Supported | | **Courses - Course-wide** | Floating Widget | ❌ Not supported | ❌ Not supported | ❌ Not supported | | **Sub-account Dashboards** | Iframe | Iframe | ✅ Supported | ✅ Supported | ## Get Your Embed Code To get your embed code: 1. Go to your MindPal dashboard 2. Open your chatbot or workflow 3. Click **"Share & Embed"** or **"Publish"** 4. Choose your embed method: - **Floating Widget**: Copy the script code for membership groups or course-wide embedding - **Direct Link (Iframe)**: Copy the iframe URL for course lessons or dashboard widgets The code will be automatically generated based on your settings and will include the correct chatbot/workflow ID. ## How to Embed in Membership Group Home Page ### Embedding Method You can embed a chatbot as a floating widget (chat bubble) on your membership group's home page via the branding settings. 1. Go to your **Membership Group** settings 2. Navigate to the **Branding** section 3. Paste your floating widget code in the **Tracking Code Header or Footer** (either works) 4. Save your changes ### Custom User ID ❌ **Not Supported** - Custom User ID is not available in Membership Group branding settings. ### Custom Session Context ❌ **Not Supported** - Custom Session Context is not available in Membership Group branding settings. ## How to Embed in Courses ### Embedding Methods GoHighLevel Courses offer two ways to embed MindPal: ### Custom User ID ✅ **Supported** (for iframe embeds inside lessons only) If you've enabled [Custom User ID](/guides/custom-user-id) in your MindPal settings, add the `cuid` parameter to your iframe URL using `{{contact.id}}`: **Example:** ```html ``` ### Custom Session Context ✅ **Supported** (for iframe embeds inside lessons only) If you've enabled [Custom Session Context](/guides/custom-session-context) in your MindPal settings, add context parameters using the `ctx[key-name]` format: **Example:** ```html ``` ## How to Embed in Sub-account Dashboards ### Embedding Method You can embed chatbots and workflows as iframe widgets in your sub-account dashboards: 1. Open your **Sub-account Dashboard** and enter **Edit mode** 2. Navigate to the **Objects** section 3. Select **Embed** 4. Enter your MindPal iframe URL with dynamic parameters 5. Save your dashboard ### Custom User ID ✅ **Supported** Add the `cuid` parameter to your iframe URL using `{{user.email}}` or another user identifier: **Example:** ``` https://chatbot.getmindpal.com/your-chatbot-id?cuid={{user.email}} ``` ### Custom Session Context ✅ **Supported** Add context parameters using the `ctx[key-name]` format with user and location merge fields: **Example:** ``` https://chatbot.getmindpal.com/your-chatbot-id?ctx[user-name]={{user.name}}&ctx[user-role]={{user.role}} ``` --- # How to Embed MindPal on Kajabi Learn how to embed Chatbots and Workflows on your Kajabi site, including advanced features like Custom User ID. ## How to Embed ### Embedding a Chatbot You can embed a chatbot as a floating widget (chat bubble) or as a dedicated section (iframe). ### Embedding a Workflow Workflows are best embedded as forms within a page or course lesson. ## Get Your Embed Code To get your embed code: 1. Go to your MindPal dashboard 2. Open your chatbot or workflow 3. Click **"Share & Embed"** or **"Publish"** 4. Copy the generated embed code The code will be automatically generated based on your settings and will include the correct chatbot/workflow ID. ## How to Pass Custom User ID _This section shows you how to replace the placeholder User ID in your embed code with real values from Kajabi._ If you've enabled [Custom User ID](/guides/custom-user-id) in your MindPal settings, you can pass Kajabi user data to track conversation history per user. Kajabi exposes a global `window.Kajabi.currentSiteUser` object containing information about the currently logged-in user. You can choose between two identifiers depending on your needs: ### Option 1: Using User ID Use the `id` property as the user identifier. This works for all users, but note that for non-logged-in users, the ID will be `-1`. **In your embed code, locate the `customUserId` line and replace the placeholder value with:** ```javascript customUserId: window.Kajabi?.currentSiteUser?.id; ``` **Full example:** ```html ``` ### Option 2: Using Contact ID Alternatively, you can use the `contactId` property. This is useful if you want to track users by their contact ID in your Kajabi system. **In your embed code, locate the `customUserId` line and replace the placeholder value with:** ```javascript customUserId: window.Kajabi?.currentSiteUser?.contactId; ``` **Full example:** ```html ``` ## How to Pass Custom Session Context _This section shows you how to replace the placeholder Session Context in your embed code with real values from Kajabi._ If you've enabled [Custom Session Context](/guides/custom-session-context) in your MindPal settings, you can pass Kajabi user data to personalize AI conversations. **Available User Data in Kajabi:** Unfortunately, Kajabi exposes limited user data through the `window.Kajabi.currentSiteUser` object: - `id` (User ID, e.g., "2148748824") - `contactId` (Contact ID - may be empty string) - `type` ("User" or "Guest") **Recommended Approach: Pass Contact ID and Fetch Data via MCP Tools** Since Kajabi doesn't expose much user information directly, we recommend passing the `contactId` as custom session context, then using an MCP tool to fetch more detailed user data from your Kajabi system based on this contact ID. **Step 1: Pass the Contact ID in your embed code** ```javascript customSessionContext: { "contact-id": window.Kajabi?.currentSiteUser?.contactId || "", // Example key - replace with yours } ``` **Full example:** ```html ``` **Step 2: Add an MCP tool to fetch user data** The easiest way to fetch enriched user data from your Kajabi system is to use MCP (Model Context Protocol) tools via automation platforms like Zapier or Make. 1. Go to your MindPal chatbot settings 2. Navigate to the **Tools** section → **MCP Tools** 3. Set up an MCP tool that: - Connects to your Kajabi system via Zapier or Make - Takes the contact ID from the session context - Fetches detailed user information from your Kajabi account - Returns the user profile data to the AI This way, your AI can access rich user information like name, email, course enrollments, progress, and more, even though Kajabi doesn't expose this data directly in the embed code. ## Frequently Asked Questions ### Should I use User ID or Contact ID for custom user identification? It depends on your use case: - **Use User ID (`id`)** if you want to track all users. Note that non-logged-in users will have ID `-1`. - **Use Contact ID (`contactId`)** if you want to track users by their contact records in Kajabi. Note that not all users have a contact ID, so this won't work for those users. ### Can I access more user information without setting up MCP tools? Unfortunately, Kajabi's client-side JavaScript API exposes limited user data for security and privacy reasons. The most reliable way to access detailed user information is by using the MCP approach described above: pass the contact ID and fetch additional data through your agent's MCP tools via Zapier or Make. ### Can I embed MindPal inside a course lesson? Yes! You can use Code Blocks within Kajabi course lessons to embed your MindPal chatbots or workflows directly into your course content. This is a great way to provide interactive assistance to students as they go through your lessons. --- # Rate Limiting for Published Agents & Workflows Protect your AI agents and workflows from abuse, control costs, and ensure fair usage for all users. ## What is Rate Limiting? Rate Limiting is a security and control feature that allows you to define the maximum number of requests a user can make to your Chatbot or Published Workflow within a specific time period. Think of it as a "speed limit" for your AI agents. It ensures that no single user (or bot) can overwhelm your system by sending too many messages or running too many workflows in a short amount of time. ## Key Benefits For business users, setting up Rate Limits is crucial for three main reasons: - **Cost Control**: Every interaction with your AI agent consumes resources (AI credits). If a malicious user or a bot spams your chatbot, it could drain your credits very quickly. Rate limits stop this from happening. - **Fair Usage**: It ensures that your service remains available and fast for all your customers. By preventing one user from hogging all the resources, you guarantee a smooth experience for everyone else. - **Security**: It protects your public-facing agents from "Denial of Service" attacks where attackers try to crash your system by flooding it with requests. ## Setting Up Rate Limits You can configure Rate Limits directly in the settings of your Chatbot or Workflow. ### For Chatbots 1. Go to your Chatbot Builder. 2. Navigate to the **Advanced** tab. 3. Scroll down to the **Rate Limiting** section. 4. You will see a "Rate Limit Rules" builder. 5. Click "Add Custom Rule" to define your own limits. ### For Workflows 1. Go to your Workflow Editor. 2. Open the **Publish Settings** panel (usually the gear icon). 3. Find the **Rate Limiting** section in the Advanced settings. 4. Use the builder to add or modify rules. ### Configuring a Rule When adding a rule, you can choose: - **Scope**: Who does this limit apply to? - **Global**: Total requests allowed for the entire agent (across all users). - **Per IP**: Limit requests per IP address (good for stopping spam from a specific location). - **Per Session**: Limit requests per browser session. - **Per User ID**: Limit requests per specific user (requires [Custom User ID](/guides/custom-user-id) to be enabled). - **Max Requests**: How many requests are allowed (e.g., 50). - **Time Window**: The time period for the limit (e.g., "Per Hour", "Per Day"). ## Best Practices & Considerations - **Default Protection**: By default, MindPal may apply a "Standard Protection" (e.g., 100 requests/day) to keep your agent safe if you haven't configured anything. - **Multiple Rules**: You can have multiple rules active at the same time. For example, you can set a strict limit per IP (to stop spammers) and a generous Global limit (to manage overall budget). The system will block a request if _any_ of the rules are violated. - **Custom User ID**: The "Per User ID" scope is powerful for identifying logged-in users in your own app, but it only works if you have enabled and integrated [Custom User ID](/guides/custom-user-id) in your embedding settings. - **User Experience**: When a user hits the limit, they will receive an error message telling them to try again later. Make sure your limits aren't too strict for legitimate business usage. --- # Sharing Agents & Workflows When building AI agents and multi-agent workflows on MindPal, you might create them for personal use or team collaboration. However, there are also scenarios where you want to share these tools with your audience (such as building free tools for lead generation) or clients (if you're providing AI automation setup services). MindPal offers two distinct sharing methods to suit different purposes. ## 1. Public Sharing via Publishing Make your agents and workflows publicly accessible through shareable links or embed them on your website. This method provides maximum accessibility with comprehensive white-labeling options. ### How It Works - For AI agents, you can [publish them as chatbots](/agent/chatbot) that anyone can interact with. - For AI multi-agent workflows, you can [publish them as forms](/workflow/run/form) that guide users through your defined process. ### Pros - **Full White-labeling Support** - [Host your tools on custom domains](/workspace/custom-domain) and remove MindPal branding on paid plans. The interface is highly customizable from logos and titles to colors and images, ensuring a cohesive brand experience that matches your identity. - **Unlimited Public Access** - Since these are public tools, anyone can access and use them without needing a MindPal account or logging in. There's no limit to how many people can use your published tools. - **Security Controls** - Despite being public, you maintain security through features like domain restriction, which prevents unauthorized embedding of your tools on unauthorized websites, and rate limit, which keeps your AI tools' usage under control. ### Cons - **Limited History Management** - While you can view all interactions with your published tools from your MindPal dashboard, these interactions aren't differentiated by user. For user-specific history tracking, you'll need to either implement your own user management system or use the workspace invitation approach. ### Best For - **Lead Generation**: Embed AI tools on your website to showcase your expertise and collect visitor contact information. - **Customer Support**: Provide immediate self-service help without requiring accounts or login. - **Public Demonstrations**: Allow potential clients to experience your AI solutions without any barriers. ## 2. Workspace Invitation Invite clients directly into your MindPal workspace where they can access specific agents and workflows under controlled conditions. This method offers better user management and access control features. ### How It Works MindPal allows you to create dedicated workspaces for different projects or clients, with each workspace containing its own set of agents and workflows. You can [invite team members or clients](/workspace/members) with two permission levels: editors (who have full creation and modification rights) or users (who can only use the tools you've built). The user seat option is ideal when sharing your AI solutions with clients under a specific pricing structure or service agreement. ### Pros - **Advanced User Management** - Control exactly which members have access to specific agents and workflows through access control tags. Set monthly AI credit limits for each user to manage resource usage effectively. - **User-Specific History** - The platform maintains individual history tracking, allowing each member to view their own interaction history while you maintain oversight of all user activities. - **Partial White-labeling** - Customize your workspace appearance with your theme color, logo, and title to maintain brand consistency. ### Cons - **Custom Domain Not Supported** - While full workspace white-labeling (including custom domains for your workspaces) is planned for the future, members must currently access your workspace through the app.mindpal.space platform for authentication. - **Seat Restrictions** - Your plan determines the number of available seats. While each plan includes a set number of editor and user seats, [additional seats require top-up purchases](/workspace/plan-billing/addons). ### Best For - **Client Services**: Provide ongoing AI solutions to clients who rely on your expertise for setup and maintenance. - **Premium Products**: Offer subscription-based access to your AI suite with controlled usage limits. - **Professional Relationships**: Maintain accountability through user-specific tracking and controlled access environments. ## FAQ ### How can we capture user contacts with shared tools for lead generation purposes? For AI agents, when you publish your agents as chatbots, you can enable [user info form collection](/agent/chatbot#3-user-info-collection) to capture any fields you need (name, email, etc.). You can also set a webhook URL to receive this data whenever your chatbot collects user information, allowing integration with your CRM. For workflows, you can add user info fields as human input fields in a [human input node](/workflow/build/human-input-node). The workflow will only proceed if the required information is provided. Workflows also offer [webhook nodes](/workflow/build/webhook-node) to send the collected human input to external systems like your CRM. ### Does MindPal provide built-in monetization capabilities? Currently, for shared workflows, you can add a [payment node](/workflow/build/payment-node) connected to your Stripe account that requires users to pay a one-time fee to proceed to the next step in the workflow. We're working on more flexible monetization methods, but for now, if you need additional options, we recommend implementing payment separately or building another payment layer on top of your shared agents and workflows. ### Are there examples of published agents and workflows? For published workflows, you can check out [this video tutorial](https://www.youtube.com/live/hhMArbDe5GA) that demonstrates how to create a tool with workflows and set up a website for it. This shows how a shared embedded workflow would look. You can also set up directories of multiple tools. For example, [our AI SEO OS](https://mindpal.space/system/ai-seo-os) includes a set of workflow embeds related to SEO, but you can create similar directories for your own niche. ### How can we share sets of AI agents and workflows with users? If you're using the public sharing approach, you may want to set up directory websites that include links to your different agent or workflow embeds, similar to [this page](https://mindpal.space/system/ai-seo-os). If you're inviting users to your workspace on MindPal, you can create folders to categorize the agents and workflows you share with your clients, helping to organize them effectively. ### How can we share user-specific history? If you are publicly sharing your agents and workflows, we currently don't offer user-specific history management because public sharing is designed for anonymous users. You can implement your own custom user-specific history tracking if needed. For workspace invitation, we support user-specific history tracking by default. Each user member will only have access to their own agent and workflow history. They can view it from your workspace, and as the workspace owner, you maintain oversight of all user activities. ### Can we use different API keys for different agents and workflows? No. All agents and workflows in the same workspace use the same API keys. However, you can set different API keys for different workspaces. Note that billing on MindPal is workspace-specific—one plan applies to one workspace only. ### Can we change the workspace interface language? No, currently all interfaces are in English only. While we plan to support more languages in the future, it's not a current priority. --- # Smart Resource Mentions ## What are @ mentions? On MindPal, the @ symbol is a powerful shortcut that lets you reference and connect resources directly in any text field. Think of it like tagging someone on social media—except here, you're tagging knowledge, tools, agents, and more. When you type `@`, a dropdown appears showing all your workspace resources. Select one, and it gets linked right where you need it. --- ## What can you mention? Here's everything you can tag with @: | Resource | What it does | | ----------------------- | ------------------------------------------------------------------------ | | 📚 **Knowledge Source** | Connects documents, PDFs, websites, or any file from your knowledge base | | 📝 **Note** | Links to custom notes you've created | | ✍️ **Brand Voice** | Applies a specific writing style or tone | | 🧩 **Integration** | Uses third-party app integrations | | 🔌 **MCP Server** | Connects to Model Context Protocol servers | | 🔧 **Tool** | Enables a custom API action or tool | | 🤖 **Agent** | Delegates tasks to another agent (sub-agent) | | ⚡ **Workflow** | Triggers another workflow as a tool | **In workflows specifically, you can also mention:** | Resource | What it does | |----------|--------------| | ✨ **Workflow Node** | References output from a previous step | | 🔤 **Human Input Field** | References user-provided input values | ## Where can you use @ mentions? ### Where can you use @ mentions? - **Agent Builder**: Define what resources your agent should know about and use - **Chat Interface**: Dynamically bring in resources for specific conversations - **Workflow Builder**: Connect resources specific to each workflow step ## Two ways to connect resources: UI vs @ mentions You can connect resources two ways, and they both work equally well. - **Method 1: UI Selection**: Select resources in dedicated sections like "Knowledge Sources," "Integrations," or "Tools" in your agent/workflow settings. - **Method 2: @ Mention in Prompts**: Tag resources directly in your prompt text using `@`. Both methods achieve the same end result—the resource gets connected. MindPal merges mentions from both sources automatically. ## Why use @ mentioning ### 1. Better instructions through context When you @ mention a resource inside your prompt, you're not just connecting it—you're **explaining when and why to use it**. **Without context (UI-only):** > Agent has: [Research Tool], [Writing Style A], [Company Docs] > > ❌ The agent might use these randomly or not at all **With contextual @ mentions:** > "First, search @[Research Tool] to find recent statistics. Then write the report using @[Writing Style A] and reference our guidelines in @[Company Docs]." > > ✅ The agent knows exactly when to use each resource This becomes critical when your agent has multiple tools or knowledge sources. Context helps the AI navigate what to use and when. ### 2. Task-specific flexibility Resources added in an agent's main settings are "always on" by default. @ mentions let you **activate resources only for specific tasks**. **Example scenario:** - Your agent handles both customer support AND internal reporting - Customer support needs @[Support Guidelines] and @[FAQ Database] - Reporting needs @[Analytics Tool] and @[Report Template] Instead of cluttering your agent with everything, you can @ mention the right resources in each specific prompt or workflow step. ### 3. Keep agents lightweight, workflows powerful Using @ mentions strategically means you can: - Build **one versatile agent** instead of many specialized ones - Keep your agent's global settings **clean and minimal** - Add **workflow-specific** resources only where needed - Reuse the same agent across different workflows without conflicts ### 4. In-chat flexibility During a conversation, you might realize you need a specific document or tool. Just type @ and bring it in—no need to stop, edit agent settings, and restart. ## Frequently Asked Questions ### Does tagging do something different than just selecting in the UI? Functionally, no—both methods connect the resource. The difference is that @ mentions let you add **context and specificity** about when to use that resource. ### Should I always list tools in the prompt even if they're in the UI? Not necessarily. If a tool should always be available, the UI is fine. But if you want the agent to use it in a specific way or at a specific moment, mention it with context in your prompt. ### It feels like the agent uses the tool twice when I do both? That won't happen. MindPal deduplicates resources—if something is connected via UI AND mentioned in the prompt, it's only connected once. The @ mention just adds helpful context for how to use it. --- # Pricing & Plans MindPal offers flexible pricing plans designed to scale with your needs, from individual users to enterprise teams. ## Plan Comparison | Feature | Free | Pro | Advanced | Ultra | | --------------------- | ------ | ------ | -------- | --------- | | **Monthly Price** | $0 | $49/mo | $179/mo | $449/mo | | **Yearly Price** | $0 | $39/mo | $149/mo | $374/mo | | **AI Credits/Month** | 100 | 6,000 | 30,000 | 100,000 | | **Knowledge Storage** | 100 MB | 5 GB | 25 GB | 100 GB | | **Editor Seats** | 5 | 1 | 5 | Unlimited | | **User Seats** | 0 | 0 | 20 | Unlimited | | **Custom Domains** | - | Add-on | Add-on | Unlimited | | **Public API Access** | - | - | Yes | Yes | | **Remove Branding** | - | Yes | Yes | Yes | ## Plan Details ### Free Plan Perfect for trying out MindPal and building your first AI agents. **Includes:** - 100 AI credits per month - 100 MB knowledge storage - Up to 5 editor seats - Unlimited agents and workflows - Basic AI models (GPT-4o Mini, Gemini 2.5 Flash) - Community support **Limitations:** - No user seats for sharing with clients - No custom domain support - MindPal branding on published assets ### Pro Plan - $49/month Ideal for individuals and solopreneurs who need more power. **Includes everything in Free, plus:** - 6,000 AI credits per month - 5 GB knowledge storage - Access to advanced models (GPT-5, Claude 4 Sonnet, Gemini 2.5 Pro) - Custom branding for published agents and workflows - Web search, code interpreter, and web scraping tools - Email support **Best for:** Content creators, consultants, and small business owners. ### Advanced Plan - $179/month Built for teams that need collaboration and sharing features. **Includes everything in Pro, plus:** - 30,000 AI credits per month - 25 GB knowledge storage - 5 editor seats (team members who can create) - 20 user seats (clients who can use your agents) - Custom workspace branding - Full Public API access - Access control tags for user management - Live support calls available **Best for:** Agencies, growing teams, and businesses serving clients. ### Ultra Plan - $449/month Enterprise-grade solution with unlimited scale. **Includes everything in Advanced, plus:** - 100,000 AI credits per month - 100 GB knowledge storage - Unlimited editor and user seats - Unlimited custom domains (no add-on required) - Priority support **Best for:** Large teams, enterprises, and high-volume operations. ## MindPal Managed - $2000/month A done-for-you service for businesses that want expert help building AI automation. **Includes:** - Advanced platform subscription included - Dedicated AI automation engineer - AI strategy consultation and operations audit - Custom-built AI agents and workflows with advanced integrations - Unlimited AI automation requests per month - Ongoing optimization and support - Downgrade to self-serve anytime ## Add-Ons Extend your plan with additional resources as needed. | Add-On | Price | Billing | | ----------------- | -------------------- | -------- | | Extra AI Credits | $9 per 1,000 credits | One-time | | Extra Storage | $1 per GB | Monthly | | Extra Editor Seat | $29 per seat | Monthly | | Extra User Seat | $5 per seat | Monthly | | Custom Domain | $9 per domain | Monthly | ## Frequently Asked Questions ### What happens when I run out of AI credits? When your included credits are exhausted, you have several options: 1. **Purchase additional credits** - Buy credit packs at $9 per 1,000 credits 2. **Enable auto-refill** - Automatically purchase credits when balance is low 3. **Add your own API keys** - Use your own LLM provider keys for unlimited usage 4. **Wait for monthly reset** - Credits reset at the start of each billing cycle ### Can I upgrade or downgrade my plan? Yes, you can change your plan at any time: - **Upgrades** take effect immediately with prorated billing - **Downgrades** take effect at the end of your current billing cycle ### Do unused credits roll over? No, included monthly credits do not roll over. However, purchased credit packs never expire. ### Can I get a refund? MindPal offers a satisfaction guarantee. Contact [support@mindpal.io](mailto:support@mindpal.io) within 14 days of purchase if you're not satisfied. ### What's the difference between Editor and User seats? - **Editor seats** are for team members who need to create, edit, and manage agents and workflows - **User seats** are for clients or team members who only need to use existing agents and workflows (run-only access) ### Is there a free trial? The Free plan serves as your trial - you can explore all features with 100 AI credits per month. No credit card required. --- # Introduction to Multi-Agent Workflows When it comes to complicated business processes with multiple steps, relying on a single AI agent often isn't enough to get quality results. That's where MindPal's multi-agent workflows come into play. ## What is a Multi-Agent Workflow? A multi-agent workflow is a powerful automation system that connects several agents in a step-by-step process, enabling them to pass data and build upon each other's responses. ## Build Workflows with Mindie Don't want to manually drag and configure nodes? Use [Mindie](/workflow/build/mindie), MindPal's AI workflow assistant, to build workflows through natural language. Simply describe what you want and Mindie will create the nodes, configure them, and connect them for you. Try commands like: - "Create a blog post writing workflow" - "Add a loop to process each item" - "Check for errors in this workflow" ## When to Use Multi-Agent Workflows While single agents excel at focused tasks, multi-agent workflows provide several key advantages: 1. **Higher Quality Output**: Specialized agents excel at specific tasks, leading to superior results when combined 2. **Easier Training**: Dividing tasks among agents leads to focused instructions and simplifies maintenance 3. **Flexibility**: Well-trained AI agents can be repurposed for various workflows, adapting to different processes ## Use Cases of Multi-Agent Workflows Here's how different departments can leverage multi-agent workflows: | Department | Use Cases | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Content Creation | • Blog Post Pipeline (Research → Write → Edit → Optimize)• Social Media Campaign (Ideation → Creation → Review → Schedule)• Video Script Generation (Research → Script → Edit → Format) | | Customer Service | • Ticket Triage & Resolution• Customer Feedback Analysis• FAQ Generation & Updates• Support Documentation Creation | | Data Processing | • Data Extraction & Transformation• Document Analysis Pipeline• Report Generation & Distribution• Data Quality Control | | Business Operations | • Vendor Evaluation Process• Contract Review Pipeline• Project Planning Assistant• Resource Allocation Optimizer | ## Components of a Multi-Agent Workflow A MindPal workflow consists of these core node types: | Node Type | Description | Use Case | | --------------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------- | | [Human Input](/workflow/build/human-input-node) | Requests and collects input from human users | When human oversight or decision is needed | | [Agent](/workflow/build/agent-node) | A specialized agent focused on executing one specific task | For focused, single-purpose operations | | [Evaluator-Optimizer](/workflow/build/evaluator-optimizer-node) | Self-evaluates output and iteratively improves until meeting requirements | Quality control and optimization | | [Loop](/workflow/build/loop-node) | Automatically performs a task across multiple items | Batch processing and scaling | | [Orchestrator-Worker](/workflow/build/orchestrator-worker-node) | Coordinates multiple worker agents for complex tasks | Autonomous planning and execution for unpredicatable processes | | [Subflow](/workflow/build/subflow-node) | Runs another workflow within the current workflow | Modular and reusable process components | | [Router](/workflow/build/router-node) | Switches between different paths based on logic | Conditional process branching | | [Gate](/workflow/build/gate-node) | Enforces stopping conditions to halt workflow | Quality and condition checkpoints | | [Webhook](/workflow/build/webhook-node) | Sends workflow execution results to external systems | Integration with external tools | | [Payment](/workflow/build/payment-node) | Triggers a payment when a node is executed | Monetization and paid services | | [Sticky Note](/workflow/build/sticky-note-node) | Adds documentation and notes within the workflow | Documentation, instructions, and team collaboration | ## What Can You Do with a Multi-Agent Workflow? ### Run Workflows within Your Workspace Workflows can be run in several flexible ways: | Run Mode | Description | | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Default | Run workflows one set of inputs at a time with real-time results, making it perfect for individual tasks that need immediate feedback. | | Supervised | Run workflows with full control by reviewing and approving each step before proceeding, with ability to edit responses between steps - ideal for tasks that require constant human oversight. | | In Background | Process workflows in the background while working on other tasks, with the flexibility to close the window and return later for results, suited for longer-running processes. | | Bulk Run | Process multiple workflow instances simultaneously by uploading batch inputs for parallel processing, with all results tracked conveniently in the workflow run result table. | ### Publish as a Form Turn your workflow into a form that can be used by anyone outside of MindPal. You can get a link to the form or embed it on your website. --- # Agent Node Throughout the workflow, if you have a task that can be assigned to an AI agent in your workspace, you can use agent nodes. They're the most basic building block for getting AI work done in your workflow. ## What is an Agent Node? An Agent Node is simply a way to give a single task to one of your AI agents. Nothing complicated - just tell an agent what to do, and it'll do it. Each node focuses on one specific task in your workflow. ## How it Works It's straightforward: - The agent reads your instructions - Uses any information you've provided from previous steps - Does the task - Gives you back the results ## Configuring an Agent Node You'll need to set up two things: 1. **Agent** - You can leave this blank for general tasks (like categorizing or summarizing) or pick a specific agent from your agent library for specialized work. 2. **Prompt** - Tell the agent what to do. You can reference information from previous steps using [variables](/workflow/build/variables). --- # Canvas Node While most workflow automation focuses on text-based tasks, the Canvas Node allows you to break free from that limitation. It extends your AI workflows into the realm of sight and sound, enabling you to generate creative audio and video content dynamically. ## What is a Canvas Node? A Canvas Node is a powerful tool that makes your workflow multi-modal. It allows you to generate audio and video content based on your instructions, acting as an integrated content creation studio within your workflow. This means you can go beyond text and automate the creation of rich media. ## When to use a Canvas Node? The Canvas Node is incredibly versatile. Use it whenever you need to dynamically create audio or video content as part of your workflow. It's particularly useful when you want to automate the production of creative or marketing materials. Here are some common scenarios where a Canvas Node excels: | Scenario | Example | | ------------------------- | ---------------------------------------------------------------------------------------------------- | | **Marketing & Sales** | Create personalized video messages for leads or produce audio versions of articles. | | **Multimedia Production** | Generate voiceovers for videos or create background music. | | **Personalized Content** | Dynamically create personalized audio or videos for your users based on their inputs or preferences. | ## How a Canvas Node Works The Canvas Node streamlines content creation with a simple, effective process: 1. When a workflow reaches a Canvas Node, it reads the configuration for the specific type of content you want to create (e.g., video, audio). 2. It uses the provided inputs, which can include text prompts, scripts, and variables from previous nodes, to generate the content. 3. Once the generation is complete, the resulting content (the actual video or audio file) will be shown to users. ## Configuring a Canvas Node Setting up a Canvas Node involves two main steps: selecting the type of content you want to create and then configuring its specific parameters. ### 1. Content Type Selection First, you'll choose the kind of content you want to generate from the available options: - **Audio**: For creating audio from text. - **Video**: For generating video clips from a text prompt. ### 2. Configuration by Type After selecting the content type, you will need to provide the specific inputs for that type. #### Audio To generate audio, you'll need to configure the following: - **Script**: The text that will be converted into speech. You can use [variables](/workflow/build/variables) here to personalize the audio. - **Instructions**: (Optional) Provide guidance on the tone and style of the voice (e.g., "Read in a calm and professional tone"). - **Voice**: Select from a list of available voices. - **Model**: Choose the underlying AI model for speech generation. We currently support: | Model | Cost | Availability | | ---------------------------- | ----------------------- | ----------------------- | | Gemini 2.5 Pro Preview TTS | 120 AI Credits / minute | Available by default | | Gemini 2.5 Flash Preview TTS | 60 AI Credits / minute | Available by default | | GPT-4o Mini TTS | 80 AI Credits / minute | Requires OpenAI API key | #### Video To generate a video, you'll need to provide: - **Prompt**: A descriptive text prompt of the video you want to create. This can include [variables](/workflow/build/variables). - **Aspect Ratio**: Choose the desired aspect ratio for your video (e.g., 16:9 for YouTube, 9:16 for TikTok). - **Resolution**: Select the video quality (e.g., 720p, 1080p). - **Model**: Choose the AI model for video generation. We currently support: | Model | Cost | Availability | | -------------- | ---------------------- | -------------------- | | Veo 3 Fast | 20 AI Credits / second | Available by default | | Veo 3 Standard | 50 AI Credits / second | Available by default | --- # Chat Node In many workflow scenarios, you might need to have a conversation with an AI agent to get more details, clarify information, or explore a topic before moving on to the next steps. The Chat Node is designed for these situations, allowing for dynamic, interactive conversations within your workflow. ## What is a Chat Node? A Chat Node is a component that facilitates a back-and-forth conversation between a human user and a designated AI agent. It pauses the workflow to allow for this interaction and then continues once the user decides to end the chat. ## When to use a Chat Node? Consider using the Chat Node when: - You need to conduct a consultation or discovery session with an AI. - The workflow requires nuanced input that is best gathered through a conversation. - You want to provide a user with an opportunity to ask questions or get help from an agent at a specific point in the workflow. - You need to refine a query or instructions for a subsequent node through dialogue. Here are some common scenarios where a Chat Node excels: | Scenario | Example | | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | **Customer Support** | A workflow for troubleshooting an issue could use a Chat Node to allow the user to describe their problem in detail to a support agent. | | **Content Creation** | Before drafting a blog post, a Chat Node can be used to brainstorm ideas and refine the outline with a creative agent. | | **Sales & Marketing** | A workflow for qualifying leads could use a Chat Node to ask a series of questions to a potential customer and gather their requirements. | | **Personalized Recommendations** | A movie recommendation workflow could use a Chat Node to chat with the user about their preferences before suggesting movies. | | **Client Discovery** | Before generating project deliverables, a Chat Node can be used to understand client requirements, goals and constraints in detail. | ## How a Chat Node Works The Chat Node operates through a systematic process: 1. When a workflow execution reaches a Chat Node, it pauses. 2. A chat interface opens up, initiated by a pre-configured first message from the selected agent. 3. The user can then have a full conversation with the agent, sending and receiving messages. 4. The user decides when the conversation is complete and clicks a button to "Finish conversation & Continue". 5. The entire conversation history is saved as the output of the node, which can be referenced by subsequent nodes in the workflow. ## Configuring a Chat Node To set up a Chat Node, you need to configure the following components: ### 1\. Agent Selection You must choose an agent to handle the conversation. - Click "Select an agent" to choose from your available agents. - Pick an agent with expertise relevant to the conversational task. ### 2\. First Message Configuration You need to set the initial message that the agent will send to start the conversation. - In the "First Message" field, write the opening message. - You can use variables to reference human inputs or outputs from previous nodes to make the message more contextual. --- # Code Node When building workflows, you often need steps that execute precise, deterministic logic – calculations, data transformations, or specific checks where you need a guaranteed outcome, unlike the probabilistic nature of Large Language Models (LLMs). The Code Node is designed specifically for these scenarios. ## What is a Code Node? The Code Node allows you to write and execute custom code snippets directly within your workflow. It provides a way to implement logic that requires accuracy and concrete execution, moving beyond the non-deterministic behavior of AI agents. Think of it as a specialized tool for tasks where predictability is key. ## When to use a Code Node? Use the Code Node when your workflow requires: - **Deterministic Logic**: Performing calculations, data formatting, or conditional checks that must produce the exact same output every time for the same input. - **Precise Execution**: Implementing specific algorithms or business rules that cannot rely on the interpretive nature of an LLM. - **Data Transformation**: Manipulating data from previous steps in a structured and predictable way before passing it on. - **Custom Integrations**: Interacting with systems or APIs in a very specific manner defined by code (though Webhook Nodes are often preferred for standard API calls). ## How a Code Node Works The Code Node executes your provided code snippet using the inputs you define and makes the results available as outputs for subsequent nodes in the workflow. ## Configuring a Code Node Setting up a Code Node involves three main steps: ### 1. Define Inputs Specify the data your code needs to run: - Define input variables that your code script will use. - You can map these inputs to outputs from previous nodes (like Agent Nodes or Human Input Nodes) or use static values. Use [variables](/workflow/build/variables) to reference outputs from preceding steps. ### 2. Write the Code Write the script that performs your desired logic: - Select the programming language (currently Python and JavaScript are supported). - Write your code in the provided editor. Your code should process the input variables and prepare the desired output. ### 3. Define Outputs Declare the variables that your code will produce: - Specify the names of the output variables your script will generate. - These outputs can then be referenced by subsequent nodes in the workflow using [variables](/workflow/build/variables). ## Supported Languages - Python - JavaScript --- # Evaluator-Optimizer Node In complex tasks where quality and precision are paramount, having a mechanism for continuous improvement and validation is essential. The Evaluator-Optimizer Node addresses this need by implementing a sophisticated feedback loop system where one agent's output is systematically reviewed and refined based on predefined criteria. ## What is an Evaluator-Optimizer Node? The Evaluator-Optimizer Node is a specialized component in MindPal's Multi-Agent Workflow that creates a dynamic partnership between two agents: 1. **Executor Agent**: Generates the primary output based on given instructions 2. **Evaluator Agent**: Reviews the output against specific criteria and provides actionable feedback This creates an iterative improvement cycle where the output is continuously refined until it meets all requirements. ## When to use an Evaluator-Optimizer Node? Consider using the Evaluator-Optimizer Node when: - You have clear, measurable evaluation criteria - The task benefits from iterative refinement - Quality assurance is critical - You need systematic validation of outputs - The task requires meeting multiple specific requirements Here are some common scenarios where Evaluator-Optimizer Node shines: | Scenario | Example | | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Report Writing | Imagine you are writing a report that consists of 10 specific sections. Sometimes, an agent may overlook one or two sections, but your report must include all 10 sections as previously defined. In this case, the evaluator agent can double-check the report to ensure that all 10 sections are present. If any sections are missing, the evaluator will provide refined feedback to the executor agent, prompting it to continue working until the report meets the criteria of having all 10 sections included. | | Technical Documentation | When creating API documentation that must include endpoints, parameters, response codes, and examples. The evaluator ensures all required components are documented properly and provides feedback if any elements are missing or unclear. | | Code Generation | For generating code that must follow specific patterns, naming conventions, and include required components like error handling and logging. The evaluator checks if all requirements are met and suggests improvements. | | Content Creation | Creating blog posts that need specific elements like introduction, key points, examples, conclusion, and call-to-action. The evaluator ensures all required sections are present and well-developed. | ## How an Evaluator-Optimizer Node Works The Evaluator-Optimizer Node operates in a continuous feedback loop: 1. The Executor Agent generates initial output based on the given task 2. The Evaluator Agent reviews the output against predefined criteria 3. If the output meets all requirements, the workflow proceeds to the next step 4. If improvements are needed, the Evaluator provides specific feedback 5. The Executor creates a new iteration based on the feedback 6. This cycle continues until all requirements are met ## Configuring an Evaluator-Optimizer Node To set up an Evaluator-Optimizer Node, you need to configure these components: ### 1. Executor Agent Setup - Select an agent profile suitable for the primary task - Define a task to execute with references to human inputs or previous node outputs via [variables](/workflow/build/variables) if needed ### 2. Evaluator Agent Setup - Choose an agent profile with expertise in evaluation - Set specific evaluation criteria with references to human inputs or previous node outputs via [variables](/workflow/build/variables) if needed ### 3. Iteration Settings - Maximum number of iterations --- # Gate Node Need to make sure your workflow only proceeds when certain conditions are met? That's where the Gate Node comes in. It acts as a smart gatekeeper, evaluating conditions and deciding whether to let the workflow continue or stop it in its tracks - perfect for controlling costs and ensuring quality in your AI workflows. ## What is a Gate Node? A Gate Node is a specialized component in MindPal's Multi-Agent Workflow that: 1. **Evaluates** specific conditions based on defined logic 2. **Decides** whether to allow the workflow to continue 3. **Stops** the workflow immediately if conditions aren't met This creates an efficient system for controlling workflow progression and managing AI credit consumption. ## When to use a Gate Node? Consider using the Gate Node when: - You need to validate inputs before proceeding with expensive operations - Quality checks are required before continuing the workflow - Cost control is essential for your AI operations Here are some common scenarios where Gate Node excels: | Scenario | Example | | ---------------- | ----------------------------------------------------------------------------------------------- | | Input Validation | Ensuring all required information is valid before proceeding with complex processing | | Quality Control | Checking if generated content meets specific quality criteria before proceeding to distribution | ## How a Gate Node Works The Gate Node operates through a systematic process: 1. Receives input that needs to be evaluated 2. Uses the configured agent to assess the conditions 3. Makes a binary decision: continue or stop 4. Either allows the workflow to proceed or terminates it immediately ## Configuring a Gate Node To set up a Gate Node, you need to configure these essential components: ### 1. Agent Selection Choose the agent that will evaluate the conditions: - Select an agent with appropriate analytical capabilities - Ensure the agent understands your evaluation criteria - Can be left blank if the evaluation is simple and doesn't require a specialized agent ### 2. Decision Logic Setup Define the logic for the continuation decision: - Specify clear conditions that must be met - Write precise instructions for evaluation - Use [variables](/workflow/build/variables) to reference inputs or previous node outputs if needed - Include specific criteria for both continuation and termination ## Gate vs. Router Node When dealing with workflow control based on conditions, you might wonder whether to use a Gate Node or a Router Node. Here's how to choose: | When to use | Gate Node | Router Node | | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Primary Purpose | Make a binary decision: continue or stop the workflow | Direct workflow to different paths based on input type | | Decision Type | Yes/No decision | Multiple possible outcomes | | Flow Control | Can terminate the workflow | Always continues the workflow, just through different paths | | Use Case Example | If you have a web page audit workflow that can process 2 types of pages (landing page and ecommerce product page), force stop if it doesn't belong to either type | Also a web page audit workflow, but you direct the input to different evaluation agents (one optimized for landing pages and the other for ecommerce product pages) | | Impact | Prevents unnecessary resource consumption by stopping early | Optimizes performance by ensuring proper specialist handling | --- # Human Input Node When running a multi-agent workflow, you sometimes need to pause and let humans weigh in with their thoughts, decisions, or data. That's exactly why the Human Input Node exists - it's your way of making workflows more interactive and human-centered. ## What is a Human Input Node? A Human Input Node is a special type of node that creates interactive touchpoints in your workflow. It's your way to manually input data, provide context and instructions, make decisions, or give feedback to AI agents. You can think of it as a "pause and ask" moment in your workflow where human judgment and input are needed. ## When to use a Human Input Node Here are some common scenarios where a Human Input Node shines: 1. **Workflow Triggers** Use it as your first node to kickstart a workflow, especially when you need to input initial content or data. For example, you might use it to input a blog post that needs to be repurposed. 2. **Decision Making** Perfect for moments when you need to choose between options or select which direction to take in a workflow. A common example is selecting the best content idea from AI-generated suggestions. 3. **Feedback Collection** When AI outputs need human refinement, use this node to provide feedback, adjust the workflow's direction, or add important context and clarification. ## How Human Input Nodes Work When your workflow reaches a Human Input Node, it pauses and waits for your input. Think of it like a form that needs to be filled out before the workflow can continue. Once you submit your input, the workflow automatically resumes, and your data flows into the next nodes. ## Configuring a Human Input Node Start by adding a Human Input Node to your workflow. For each field you want to create, give it a clear label (e.g., "Question 1") and choose its type. You can choose from these field types: | Field Type | Description | Additional Configuration | | --- | --- | --- | | TEXT | For free-form text input | Character limit, placeholder text | | BOOLEAN | For yes/no questions | | | NUMBER | For numerical input | | | SELECT | For single-choice options | List of options (one per line) | | MULTI SELECT | For multiple-choice options | List of options (one per line) | | DOCUMENT | For document uploads | Max number of files, Allowed file types | | IMAGE | For image uploads | Max number of images | | URL | For web links | Max number of URLs | Mark fields as required if needed. Your workflow can be as flexible as you need - add multiple Human Input Nodes anywhere in the sequence, and each node can have multiple fields of different types. This flexibility lets you create interactive workflows that pause for human input exactly where needed. --- # Info Node Running a workflow sometimes requires more than just processing data—you need to communicate with your users. Whether it's providing context before a critical step, explaining what's about to happen, or sharing important disclaimers, the Information Node is your way to pause and inform users before they continue. ## What is an Information Node? An Information Node is a communication component that lets you: 1. Display formatted information to users during workflow execution 2. Provide context, instructions, or disclaimers at key moments 3. Ensure users acknowledge important information before proceeding 4. Guide users through complex workflows with helpful explanations Think of it as a "heads up" moment in your workflow where you want to make sure users understand what's happening or what they need to know next. ## When to use an Information Node? Consider using the Information Node when: - You need to explain what happens in the next steps - Users need to understand context before AI processes their input - You want to provide instructions or guidelines - Legal disclaimers or terms need to be acknowledged - Complex workflows need explanatory text between steps Here are some common scenarios where Information Node excels: | Scenario | Example | | -------------------- | ----------------------------------------------------------------- | | Instructions | Explaining how to prepare documents before the AI analyzes them | | Context Setting | Providing background information before content generation begins | | Disclaimers | Displaying legal notices or terms users need to acknowledge | | Process Transparency | Explaining what the AI will do in upcoming steps | | Guidelines | Sharing best practices or tips before user input collection | ## How an Information Node Works The Information Node operates through a simple process: 1. Displays formatted text content to the user during workflow execution 2. Pauses the workflow until the user clicks "Continue" 3. Records when the user acknowledged the information 4. Automatically proceeds to the next node without requiring supervisor approval (in supervised mode) **Note:** Information Nodes are designed for guiding users during execution—they don't appear in PDF exports to keep the final output focused on results. ## Configuring an Information Node Setting up an Information Node is straightforward: ### 1. Add Content Use the rich text editor to create your information message: - Format text with bold, italic, underline, and strikethrough - Add headings and lists for better organization - Include links to external resources - Insert images if visual guidance is needed - Create tables for structured information ### 2. Label the Node Give your Information Node a clear, descriptive label that indicates what information it provides: - "Processing Instructions" - "Important Notice" - "What Happens Next" - "Terms & Conditions" This helps you identify the node in the workflow builder and makes the workflow easier to maintain. ### 3. Placement Position your Information Node strategically: - **Before Human Input Nodes**: Provide instructions on what to enter - **Before Complex Processing**: Explain what the AI will do - **Between Major Workflow Sections**: Give context for the next phase - **At Decision Points**: Help users understand their options The Information Node works seamlessly in both manual and supervised run modes, ensuring users always see your message and explicitly acknowledge it before the workflow continues. --- # Loop Node In many workflow scenarios, you'll find yourself needing to perform the same task multiple times with different inputs - like writing social media posts for multiple product features or analyzing feedback from different customers. The Loop Node is designed exactly for these situations, making it easy to process a list of items without creating redundant workflow steps. ## What is a Loop Node? A Loop Node is a specialized component that automates repetitive tasks by: 1. Taking a list of items as input 2. Using a designated agent to process each item 3. Following specific instructions for handling each item This creates an efficient system for handling multiple similar tasks without creating separate nodes for each item. ## When to use a Loop Node? Consider using the Loop Node when: - You have a list of similar items that need the same processing - A task needs to be repeated multiple times with different inputs - You want to automate repetitive operations - You need to process data in batches - You want to maintain consistency across multiple outputs Here are some common scenarios where Loop Node excels: | Scenario | Example | | ---------------- | ------------------------------------------------------------------------------- | | Content Creation | Processing a list of blog post ideas to generate full articles for each topic | | Social Media | Creating LinkedIn posts for multiple product features or announcements | | Data Processing | Analyzing customer feedback from multiple sources using the same criteria | | Documentation | Generating documentation for multiple API endpoints following the same template | ## How a Loop Node Works The Loop Node operates through a systematic process: 1. Extracts a list of items from some source, which can be a human input, a previous node output, or both 2. Processes each item individually using the configured agent with the same instructions ## Configuring a Loop Node To set up a Loop Node, you need to configure these three essential components: ### 1. The List Setup The first thing you'll see when creating a Loop Node is the "For each item in" field. This is where you specify your list of items to process. You can reference a human input or a previous node output via [variables](/workflow/build/variables). The system will automatically handle converting your input into a processable list. ### 2. Agent Selection Next, you'll choose an agent to process each item in your list: - Click "Select an agent" to choose from your available agents - Pick an agent with expertise relevant to your task - The same agent will process each item in your list ### 3. Instruction Configuration In the "Task" field, write instructions for how the agent should process each item: - Be clear and specific about what you want the agent to do - Use [variables](/workflow/build/variables) to reference human inputs or previous node outputs if needed - The system will automatically apply these instructions to each item in your list ### 4. Processing Limits For workflow efficiency and resource management: - Use the "Max items to process" slider to set a limit - The default maximum is 10 items - Adjust based on your needs while considering processing time and resources --- # Mindie - AI Workflow Assistant Mindie is MindPal's AI-powered workflow builder assistant that helps you create and modify workflows through natural language commands. Instead of manually dragging and configuring nodes, you can simply describe what you want to build and Mindie will do it for you. ## What is Mindie? Mindie is an agentic AI assistant that lives inside the workflow builder. It understands your workflow's current state and can: - **Create nodes** - Add any type of node (Agent, Loop, Router, etc.) with proper configuration - **Modify nodes** - Update prompts, change settings, or reconfigure existing nodes - **Delete nodes** - Remove nodes and their connections cleanly - **Connect nodes** - Create edges between nodes to define the workflow flow - **Diagnose issues** - Scan your workflow for bugs or configuration problems - **Explain workflows** - Describe what your current workflow does ## Getting Started with Mindie ### Opening Mindie 1. Open any workflow in the builder 2. Click the **Mindie** button in the top toolbar (or press the keyboard shortcut) 3. The Mindie panel will open on the right side of the screen ### Your First Command Try one of these commands to get started: - `"What does this workflow do?"` - Get an explanation of your current workflow - `"Create a blog post writing workflow"` - Build a new workflow from scratch - `"Add a summarization step"` - Add a new node to your existing workflow - `"Check for errors"` - Diagnose any issues with your workflow ## Tool Modes Mindie has two tool modes that control how changes are applied to your workflow: ### Ask to Edit (Default) In this mode, Mindie will show you a preview of each change and ask for your approval before applying it. This is the recommended mode for: - Learning how Mindie works - Making careful modifications to important workflows - Understanding exactly what changes will be made When Mindie wants to make a change, you'll see: - **Apply** - Accept the change - **Skip** - Reject the change - **Modify** - Edit the change before applying (for node updates) ### Auto Edit In this mode, Mindie applies changes automatically without asking for approval. This is faster but requires more trust. Use this mode when: - You're comfortable with Mindie's capabilities - You're doing rapid prototyping - You've cloned your workflow and can easily revert ## Common Use Cases ### Building a New Workflow Describe the workflow you want to create: ``` Create a workflow that: 1. Takes a blog topic as input 2. Researches the topic using web search 3. Writes a draft blog post 4. Reviews and edits the draft 5. Outputs the final post ``` ### Adding Nodes Add specific node types with context: ``` Add a loop node after the research step to process each source separately ``` ``` Add a router node that sends technical topics to the technical writer agent and marketing topics to the marketing writer agent ``` ### Modifying Existing Nodes Update node configurations: ``` Update the summarizer node to produce bullet points instead of paragraphs ``` ``` Change the writer agent's prompt to focus more on SEO optimization ``` ### Connecting Nodes Create connections between nodes: ``` Connect the translator node to the human input ``` ``` Make the editor node receive output from both the writer and researcher ``` ### Diagnosing Issues Find and fix problems: ``` Check for errors in this workflow ``` ``` Why isn't the output node receiving data? ``` ## Referencing Workflow Elements ### Using @Mentions You can reference specific elements in your workflow using @mentions: - **@[Node Name]** - Reference a specific node's output - **@[Input Field]** - Reference a human input field - **@[Knowledge Source]** - Reference a knowledge source As you type `@`, you'll see a dropdown with available options to choose from. ### Examples ``` Update @[Blog Writer] to use a more casual tone ``` ``` Connect @[Researcher] output to @[Summarizer] input ``` ## Available Node Types Mindie can create and configure all MindPal node types: | Node Type | When to Use | Example Command | |-----------|-------------|-----------------| | [Human Input](/workflow/build/human-input-node) | Collect user input | "Add a text field for the topic" | | [Agent](/workflow/build/agent-node) | Single AI task | "Add an agent to write the introduction" | | [Evaluator-Optimizer](/workflow/build/evaluator-optimizer-node) | Quality improvement | "Add a self-improvement loop for the draft" | | [Loop](/workflow/build/loop-node) | Process multiple items | "Add a loop to handle each topic" | | [Orchestrator-Worker](/workflow/build/orchestrator-worker-node) | Complex coordination | "Add an orchestrator to manage research tasks" | | [Subflow](/workflow/build/subflow-node) | Reuse workflows | "Add my email template workflow as a step" | | [Chat](/workflow/build/chat-node) | Interactive conversation | "Add a chat node for clarification" | | [Canvas](/workflow/build/canvas-node) | Visual output | "Add a canvas for generating images" | | [Code](/workflow/build/code-node) | Custom logic | "Add a code node to format the data" | | [Router](/workflow/build/router-node) | Conditional branching | "Add a router based on content type" | | [Gate](/workflow/build/gate-node) | Stop conditions | "Add a quality gate that checks for errors" | | [Webhook](/workflow/build/webhook-node) | External integration | "Add a webhook to send results to Slack" | | [Payment](/workflow/build/payment-node) | Monetization | "Add a payment node for $5" | ## Tips for Better Results ### Be Specific Instead of: ``` Add a writing step ``` Try: ``` Add an agent node after the research step that writes a 500-word blog post using the research results, targeting beginner developers ``` ### Provide Context Include relevant details about your workflow: ``` The summarizer is taking too long. Can you split it into two steps - first extract key points, then generate the summary? ``` ### Use Node Names Reference existing nodes by their labels: ``` Update the "Content Writer" node to include a call-to-action at the end ``` ### Iterate Incrementally Build workflows step by step rather than all at once: 1. Start with the basic structure 2. Add nodes one at a time 3. Configure each node 4. Test and refine ## Troubleshooting ### Mindie Isn't Understanding My Request - Try rephrasing your command with more specific details - Break down complex requests into smaller steps - Use node names or @mentions to be explicit about what you're referencing ### Changes Aren't Applied Correctly - Use "Ask to Edit" mode to preview changes before applying - Check if the node configuration matches your expectations - Use "Check for errors" to diagnose any issues ### Workflow Has Errors After Changes - Ask Mindie to diagnose the workflow: `"Check for errors"` - Verify all connections are properly made - Ensure required fields are configured on each node ## Credit Usage Mindie uses AI credits when you send messages. Credits are only consumed for your messages, not for tool approvals or clarification responses. The exact credit usage depends on your workspace's AI credit allocation. --- # Orchestrator-Worker Node Ever found yourself tackling a complex project where you're not quite sure about all the steps needed until you dig in deeper? That's exactly where the Orchestrator-Worker Node shines. Think of it as having a smart project manager (the orchestrator) who breaks down big tasks into smaller pieces and assigns them to specialized team members (the workers) - all while adapting the plan as new information comes to light. ## What is an Orchestrator-Worker Node? The Orchestrator-Worker Node is a dynamic task planning & execution system that consists of: 1. **Orchestrator Agent**: A central planner that breaks down complex tasks into manageable subtasks 2. **Worker Agents**: Specialized agents that execute the individual subtasks This creates a flexible system where complex tasks can be handled efficiently through intelligent task distribution and management. ## When to use an Orchestrator-Worker Node? Consider using the Orchestrator-Worker Node when: - The full scope of work isn't clear at the start - Tasks require dynamic planning and adjustment - Work can be broken down into smaller subtasks - Different subtasks need different types of expertise Here are some common scenarios where Orchestrator-Worker Node excels: | Scenario | Example | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | Content Creation | Managing a content campaign where topics, formats, and distribution channels need to be planned and executed by different specialists | | Market Analysis | Coordinating market research where questions to ask are not clear at the start and will be determined based on the product/service provided | ## How an Orchestrator-Worker Node Works The Orchestrator-Worker Node operates through a systematic process: 1. The orchestrator agent analyzes the main task and creates an initial breakdown of subtasks as well as instructions for each subtask 2. The orchestrator agent assigns the subtasks to the appropriate worker agents 3. The worker agents execute their assigned tasks and report back ## Configuring an Orchestrator-Worker Node To set up an Orchestrator-Worker Node, you need to configure these essential components: ### 1. Orchestrator Agent Setup The orchestrator agent is your project manager: - Select an agent with strong analytical and planning capabilities - Provide clear instructions for the overall objective and for how tasks should be broken down with references to human inputs or previous node outputs via [variables](/workflow/build/variables) if needed ### 2. Worker Agents Selection Choose your team of specialized workers: - Select agents with different expertise relevant to potential subtasks ### 3. Execution Parameters Set the operational parameters: - Maximum number of subtasks to create ## Loop vs. Orchestrator-Worker Node When dealing with tasks that involve multiple steps or items, you might wonder whether to use a Loop Node or an Orchestrator-Worker Node. Here's how to choose: | When to use | Loop Node | Orchestrator-Worker Node | | --------------- | ------------------------------------------------------ | ------------------------------------------------------ | | What you have | A list of similar items that need the same treatment | A big task that needs to be broken down into pieces | | What you know | You know exactly what needs to be done for each item | You're not sure about all the steps needed at the start | | Who does it | One agent can handle everything | You need different experts for different parts | | Example | Given a list of topics, create a blog post for each topic by Blog Post Writer Agent | Given a blog post, repurpose it for different social media platforms, selected by the human at the time of execution, by a team of 10+ content creator agents| --- # Payment Node Turn your workflows into a revenue stream by adding payment checkpoints. The Payment Node lets you monetize your expertise by requiring payment before users can access specific parts of your workflow. ## What is a Payment Node? A Payment Node: - Gates access to workflow steps until payment is completed - Processes payments through your Stripe account - Continues workflow automatically after successful payment ## When to Use a Payment Node? Add a Payment Node when you want to monetize your workflow with a one-time payment. ## How Payment Nodes Work When users reach a Payment Node in your workflow: 1. **Payment form**: A secure Stripe checkout form appears, requesting the one-time payment you configured 2. **Gated access**: Users cannot view or access any workflow steps after the Payment Node until payment is completed 3. **Secure processing**: All payments are processed securely through Stripe, connected directly to your account 4. **Full revenue**: You receive 100% of each payment - MindPal charges no platform fees or commissions (as of February 2025) 5. **Automatic continuation**: Once payment is successful, users gain immediate access to continue the workflow ## Configuring a Payment Node ### 1. Connect your Stripe to MindPal Connect your Stripe account to your MindPal workspace by bringing your Stripe publishable key & secret/restricted key to the your workspace settings' "Keys & Credentials" tab. Please make sure your credentials are correct, otherwise the payment will fail to be processed. ### 2. Set the price amount & currency - Set amount - Choose currency (USD, etc.) --- # Router Node Ever needed to send different types of tasks to different specialized agents? That's where the Router Node comes in. It acts like a smart traffic controller, examining each input and directing it to the most appropriate path for processing - ensuring that each type of task gets handled by the right specialist. ## What is a Router Node? A Router Node is a specialized component in MindPal's Multi-Agent Workflow that: 1. **Examines inputs** based on defined decision logic 2. **Classifies** the input into distinct categories 3. **Directs** the flow to appropriate downstream agents This creates an efficient system for handling diverse inputs while maintaining specialized processing for each type. ## When to use a Router Node? Consider using the Router Node when: - You have different types of inputs requiring different handling - Different scenarios require different specialized agents Here are some common scenarios where Router Node excels: | Scenario | Example | | -------------------------- | ---------------------------------------------------------------------------------------------------------------- | | Customer Support | Routing different types of support tickets (billing, technical, general inquiries) to specialized support agents | | Content Processing | Directing different content types (articles, social posts, documentation) to appropriate content specialists | | Job Application Processing | Routing different hiring decisions (acceptance, rejection) to appropriate post-decision actions | ## How a Router Node Works The Router Node operates through a systematic process: 1. Receives an input that needs classification 2. Applies the configured decision logic to evaluate the input 3. Selects the appropriate path based on the evaluation 4. Directs the flow to the corresponding downstream node ## Configuring a Router Node To set up a Router Node, you need to configure these essential components: ### 1. Decision Logic Setup The decision logic is your classification criteria: - Define clear instructions for how inputs should be evaluated - Specify the conditions for selecting each path - Ensure the logic covers all possible input scenarios - Reference human input values or previous node outputs via [variables](/workflow/build/variables) if needed ### 2. Path Configuration For each possible classification: - Create a distinct path - Specify the next node for that path - Add a clear description of when this path should be taken --- # Sticky Note Node ## What is a Sticky Note Node? A simple non-executable component for adding notes and documentation directly in your workflow. Sticky notes serve purely as visual reminders and documentation. ## When to Use a Sticky Note Node? 📌 Use sticky notes to: - Note down important ideas & details - Leave instructions for teammates - Guide clients on how to use the workflow ## How a Sticky Note Node Works - Non-executable and purely visual - Can be placed anywhere in your workflow diagram - Only visible in the Workflow Builder, not during runtime - Doesn't affect the execution flow ## Configuring a Sticky Note Node Simply enter the text you want to display in the note. You can use formatting like bold, italic, bullet points, and emojis for better readability. --- # Subflow Node Ever had a workflow that you want to reuse in different places? Maybe you've built a perfect content review process or a social media post generator that you'd love to plug into other workflows? That's exactly what the Subflow Node is for. Think of it as your favorite workflow recipe that you can easily drop into any other workflow - saving you time and keeping things consistent across your projects. ## What is a Subflow Node? A Subflow Node is a special component that lets you: 1. Insert an existing workflow into another workflow 2. Reuse proven processes without rebuilding them 3. Keep your workflows organized and maintainable This creates a modular system where you can build complex workflows from simpler, reusable building blocks. ## When to use a Subflow Node? Consider using the Subflow Node when: - You have a process that you frequently reuse - You want to maintain consistency across different workflows - You need to break down complex workflows into manageable pieces - You want to update multiple workflows by changing just one subflow Here are some common scenarios where Subflow Node excels: | Scenario | Example | | --------------- | ------------------------------------------------------------------------------- | | Content Review | Using a standardized review process across different content creation workflows | | Data Processing | Applying the same data cleaning and validation steps in various data workflows | | Quality Checks | Implementing consistent quality control processes across different outputs | | Social Media | Reusing post formatting and scheduling logic across marketing campaigns | ## How a Subflow Node Works The Subflow Node operates through a straightforward process: 1. Selects a pre-built workflow to run as part of the current workflow 2. Passes relevant inputs from the main workflow to the subflow 3. Executes the subflow with those inputs 4. Returns the subflow's output back to the main workflow ## Configuring a Subflow Node To set up a Subflow Node, you need to configure these essential components: ### 1. Workflow Selection The first step is choosing which workflow to run: - Select from your existing workflows in the dropdown - The selected workflow will run as part of your current workflow - Make sure the chosen workflow is compatible with your needs ### 2. Pre-fill Initial Inputs (optional) If the subflow uses inputs from the main workflow, you can pre-fill them here so the human doesn't have to re-enter them: - Map inputs from your main workflow to the subflow's required fields - Use [variables](/workflow/build/variables) to reference human inputs or previous node outputs - Ensure all required fields are properly connected You don't have to pre-fill all inputs. If you don't need to pre-fill any inputs, you can safely skip this step. --- # Variables Before diving into specific workflow configurations, it's crucial to understand how MindPal enables data flow between workflow steps through variables. This fundamental concept allows AI agents to work together effectively by sharing information across your workflow. ## What are Variables? In MindPal workflows, there are two types of variables: 1. **Human Input Value Variables**: Values that users provide in the input fields of your Human Input Nodes 2. **AI Step Output Variables**: Results generated by AI agents in previous steps of your workflow These variables form the backbone of data flow in your workflow, allowing you to create dynamic and interconnected agent interactions. ## How Variables Work The magic happens during workflow execution. When you run a workflow, MindPal automatically replaces these variables with their actual values: - **Human Input Value Variables** get replaced with the values human users provided in the input fields of your Human Input Nodes - **AI Step Output Variables** get replaced with the actual results generated by previous AI steps This replacement process ensures that each AI agent in your workflow receives complete, context-aware instructions with all the necessary information from both human inputs and previous AI responses. ## Configuring Variables Here's how you can add variables to your workflow steps: - Press the "Add" symbol key in input fields - Select any human input field or previous AI step output you want to reference - The variable will be highlighted in purple when properly configured **Important Note:** When configuring variables in MindPal, a variable is only successfully configured if it is highlighted in purple. Refer to the following screenshot to see how a successfully configured variable looks like. ![Successfully Configured Variables](/features/workflow/highlighed-variable.png) --- # Webhook Node If you need to send your workflow results to another system or app, the Webhook Node is the perfect tool for the job. It acts as a messenger that takes all the important information from your workflow, up to the point where the Webhook Node is added, and delivers it wherever you need it to go - whether that's a cross-app integration platform like Zapier or Make, your own backend, a third-party service, or any other system that can receive web requests. ## What is a Webhook Node? A Webhook Node is a specialized component that: 1. Collects results from your workflow up to that point 2. Organizes the data in a consistent, structured format 3. Sends this information to your specified URL endpoint This creates a bridge between your MindPal workflow and other systems, making it easy to integrate with your existing tools and services. ## When to use a Webhook Node? Consider using the Webhook Node when: - You need to send workflow results to another system - You want to trigger actions in external applications - You want to store or process workflow results elsewhere Here are some common scenarios where Webhook Node excels: | Scenario | Example | | --------------- | -------------------------------------------------------------- | | Data Collection | Sending customer info collected from a form to your CRM system | | Integration | Triggering actions in your backend when a workflow completes | | Automation | Automatically updating external systems with workflow results | | Distribution | Sending workflow outcomes to a third-party service to publish | ## How a Webhook Node Works The Webhook Node operates through a simple process: 1. Collects all workflow data up to the current point 2. Structures the data in a consistent JSON format 3. Sends a POST request to your specified webhook URL The webhook will send data in this structured format: ```json { "workflow_run_id": "string", // The ID of the workflow run "workflow_id": "string", // The ID of the workflow "workflow_title": "string", // The title of the workflow "workflow_run_input": [ { "index": number, // The index of the input, starting from 0 and incrementally going up "title": "string", // The title of the input "type": "string", // The type of the input (e.g., "TEXT", "NUMBER", "DATE", "SELECT", etc.) "content": "string" // A stringified version of the input } // An array of all the inputs to the workflow up to the Webhook Node ], "workflow_run_output": [ { "index": number, // The index of the output, starting from 0 and incrementally going up "title": "string", // The title of the output "type": "string", // The type of the node (e.g., "AGENT", "ORCHESTRATOR_WORKER", "LOOP", "EVALUATOR_OPTIMIZER", etc.) "content": "string" // A stringified version of the output } // An array of all the outputs from the workflow up to the Webhook Node ] } ``` ## Configuring a Webhook Node One workflow can have multiple Webhook Nodes. To set up a Webhook Node, you need to configure these essential components: ### 1. Webhook URL Setup The first and most important step is providing your webhook URL: - Create a webhook URL in the destination system (e.g. Zapier, Make, your own backend, etc.) - Enter the full URL where you want to receive the data ### 2. Testing Your Webhook Before running your workflow: - Use the "Send test data" button to verify your endpoint - Check if your endpoint correctly receives and processes the data - Verify the data format matches your expectations ## Handling Webhook Data When your webhook sends data to external systems, understanding how to access specific information is essential. Both `workflow_run_input` and `workflow_run_output` are structured as arrays, with each item corresponding to a specific step in your workflow. ### Working with Make.com Make.com provides an intuitive interface for accessing webhook data. Here's how to extract exactly what you need: ![JSON response from MindPal webhook in Make.com showing the complete data structure with workflow information and arrays of inputs and outputs](/features/workflow/webhook/make-data.png) To access specific data points: 1. In Make.com, click on the webhook module in your scenario 2. Click on the data mapping panel to view available fields 3. Locate the array (`workflow_run_input` or `workflow_run_output`) containing your target data ![Make.com data selection panel showing the expandable structure of webhook data with workflow inputs and outputs](/features/workflow/webhook/make-selection.png) For example, to access the "content" of the second item in the `workflow_run_input` array: 1. Click on the `workflow_run_input` field to expand it 2. Select the "content" field ![Make.com data selection showing workflow_run_input with cursor positioned to add an array index](/features/workflow/webhook/make-data-item-1.png) Now you'll notice a cursor appears between `workflow_run_input` and `content`. Here, you'll add the item's position number: ![Make.com data selection with "2" inserted between workflow_run_input and content, showing the complete path to the second item's content](/features/workflow/webhook/make-data-item-2.png) The final result `workflow_run_input[2].content` gives you the content of the second item in your workflow input array. You can apply the same logic to extract data from `workflow_run_output` or other properties, such as `workflow_run_output[3].title` to access the title of the third output item in your workflow. For a step-by-step walkthrough on how to connect your MindPal workflows with Make, check out this video tutorial: --- # Common Issues in Workflows This guide covers common issues you might encounter when building and running workflows in MindPal. ## Workflow Structure Issues ### 1. Multiple Starting Points **Issue:** Your workflow won't run and shows an error about the starting point. **Cause:** A workflow must have exactly one starting point - a node with no incoming connections. If you have multiple nodes without incoming edges, the workflow doesn't know where to begin. **Solution:** 1. Review your workflow in the builder 2. Ensure only one node (typically a Human Input node) has no incoming connections 3. Connect any floating nodes to the main workflow chain ### 2. Disconnected Nodes **Issue:** Some steps in your workflow are skipped during execution. **Cause:** Nodes that aren't connected to the main flow won't execute. **Solution:** 1. Check that all nodes are properly connected 2. Look for missing edges between nodes 3. Use the workflow preview to trace the execution path ### 3. Circular Dependencies **Issue:** Workflow enters an infinite loop or fails with a dependency error. **Cause:** A node references output from a node that comes after it, or nodes reference each other. **Solution:** 1. Review variable references in each node 2. Ensure variables only reference nodes that execute BEFORE the current node 3. Reorganize the workflow to eliminate circular references ## Variable Issues ### 4. Variables Not Working **Issue:** Variables show as plain text instead of being replaced with values. **Symptoms:** - You see `{{Variable Name}}` in the output instead of the actual value - Agent responses mention the variable name literally **Solutions:** 1. **Check variable highlighting** - Properly configured variables appear in purple 2. **Use the variable picker** - Click the "+" button to insert variables correctly 3. **Avoid manual typing** - Don't type variable syntax manually; always use the picker 4. **Verify variable exists** - The referenced node must exist and have output ### 5. Variable Contains Wrong Data **Issue:** The variable value isn't what you expected. **Solutions:** 1. **Check the source node** - Review what that node actually outputs 2. **Test the source node independently** - Run the workflow in supervised mode to inspect each step 3. **Verify the correct field** - Human Input nodes may have multiple fields ## Node Execution Issues ### 6. Agent Node Produces Poor Results **Issue:** The agent within a workflow step gives unsatisfactory output. **Solutions:** 1. **Improve the prompt:** - Be specific about what you want - Include context from previous steps using variables - Provide examples of expected output 2. **Use a better model:** - For complex tasks: Claude 4.5 Sonnet, GPT-5 - For reasoning: o3, o4 Mini 3. **Assign a specialized agent:** - Instead of using a blank/default agent, select one with appropriate system instructions and knowledge ### 7. Loop Node Processing Wrong Items **Issue:** The loop doesn't iterate over the expected items. **Solutions:** 1. **Verify the list source prompt** - Ensure it correctly extracts items from the source 2. **Check the source format** - The AI needs clear, separable items 3. **Set appropriate max item count** - Start small (3-5) for testing 4. **Use explicit formatting** in the list source: ``` Extract each product name from {{Previous Output}}, one per line. ``` ### 8. Router Node Takes Wrong Path **Issue:** The workflow goes down an unexpected branch. **Solutions:** 1. **Review routing logic** - Make conditions clearer and more specific 2. **Add explicit criteria** in the prompt: ``` If the sentiment is POSITIVE, choose path 1. If the sentiment is NEGATIVE, choose path 2. Otherwise, choose path 3. ``` 3. **Test with various inputs** to verify all paths work correctly ### 9. Gate Node Blocks Unexpectedly **Issue:** The Gate Node stops the workflow when it shouldn't, or continues when it should stop. **Solutions:** 1. **Clarify the stopping condition:** ``` Return TRUE (stop) if the input is empty or contains profanity. Return FALSE (continue) if the input is valid text. ``` 2. **Use a smarter model** for nuanced condition evaluation 3. **Test edge cases** with various input types ## API and Trigger Issues ### 10. API Trigger Not Working **Issue:** The workflow doesn't run when triggered via API. **Solutions:** 1. **Verify API format** - Match the exact schema in your workflow's API Reference tab 2. **Check authentication** - Ensure your API key is valid and included 3. **Validate JSON syntax** - Use a JSON validator to check your request body 4. **Check field names** - Names are case-sensitive ### 11. Webhook Node Fails to Send **Issue:** The Webhook Node shows failed status. **Solutions:** 1. **Verify the URL** - Ensure it's correct and accessible 2. **Check endpoint availability** - Test with a tool like Postman 3. **Review authentication** - Add required headers 4. **Check payload format** - Some endpoints require specific formats ### 12. Scheduled Trigger Doesn't Fire **Issue:** Workflows don't run at the scheduled time. **Solutions:** 1. **Verify schedule configuration** - Check timezone settings 2. **Ensure workflow is published** - Unpublished workflows won't trigger 3. **Check your plan** - Scheduled triggers require paid plans ## Performance and Credit Issues ### 13. High Credit Consumption **Issue:** Workflows use more credits than expected. **Solutions:** 1. **Use efficient models:** - Gemini 2.5 Flash (1 credit) - DeepSeek (0.5 credits) 2. **Optimize workflow structure:** - Combine steps where possible - Use Gate Nodes to stop early for invalid inputs - Set reasonable max items for Loop Nodes 3. **Monitor credit usage:** - Check the credit estimate in the workflow builder - Review actual consumption in completed runs ### 14. Workflow Times Out **Issue:** Long-running workflows fail or timeout. **Solutions:** 1. **Break into smaller workflows** - Use Subflow Nodes for complex processes 2. **Reduce loop iterations** - Process fewer items per run 3. **Use Background Mode** - For long workflows that don't need real-time results 4. **Optimize prompts** - Shorter, more focused prompts execute faster ## Debugging Tips ### Using Supervised Mode 1. Run the workflow in **Supervised Mode** 2. Review output at each step before proceeding 3. Edit or regenerate any problematic step 4. Identify exactly where issues occur ### Reading Error Messages Error messages typically indicate: - **Node name** - Which step failed - **Error type** - What went wrong (context length, API error, etc.) - **Suggested fix** - How to resolve the issue ### Testing Incrementally 1. Start with a simple workflow (2-3 nodes) 2. Verify each node works correctly 3. Add nodes one at a time 4. Test after each addition ## Getting More Help If these solutions don't resolve your issue: 1. **Check the [agent common issues](/agent/common-issues)** for agent-specific problems 2. **Review the [API documentation](https://api-v3.mindpal.io/docs)** for API issues 3. **Join our [Facebook Community](https://www.facebook.com/groups/mindpalhub)** to ask questions 4. **Contact support** at [support@mindpal.io](mailto:support@mindpal.io) --- # Running Workflows via Form Share your workflows with anyone through an interactive form interface - no MindPal account required. ## What is a Workflow Form? A workflow form transforms your complex multi-agent workflow into a simple, user-friendly web page where anyone can input data and get results. It's perfect for: - Sharing workflows with clients or team members - Embedding workflows on your website - Creating public-facing AI tools - Building workflow templates for others to use ## How It Works When you publish your workflow as a form, it becomes publicly accessible to anyone who has the link or sees it embedded on a website. Users can input their data through the form interface and run the workflow to get results. Every time someone runs your workflow through the form: 1. Their inputs are processed through your workflow 2. They receive the workflow results 3. The run is recorded in your workflow's "Run History" with "FORM" as the trigger type ## Configuring Your Workflow Form Before publishing, make sure your workflow is: - Successfully built and tested - Generating the expected outputs - Working reliably with different inputs Then, navigate to the "Form" tab in your workflow to configure these sections: ### 1. Set Up the Identity Give your workflow form a name and description. - **Name** (required): Enter a clear name for your workflow - **Description**: Add a rich-text description to explain what the form is for, what it does, how to use it, your contact information, or about you & your business. Use the AI-powered "Auto-generate" or "Enhance" button to create or improve your description automatically. ### 2. Customize the Interface Personalize the visual appearance of your workflow form. - **Icon**: Add a custom icon for your form (e.g., your company logo). Paste a public photo URL or upload an image. - **Banner**: Add a header image for the form (e.g., product screenshot). Paste a public photo URL or upload an image. - **Brand Color**: Choose a primary color for buttons and UI elements to match your brand. - **MindPal Branding**: Toggle the "Powered by MindPal" badge visibility. Connect your affiliate code to earn 20% recurring commission. ### 3. Design the Workflow Experience Control how users interact with your workflow. #### Interaction Style - **Enable Step-by-Step Human Review**: Pause after each step so the user can approve the AI's output before moving to the next step (similar to "Run in supervised mode" in app). - **Show "Rerun" Button**: Allow users to reset the workflow and run it again from the beginning. - **Enable Workflow Setup Template Duplication**: Allow others to clone this workflow setup into their own MindPal account (great for template creators). #### User Capabilities - **Allow "Retry" on Answers**: Let users ask the AI to try again if they aren't satisfied with a specific answer. - **Allow Manual Editing**: Let users manually tweak or correct the text generated by the AI. - **Enable "Copy to Clipboard"**: Add a quick-copy button next to every answer. - **Enable PDF Download**: Add a button for users to download their final results as a PDF document. - **Enable Social Sharing**: Add buttons for users to share their results directly to LinkedIn, X (Twitter), or Facebook. #### Process Visibility - **Control Which Steps Are Visible**: Toggle off any steps you want to run silently in the background. The user will only see "Running in background..." for hidden steps. Each workflow node can be toggled individually (some nodes are always visible or hidden by default). ### 4. Control Access Manage who can access your workflow and how. - **Public URL** (required): Your workflow will be available at `mindpal.space/[your-slug]`. Choose a unique URL path for your workflow. - **Custom Domain** (optional): Host the form on your own domain. - **Restrict Embedding to Specific Domains** (optional): Limit where your workflow can be embedded. Add specific domains (one per line) that are allowed to embed your workflow form. Example: `example.com`, `subdomain.example.com`. - **Enable Custom User ID** (optional): Allow users to see their workflow run history by passing their user ID from your system. Choose one of three modes: - _None (Anonymous)_ - Default setting. All workflow runs are anonymous with no user identification required. Perfect for public workflows. - _Optional_ - Custom user ID can be passed to enable workflow run history per user. If no user ID is provided, workflow works normally (anonymous). Best for mixed audiences (some authenticated, some not). - _Required_ - Custom user ID must be passed or the workflow won't work. Always provides workflow run history. Only use this if the workflow is behind a login wall or in a members-only area. When enabled, you can pass a user ID from your website to MindPal, allowing users to access their workflow run history and continue from where they left off. See the [Custom User ID Guide](/guides/custom-user-id) for detailed implementation instructions. ### 5. Advanced Configure advanced features to enhance your workflow. #### Email Notifications Get notified via email for each new submission when users submit workflow forms. #### Rate Limiting Protect your workflow from abuse and control usage costs by configuring flexible rate limit rules. You can define multiple concurrent rules to create granular usage policies. For a detailed guide on how rate limiting works, how to configure rules, and best practices, please refer to our [Rate Limiting Guide](/guides/rate-limit). #### Custom Session Context Pass contextual information about users directly from your website to the workflow, enabling personalized AI interactions without requiring users to repeat information. **How to Set Up:** 1. Toggle "Enable custom session context" to ON 2. Define context keys by adding custom fields: - **Label**: Human-readable name (e.g., "User ID", "Project Type") - **Generated Key**: Automatically created from the label in kebab-case format (e.g., "user-id", "project-type") **How It Works:** When enabled, you can pass information from your website to the workflow using the generated keys. All AI agents in the workflow will naturally use this information in their responses and decisions without explicitly mentioning where it came from. **Example:** If you define these context keys: - Label: "Customer Type" → Key: `customer-type` - Label: "Order ID" → Key: `order-id` The workflow's AI agents will know the customer type and order ID, allowing them to provide tailored responses like generating order-specific reports or customizing outputs based on customer tier. See the [Custom Session Context Guide](/guides/custom-session-context) for detailed implementation instructions on how to pass this data from your website. ## Sharing Your Workflow Once configured, you have two options for sharing: - **Direct Link**: Get a unique URL for your form and share it. Anyone with the link can access the form. - **Embed Code**: Copy the embed code and paste it into your website as an iframe. ## Frequently Asked Questions ### Can users go back to previous steps in a workflow to make edits before moving to the next step? Yes, enable "Step-by-step human review" in the "Design the workflow experience" section. When activated, the workflow will pause after each step, allowing users to review outputs, make edits, or regenerate results before proceeding to the next step. ### Is there a way to save progress in a workflow? Yes, progress saving is built into the workflow system. When a user starts a workflow, a unique identifier called "workflow run ID" is generated and appears in the URL as a parameter. The URL would look something like this: `https://[YOUR_WORKFLOW_PUBLIC_URL]?wrid=[WORKFLOW_RUN_ID]`. As long as users save or bookmark this specific URL, they can return to it later and continue their workflow from where they left off. This is particularly useful for longer workflows with multiple input steps. You can also utilize webhooks to save the workflow run ID somewhere for your users, allowing them to access their workflow progress through your own system. --- # Running Workflows In App MindPal offers multiple ways to run workflows within your workspace, each designed for different use cases and levels of control. Let's explore each run mode in detail. ## Default Mode ### What is it? Default mode is the standard way to run workflows, processing one set of inputs at a time and providing real-time results as the workflow progresses. You must keep the workflow window open for it to run. ### When to use it? - When you want to see results immediately as they come in - For simple workflows that don't require oversight - For workflows you've tested thoroughly and trust to run independently ### How it works? 1. Input your data in the workflow form 2. Click "Run" to start the workflow 3. Watch the progress in real-time as each node executes 4. Get results immediately upon completion ### Example A content creation workflow where you input a topic and receive a blog post outline, draft, and final version in real-time. You can see how each agent contributes to the final piece, making it easy to identify any issues in the process. ## Supervised Mode ### What is it? Supervised mode gives you complete control over the workflow execution by requiring manual approval at each step. You can review and edit responses before moving to the next node. You must keep the workflow window open for it to run. ### When to use it? - When quality control is crucial - When you need to review, fine-tune, and approve responses at each step - When the output of next nodes depends on the output of the previous nodes, hence human oversight is needed to prevent compound errors ### How it works? 1. Start the workflow with your inputs and select mode "Supervised" 2. After each node is completed, the workflow will pause and you can review the output of the last step and regenerate or make edits if needed 3. Only when you are happy with the output, you can click "Approve" and the workflow will continue to the next node 4. Proceed through each step until completion ### Example A legal document review workflow where each stage (contract analysis, risk assessment, recommendation) requires expert oversight. The supervisor can adjust the AI's analysis at each step to ensure accuracy and compliance. ## In Background Mode ### What is it? In background mode, the workflow runs while you work on other tasks. You can close the window and return later to check results. You don't need to keep the workflow window open. ### When to use it? - For long-running workflows for which waiting is time-consuming - When you prefer asynchronous execution or real-time monitoring is not needed - When you want to have multiple workflow runs going on at the same time and don't want to wait for each one to complete before starting the next one ### How it works? 1. Start the workflow and select "Run in Background" 2. Continue working on other tasks 3. Receive an email notification when the workflow completes with the link to view the results ### Example A data analysis workflow processing hundreds of customer feedback responses. You start the workflow, continue with other work, and return later to find a comprehensive analysis report ready for review. ## Bulk Run Mode ### What is it? Bulk run mode enables processing multiple workflow instances simultaneously by uploading batch inputs, perfect for scaling operations. ### When to use it? - When processing large datasets - For repetitive tasks with different inputs ### How it works? 1. Prepare your inputs in a CSV or spreadsheet format, following the exact format required as shown in the sample CSV you can download from the workflow runner 2. Upload the file with multiple input sets 3. Start the bulk run 4. Monitor progress in the workflow's "Run History" page. An email will be sent to you when each set of inputs completes with the link to view the results ### Example A social media content workflow where you need to create posts for 50 different products: 1. Upload a CSV with product details (name, features, target audience) 2. The workflow processes each product in parallel 3. Get back 50 sets of social media posts, each tailored to the specific product Remember that you can switch between modes as needed, even for the same workflow, depending on your specific needs at the time. --- # Public API Trigger Imagine being able to kick off your workflows automatically from any system or application. That's exactly what the Public API trigger enables - it lets you programmatically start workflows through simple HTTP requests. ## What is it? The Public API trigger is a powerful way to integrate MindPal workflows into your existing systems and applications. It provides a REST API endpoint that you can call to start a workflow execution with custom data. ## When to use it? Use the Public API trigger when you want to trigger a workflow on MindPal to run programmatically from an external system or application, such as: - A custom application you're building - A cross-app integration platform like Zapier or Make ## How it works? 1. Send a POST request to the Public API endpoint with the workflow input data 2. The workflow starts executing with the provided data 3. You receive a response with the execution details ## Configuring the API request The complete API documentation is available [here](https://api-v3.mindpal.io/docs). For workflow-specific API details: 1. Open your workflow 2. Go to the "API Reference" tab 3. Find detailed documentation customized for your workflow's specific input schema ## Frequently Asked Questions ### How do I get the workflow run results? Since workflows run asynchronously, when you trigger a workflow via the Public API, you'll immediately receive a workflow run ID rather than the final results. This is because workflows can take time to complete. There are two ways to get the workflow run results: 1. **Using Webhook Node (Recommended)**: Add a [Webhook Node](/workflow/build/webhook-node) at the end of your workflow. Once the workflow completes, it will automatically send all results to your specified webhook URL. 2. **Polling the Results API**: Use the workflow run result endpoint to retrieve results using the workflow run ID: ``` GET /api/workflow-run-result/retrieve-by-id ``` See the complete [API documentation](https://api-v3.mindpal.io/docs#/Results/get_workflow_run_by_id_api_workflow_run_result_retrieve_by_id_get) for details. --- # Schedule Trigger Ever wished your workflows could run on autopilot on a recurring basis, like having a reliable assistant who knows exactly when to kick off important tasks? That's exactly what Schedule triggers do - they let you automate your workflows to run at specific times, whether it's daily check-ins, weekly reports, or monthly analyses. ## What is a Schedule Trigger? A Schedule trigger is a way to start your workflow at predetermined, recurring times. It acts like a smart alarm clock for your workflows, ensuring they run consistently without manual intervention. ## When to use a Schedule Trigger? Use Schedule triggers when you want workflows to run automatically at specific times, such as: - Daily morning briefings - Weekly social media content planning - Monthly performance report generation - Periodic data backups - Regular customer follow-ups Here are some common scenarios where Schedule triggers excel: | Scenario | Example | | ---------------- | -------------------------------------------------------- | | Content Planning | Trigger content ideation workflow every Monday morning | | Reporting | Generate weekly analytics reports every Friday afternoon | ## How Schedule Triggers work The Schedule trigger operates through a straightforward process: 1. You set up a schedule specifying when the workflow should run (e.g., every day at 9:00) 2. You configure the timezone to ensure the workflow runs at the right time for your location 3. You can optionally set up human input that will be used each time the workflow runs 4. At the scheduled time, the workflow automatically starts with the configured input ## Configuring a Schedule Trigger To set up a Schedule trigger, you need to configure these essential components: ### 1. Schedule Setup First, define when your workflow should run: - Choose the frequency (every day, week, month) - Set the specific time - Select your timezone to ensure accurate timing ### 2. Human Input Configuration If your workflow needs specific input each time it runs: - Define the input fields your workflow needs - The input will be used consistently for each scheduled run - You can modify these inputs anytime by editing the trigger --- # How AI Credits Work MindPal uses a credit-based system for AI usage, where different AI models consume varying amounts of credits per request. This guide will help you understand what AI credits are and how to manage them effectively. ## What is an AI Credit? An AI credit is MindPal's unit of AI usage measurement. The number of credits consumed depends on the specific AI model you choose. Models like Gemini 2.5 Flash are optimized for efficiency and consume fewer credits per request, while more powerful models like Claude 4.5 Sonnet consume more credits but offer enhanced capabilities. ## How are AI Credits Consumed? AI credits are consumed on a per-request basis - every time you interact with an AI model, it counts as a request and consumes credits based on the model used. There are four main ways your AI credits are consumed on MindPal: 1. **Direct Agent Interactions**: When you run an AI agent within MindPal, each query counts as a separate request 2. **Published Agent (Chatbot) Interactions**: When others use your published AI agents (chatbots), each query counts as a separate request 3. **Multi-Agent Workflow Runs**: When running workflows inside the app, each step counts as a separate request 4. **Published Workflow (Form) Runs**: When your published multi-agent workflows or forms are run from outside MindPal ## AI Credit Costs by Model Here's a comprehensive reference of credit costs per request for each AI model: ### OpenAI Models | Model | Credits per Request | Best For | | ------------ | ------------------- | -------------------------- | | GPT-5.1 | 15 | Latest flagship model | | GPT-5 | 15 | High-quality general tasks | | GPT-5 Mini | 3 | Balanced quality and cost | | GPT-5 Nano | 1 | Fast, simple tasks | | GPT-4.1 | 15 | Complex reasoning | | GPT-4.1 Mini | 3 | Cost-effective quality | | o4 Mini | 8 | Reasoning tasks | | o3 | 100 | Advanced reasoning | | o3 Mini | 10 | Reasoning at lower cost | ### Anthropic (Claude) Models | Model | Credits per Request | Best For | | ----------------- | ------------------- | --------------------------- | | Claude Opus 4.5 | 40 | Most capable, complex tasks | | Claude 4.5 Sonnet | 20 | Excellent balance | | Claude 4 Sonnet | 20 | High-quality writing | | Claude 3.5 Sonnet | 20 | Reliable performance | | Claude 4.5 Haiku | 10 | Fast responses | | Claude 3 Haiku | 5 | Budget-friendly | ### Google (Gemini) Models | Model | Credits per Request | Best For | | --------------------- | ------------------- | ----------------------- | | Gemini 3.0 Pro | 10 | Latest Pro capabilities | | Gemini 3.0 Flash | 1 | Fast and efficient | | Gemini 2.5 Pro | 10 | Strong reasoning | | Gemini 2.5 Flash | 1 | Best value option | | Gemini 2.5 Flash Lite | 1 | Lightweight tasks | ### DeepSeek Models | Model | Credits per Request | Best For | | ----------- | ------------------- | --------------------- | | DeepSeek V3 | 0.5 | Cost-effective coding | | DeepSeek R1 | 0.5 | Reasoning tasks | ### Perplexity Models | Model | Credits per Request | Best For | | ------------------- | ------------------- | --------------------- | | Sonar | 1 | Quick web search | | Sonar Pro | 10 | Enhanced search | | Sonar Reasoning | 10 | Search with reasoning | | Sonar Deep Research | 20 | In-depth research | ### XAI (Grok) Models | Model | Credits per Request | Best For | | ------------- | ------------------- | ------------------- | | Grok 2 Latest | 10 | General tasks | | Grok 2 Vision | 10 | Image understanding | | Grok 4 Fast | 1 | Quick responses | ### Other Models | Model | Credits per Request | Provider | | ------------- | ------------------- | -------- | | LLaMa 3.3 70b | 3 | Groq | | LLaMa 3.1 70b | 1 | Groq | | LLaMa 3.1 8b | 1 | Groq | | Kimi K2 | 1 | Groq | ### Speech Models (Text-to-Speech) | Model | Credits per Minute | Notes | | -------------------- | ------------------ | ------------ | | Gemini 2.5 Pro TTS | 120 | High quality | | Gemini 2.5 Flash TTS | 60 | Balanced | | GPT-4o Mini TTS | 80 | OpenAI voice | ### Video Generation Models | Model | Credits per Second | Default Video | | ---------------- | ------------------ | ----------------- | | Veo 3.1 Fast | 20 | ~160 credits (8s) | | Veo 3.1 Standard | 50 | ~400 credits (8s) | | Veo 3.0 Fast | 20 | ~160 credits (8s) | | Veo 3.0 Standard | 50 | ~400 credits (8s) | ## Checking Model-Specific Credit Consumption To view the exact credit consumption for each model: 1. Open any agent in your workspace 2. Navigate to the language model settings 3. Look for the information next to each model name ![Language model selector showing different models and their credit costs](/features/agent/language-model/language-model-selector.png) ## Managing Credit Consumption in Workflows ### Credit Estimation Before running a workflow, you can estimate its credit cost: 1. Start building any workflow (you can do this with a free account) 2. Look at the top left corner of your workflow builder 3. You'll see a real-time estimation of the total AI credits required Remember that these are estimates, and actual consumption may vary based on the actual steps taking place at that time. ![Helper tooltips showing credit consumption details](/features/workflow/builder/helpers.png) ### Viewing Actual Consumption To see the exact number of AI credits consumed by a workflow: 1. Open any completed workflow run from your history 2. The exact AI credit cost for that specific run will be displayed ![Example of AI credit consumption in a workflow run](/features/workflow/runner/ai-credit-consumption.png) This helps you track actual usage and validate your estimations. --- # Custom Domain MindPal allows you to fully white-label your [published agents (chatbots)](/agent/chatbot) and [published workflows (forms)](/workflow/run/form) by hosting them on your own domain. This feature is available as an [add-on](/workspace/plan-billing/addons#custom-domain-for-shared-agentsworkflows) to your workspace. ## Overview When you publish an agent (chatbot) or a multi-agent workflow (form) on MindPal, the system generates default links such as: - `chatbot.getmindpal.com/[YOUR_CHATBOT_SLUG]` for chatbots - `workflow.getmindpal.com/[YOUR_WORKFLOW_SLUG]` for workflow forms With Custom Domain, you can replace these default domains with your own branded domains, such as: - `yourcompany.com` - `chatbot.yourcompany.com` - `workflow.yourcompany.com` - `ai.yourcompany.com/tool-a` ## Setting Up a Custom Domain Once you've added the Custom Domain add-on to your workspace, you can start connecting your own domains to your MindPal workspace. Here's how: ## Applying Custom Domains to your Chatbots or Workflows Once your custom domain is validly configured, you can apply it to your chatbots or workflows: ## Frequently Asked Questions ### How many custom domains can you add to your workspace? There is no limit; you can have as many custom domains as needed for your workspace. ### What kind of custom domain can be specified? You can connect: - Root domains (e.g., `yourcompany.com`) - Subdomains (e.g., `ai.yourcompany.com` or `magic.yourcompany.com`) --- # Interface Customization The interface customization settings allow you to personalize your workspace's appearance and branding. You can access these settings by going to **Workspace Settings** → **General** tab. ## Workspace Name You can set a custom name for your workspace. This name will appear in the navigation and workspace-related elements. Note that your workspace will still be accessible through MindPal's domain (app.mindpal.space/your-workspace-name). ## Workspace Icon You can customize your workspace's icon by providing a URL to your desired image. This icon will be displayed in various places throughout the interface, including the navigation bar and favicon. ## Theme Color Choose a theme color that matches your brand identity. The selected color will be applied to various UI elements across your workspace to maintain consistent branding. ## MindPal Branding You have the option to remove MindPal branding from your workspace interface. This setting affects how the MindPal logo and name appear within your workspace. --- # Member Management MindPal workspaces support four member roles - OWNER, ADMIN, EDITOR, and USER - each with different levels of access and capabilities. This guide explains how to manage your team members and their permissions effectively. ## Member Roles ### OWNER Full workspace control with unrestricted access: - Run, create, edit and delete all agents, workflows and assets - Full access to workspace settings, team management, and billing - The workspace creator has permanent ownership and cannot be removed or demoted ### ADMIN Full workspace control like Owner, with one restriction: - All the same capabilities as Owner — manage members, settings, billing, and content - Cannot remove or demote the workspace creator - Cannot modify Owner members' roles - Ideal for trusted team leads who need full administrative access ### EDITOR Agent & workflow creation with limited administrative access: - Run, create and edit all agents, workflows and assets - Can only delete items they personally created - Can view team members but cannot modify workspace settings - Access can be restricted via Access Control Tags - Perfect for team members who need to create and manage AI solutions ### USER Restricted run-only access: - Can run agents & workflows but cannot create, edit or delete content - No access to workspace settings - Access can be controlled via Access Control Tags - Ideal for clients or team members who only need to use existing solutions ## Access Control Tags Access Control Tags help you manage EDITOR and USER members' permissions by: - Restricting which agents and workflows specific members can access - Setting AI credit limits per member per month - Grouping members with similar access needs Note: Access Control Tags cannot be assigned to Owner or Admin roles. To create or modify an access control tag: 1. Click the "New tag" button 2. Set the tag name 3. Select accessible agents and workflows 4. Enable and set AI credit limits if needed 5. Apply the tag to relevant members ## Managing Members To invite new members: 1. Click the "Invite member" button 2. Enter their email address 3. Select their role (OWNER, ADMIN, EDITOR, or USER) 4. For EDITORS and USERS, assign appropriate Access Control Tags if needed 5. Send the invitation For existing members, you can: - Edit their role - Modify their Access Control Tags (for EDITORS and USERS) - Remove them from the workspace Note: The workspace creator cannot be removed or have their role changed. They are shown with a "Creator" badge in the member table. --- # Activating your paid plan Just purchased MindPal? Here's how to unlock your premium features in under 2 minutes. ## Having trouble? Don't worry - we're here to help! If anything's not working: - Double-check that you copied the full, exact license key generated by Lemon Squeezy (no missing characters, no extra characters) - Make sure you're pasting it into the right workspace - Still stuck? Our support team is just a message away at support@mindpal.io --- # Add-ons All base subscription plans come with included limits for AI credits, storage, and seats. If you need to exceed these limits, you can purchase add-ons to extend your workspace capabilities. ## Available add-ons ### Extra AI Credits - **Price**: $9 per 1,000 credits - **Billing**: Monthly - **Usage**: For AI agents and workflows interactions ### Extra Knowledge Storage - **Price**: $1 per 1 GB - **Billing**: Monthly - **Usage**: For storing additional knowledge bases ### Custom Domain for Shared Agents/Workflows - **Price**: $9 per custom domain per month - **Billing**: Monthly - **Usage**: Host your published AI agents (as chatbots) or published workflows (as forms) on your own domain ### Extra Editor Seats for Team Workspace - **Price**: $29 per seat - **Billing**: Monthly - **Usage**: For team members who need to edit AI agents and workflows ### Extra User Seats for Team Workspace - **Price**: $5 per seat - **Billing**: Monthly - **Usage**: For team members who only need to use AI agents and workflows ## How to purchase You can purchase extra add-ons by going to your Workspace Settings page. There are two ways to get there: - **Quick way**: Click the "Settings" button in the left sidebar - **Direct way**: Go to app.mindpal.space/[your_workspace_slug]/settings Once you're on the Workspace Settings page: 1. Navigate to the "Usage" tab 2. Select the add-on you want to purchase and follow the instructions there --- # MindPal Managed - DFY AI Automation Solution A special MindPal subscription plan that provides not just the platform, but also complete AI automation service directly from our team. We handle strategy, implementation, and optimization while you focus on your business. ## Why MindPal Managed? - **Save Costs and Boost Productivity:** We build custom AI agents to automate your repetitive tasks, freeing up your team to focus on high-impact work that drives business growth. - **Scale Your Expertise, Not Your Headcount:** We encode your unique expertise into a team of AI agents that work 24/7, allowing you to scale operations and serve more customers without proportionally increasing your headcount. - **Gain a Unique Competitive Advantage:** Gain a sustainable competitive edge with a proprietary team of AI agents custom-built for your specific business needs—unlike generic, off-the-shelf AI tools. - **Achieve Clarity and Peace of Mind:** Get direct access to our AI experts who have helped over [1,500 businesses worldwide](https://mindpal.space/customer-success) succeed. We handle the technical complexities, giving you the peace of mind to focus on your business. ## What You Get - **TEAM Plan Subscription:** Full access to the highest subscription tier of the MindPal platform. - **Expert AI Automation Strategy:** We'll audit your operations to identify the best automation opportunities. - **Custom AI Agents & Multi-Agent Workflows:** We design and build AI agents and workflows tailored to your specific needs. - **Seamless Integrations:** Connect your AI agents with the tools you already use, including Google Workspace, Notion, Zapier, Make, and more. - **Unlimited Automation Requests:** Submit as many AI automation requests as you need. We process them one at a time, with a typical turnaround of 1-3 business days per request depending on complexity levels. Large projects can be broken down and handled as a series of smaller requests. - **Ongoing Development & Optimization:** We provide continuous maintenance, updates, and improvements to your AI systems. ## Simple, Transparent Pricing **$1,499 per month** - No setup fee - Cancel anytime - Downgrade to a self-serve plan anytime ## Our Process ## Ready to get started? Ready to jump in? **[Claim your spot by subscribing now](https://mindpal.space/pricing)** and we'll reach out to get you set up. Want to chat first? **[Book a free consultation call](https://cal.com/mindpal/mindpal-consultation-discovery-call)** to discuss your specific needs. ## Frequently Asked Questions ### Is this plan for me? MindPal Managed is for business founders and owners who want to become AI-native without the R&D headache. We handle the strategy, implementation, and optimization while you focus on running your business. You're a good fit if you're facing these common challenges: - **Lack of Clarity:** The AI landscape is overwhelming with constant new models and features. You want results, not research. - **Past Failures:** You've tried AI before but got poor results due to bad prompts, insufficient context, or outdated models, and you're not sure how to make it work. - **No Time:** Building reliable AI systems requires constant testing and tweaking. You need a business partner, not another project on your plate. ### Why a flat rate pricing instead of project-based? We intentionally choose a flat rate pricing for MindPal Managed because of 3 main reasons: - **Endless Opportunities:** Once you start using AI agents, you'll constantly discover new automation possibilities. We want to be your ongoing partner as these opportunities emerge. - **Sustainable Adoption:** Rolling out AI across your team takes time. Our monthly model lets you implement solutions at a healthy pace without overwhelming your team. - **Rapid Innovation:** The AI world changes weekly with new models and features. Our ongoing partnership ensures you're always using the latest tools for your business. ### What does "unlimited requests" actually mean? Yes, you can submit as many AI automation requests as you need. We process them one at a time, with a typical turnaround of 1-3 business days per request depending on complexity levels. Large projects can be broken down and handled as a series of smaller requests. ### Can you help with integrations like Zapier, Make.com, or MCP? Yes, we can help you with anything falling into the scope of AI & automation, including integrating your AI agents with popular tools like Zapier, Make.com, and Model Context Protocol (MCP). However, we can't work with internal systems we don't have access to or build custom features outside our core automation services. ### Who owns the automations we build together? You retain full ownership of all automations we build for you. If you decide to switch to a self-service plan or end your subscription, you'll keep complete access to your AI agents and workflows. You can continue to use, modify, and run them independently. --- # Professional Setup Support Need help setting up your MindPal workspace? We offer professional setup support service to help you get started quickly and effectively. ## What's included Our setup support service pairs you with a dedicated, verified MindPal expert who will: - Understand your specific needs and use cases - Set up all the AI agents and workflows you need - Provide documentation on the system setup ## Pricing Setup support is available at **$200 per hour**. After reviewing your needs, we'll provide an estimate of total hours required. The time needed varies based on the complexity of your use cases, but typically requires around 1 hour per 1 multi-agent workflow setup. ## How it works To get started: