Guides
Everything you need to set up your AI agents and connect them to your favorite platforms. Written for non-technical users — no coding required.
Getting Started
You can have your first AI agent running in under two minutes. No integrations needed — just deploy and start chatting.
- Create an account at tamalebot.com. Enter your email and you'll get a sign-in code — no password needed.
- Pick an agent preset. Each preset gives your agent a personality and set of skills:
- Social Media Manager — creates and publishes content across your platforms.
- Customer Support — answers questions using your knowledge base.
- Sales Agent — qualifies leads and follows up automatically.
- DevOps Agent — monitors servers and fixes common issues.
- Executive Assistant — manages email, calendar, and daily briefings.
- Data Analyst — pulls data, generates reports, and tracks trends.
- Give it a name. This is just for you — pick anything you like.
- Leave "Managed (Claude)" selected. This uses our hosted AI model, so you don't need to bring your own API key. You can switch to your own key later if you want.
- Click Deploy. Your agent will be ready in about 30 seconds.
- Go to My Agents and click on your new agent. Start chatting with it right away to see what it can do.
Use Case Guides
Each guide below shows you what the agent does, which platforms to connect, and exactly what to tell it.
Social Media Manager
What it does: Creates content, publishes across platforms, tracks analytics over time, monitors competitors, manages engagement (comments and replies), and runs a content approval workflow — all on autopilot.
Which platforms to connect
- Instagram — feed posts, Reels, carousels, and Stories
- Facebook — text, photo, and video posts to your Page
- Threads — text, image, and video posts + monitoring
- Twitter/X — tweets with up to 4 images or video. Use the Integrations tab wizard for one-click setup with Simple Connect, or bring your own API keys.
- YouTube — Shorts upload (requires OAuth2 credentials — see setup below)
- TikTok — video posts (created as drafts — you approve them in the TikTok app before they go live)
- OpenAI — for generating images with DALL-E and editing/resizing media
- Slack — for receiving draft notifications and approving posts
Platform notes
- TikTok posts are drafts. Due to TikTok API restrictions, posts are created in draft status. You'll need to open the TikTok app and approve each draft before it goes live. This is a platform limitation, not a TamaleBot limitation.
- YouTube Shorts requires OAuth2. In addition to your YouTube API key, you need a refresh token and Google OAuth client credentials (GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET). The agent uses these to upload videos directly via the YouTube Data API.
- Instagram Stories expire in 24 hours. The agent can post Stories, but they auto-delete after 24 hours per Instagram's rules. Analytics for expired Stories may not be available.
Content approval workflow
By default, the agent does not auto-publish. Instead it follows a draft-review-publish flow:
- Draft — The agent creates content and saves it as a pending draft.
- Notify — It sends you a preview via Slack, Telegram, or email with the caption, hashtags, and media.
- Review — Reply with "approve", "edit [your changes]", or "reject" for each draft.
- Publish — Approved drafts are published immediately. Edits are updated and re-sent for approval.
Drafts older than 48 hours are flagged as stale. Once you trust the agent's quality, you can tell it to auto-publish.
What the agent can do
| Capability | Details |
|---|---|
| Publish content | Post to Instagram (feed, Reels, carousels, Stories), Facebook, Threads, Twitter, YouTube Shorts, TikTok (draft) |
| Read & reply to comments | Fetch comments on Instagram, Facebook, Twitter, YouTube, and Threads. Reply on all platforms including YouTube (uses OAuth credentials). |
| Monitor competitors | Fetch profiles and recent posts from any public account on Instagram, Facebook, Twitter, YouTube, and Threads. TikTok monitoring is not available via their API. |
| Like, follow & retweet | Like posts on Twitter and Facebook. Follow accounts on Twitter. Retweet/quote-tweet on Twitter. Instagram and TikTok do not expose these actions via their APIs. |
| Track analytics | Pull post metrics (reach, impressions, engagement) from Instagram, Facebook, Twitter, YouTube, and Threads. TikTok analytics require a separate Research API application. |
| Research trends | YouTube trending videos by region. Instagram hashtag search. TikTok trends via web browsing. |
| Generate visuals | Create images with DALL-E, resize for each platform format, add watermarks (requires OpenAI key) |
| Schedule posts | Build a content calendar with recurring posts on any cadence |
Suggested scheduled tasks
Set these up in your agent's Scheduled Tasks section. The agent will run each task automatically at the time you choose.
| Name | Schedule | What to type |
|---|---|---|
| Morning Trends | Every day at 8 AM | "Research trending topics on YouTube and Instagram hashtags that fit my business. Pick the top 3 and save them to the workspace." |
| Create & Draft Posts | Every day at 9 AM | "Based on today's trends, create 3 posts with captions, hashtags, and images. Save as drafts and send me a preview on Slack for approval." |
| Engagement Check | Twice daily (noon & 5 PM) | "Check comments and mentions on all platforms from the last 6 hours. Reply to questions helpfully. Flag complaints for my review." |
| Weekly Analytics | Every Monday at 9 AM | "Pull analytics from all platforms for the past 7 days. Compare against last week. Show me reach, engagement rate, and top-performing posts in a single report." |
Example prompts you can use in chat
Tips
- Use the Integrations tab. The quickest way to connect X is the guided wizard in your agent's Integrations tab. It walks you through connecting your account, writing a content strategy, and picking a posting schedule — all in under a minute.
- Start with drafts. Let the agent create posts and send you previews before publishing. Once you trust the quality, switch to auto-publish.
- Use the weekly analytics task to catch trends early. The agent tracks metrics over time, so week-over-week comparisons get more useful the longer it runs.
- Set up the engagement check. Responding to comments quickly boosts your algorithm ranking. The agent handles routine replies and flags anything that needs your attention.
- Add your brand voice to the system prompt. The more context about your business, audience, and tone, the better the posts will be. The X wizard does this for you automatically when you fill in your content strategy.
- Rate limits: The agent automatically retries when a platform rate-limits it, but aggressive schedules (posting every few minutes) can still hit limits. Space tasks at least 30 minutes apart.
Customer Support
What it does: An AI-powered customer support agent that answers questions from your docs, handles common requests, and escalates tricky issues to your team. Deploy it as an embeddable chat widget on your website, connect it to Slack or Discord for internal support, or both.
Deployment modes
- Website Widget — embed a chat bubble on your website so visitors can get instant answers 24/7
- Internal Agent — connects to Slack, Discord, WhatsApp, Telegram, or Email for team and customer channels
- Both — widget on your site + chat integrations for full coverage
How to deploy an AI customer chat widget
Get a working AI support chat on your website in under 5 minutes:
- Upload your docs. Go to your TamaleBot dashboard → Knowledge Base. Upload your FAQs, product docs, pricing pages, return policies — anything your customers ask about. Supported formats: PDF, Word, text, markdown, images.
- Go to Deploy and select Customer Support Agent.
- Choose "Website Widget" (or "Both") as the deployment mode.
- Customize your widget — set a greeting message (e.g. "Hi! How can I help you?"), pick your brand color, and set a daily conversation cap.
- Add your agent name (e.g.
acme-support) and click Deploy Agent. - Copy the embed code shown after deployment. It looks like this:
- Paste it into your website just before
</body>. Works with any site — Shopify, WordPress, Squarespace, Webflow, static HTML, React, Next.js, etc. - Done. A chat bubble appears in the bottom-right corner. Your customers can ask questions and get instant answers from your documentation.
Which integrations to connect
- Slack or Discord — for escalation notifications when the agent can't answer a question
- Notion — connect your wiki or internal docs as an additional knowledge source
- Shopify (optional) — lets the agent look up orders, products, and customer accounts
- Stripe (optional) — lets the agent check payment status, subscriptions, and charges
- Email (optional) — for receiving support requests via email
What the agent can do
| Capability | How it works |
|---|---|
| Answer questions from docs | Searches your uploaded knowledge base (PDFs, text, markdown, images) |
| Look up orders & payments | Queries Shopify orders or Stripe charges by customer name, email, or order ID |
| Share files with customers | Sends PDF guides, images, or documents directly in the chat |
| Escalate to humans | Posts to your Slack/Discord escalation channel with full context |
| Track unresolved issues | Logs questions it can't answer; daily review flags gaps in your docs |
| Check external docs | Falls back to browsing your public help center or documentation site |
| Multi-channel | Same agent, same knowledge — accessible via widget, Slack, Discord, WhatsApp, Telegram, or Email |
Scheduled tasks
- Unresolved Issue Review (9 AM weekdays) — reviews questions the agent couldn't answer in the past 24 hours, summarizes gaps, and suggests documentation updates
- Weekly Support Summary (Monday 9 AM, optional) — total conversations handled, most common topics, resolution rate, escalation count
Widget features
- Session persistence — visitors can refresh the page or come back later and continue their conversation
- Mobile responsive — full-width on phones, compact panel on desktop
- Shadow DOM isolation — the widget's styles never conflict with your site's CSS
- Customizable — brand color, greeting message, and position (left or right)
- "Powered by TamaleBot" badge — included on all plans
- Rate limiting — built-in protection against abuse (20 messages/hour per visitor, configurable daily cap)
Example prompts
Estimated costs
TamaleBot charges for hosting ($5/mo base) plus per-message credits. Here's what to expect at different volumes:
| Monthly volume | Hosting | Message credits | LLM cost (managed) | Est. total |
|---|---|---|---|---|
| Starter ~300 conversations/mo Small site, 10 chats/day |
$5 | ~$3 | ~$2–5 | $10–13/mo |
| Growing ~1,500 conversations/mo Active site, 50 chats/day |
$5 | ~$15 | ~$10–25 | $30–45/mo |
| Busy ~6,000 conversations/mo E-commerce, 200 chats/day |
$5 | ~$60 | ~$40–100 | $105–165/mo |
| High volume ~15,000 conversations/mo Large store, 500 chats/day |
$5 | ~$150 | ~$100–250 | $255–405/mo |
LLM costs depend on conversation length. Short FAQ answers cost less; multi-turn troubleshooting costs more. Using managed mode (Claude, included), costs are billed at Anthropic's rates plus a small service fee for convenience. BYOK mode (bring your own API key) means LLM costs go directly to your provider and are not included above. Estimates assume ~3 messages per conversation on average.
Compare: Intercom starts at $39/mo (1 seat) with per-resolution charges. Zendesk starts at $55/agent/mo. A TamaleBot support widget at startup volume costs about what you'd spend on a coffee subscription.
Tips
- Upload everything your customers ask about. The agent can only answer from what it has access to. PDFs, markdown files, text docs, and images all work.
- Set clear escalation rules in your system prompt. Tell the agent exactly when to hand off: billing issues, account access, security concerns, anything outside the docs.
- Use the daily unresolved review. It surfaces gaps in your documentation. If the agent keeps getting questions it can't answer, that's a signal to add more docs.
- Connect Shopify or Stripe if your customers ask about orders or payments. The agent can look up specific orders and give real answers instead of generic instructions.
- Start with a low daily cap (e.g. 100) and increase it as you verify the agent handles questions well. This prevents unexpected costs during testing.
- Test before going live. Send the widget a few questions yourself to verify it finds the right answers from your docs. Check that escalation messages land in your Slack/Discord channel.
Sales Agent
What it does: An AI-powered sales agent that qualifies incoming leads, manages your HubSpot CRM pipeline, tracks revenue in Stripe, and sends personalized follow-up emails automatically. It handles the repetitive parts of your sales process — lead qualification, data entry, follow-ups, and reporting — so you can focus on closing deals.
Getting started
- Go to Deploy and select Sales Agent.
- Add your HubSpot token in Settings → Integrations. See HubSpot setup guide for details.
- Add your Stripe key in Settings → Integrations. See Stripe setup guide for details.
- Upload sales documents to the Knowledge Base — pricing sheets, case studies, product specs, objection-handling guides, email templates.
- Connect Slack or Email for deal notifications and follow-up delivery.
- Set up scheduled tasks (see below) to automate daily lead follow-ups and weekly pipeline reviews.
Which integrations to connect
- HubSpot (required) — your CRM for managing contacts, deals, and pipeline stages
- Stripe (recommended) — for tracking payments, subscriptions, and revenue metrics
- Slack (recommended) — for real-time notifications about new leads, deal updates, and pipeline alerts
- Email (optional) — for sending personalized follow-up emails directly from the agent
- Notion (optional) — for maintaining sales playbooks, meeting notes, and deal briefs
What the agent can do
| Capability | How it works |
|---|---|
| Qualify leads | Reviews new HubSpot contacts, scores them based on company size, industry, and activity, and tags them as hot, warm, or cold |
| Manage pipeline | Creates and updates deals in HubSpot, moves them through stages, and flags stalled opportunities |
| Track revenue | Pulls payment data from Stripe — MRR, churn, failed charges, subscription changes |
| Send follow-ups | Drafts and sends personalized emails based on lead activity, deal stage, and your uploaded templates |
| Research prospects | Uses web browsing to look up company info, recent news, LinkedIn profiles, and funding rounds |
| Generate reports | Builds pipeline summaries, revenue snapshots, and conversion rate breakdowns on demand |
| Search knowledge base | Finds pricing details, case studies, and objection responses from your uploaded sales docs |
Scheduled tasks
| Name | Schedule | What to type |
|---|---|---|
| Daily Lead Follow-up | Every day at 9 AM | "Check HubSpot for new leads from the last 24 hours. Qualify each one based on company size and signup source. Send a personalized follow-up email to hot and warm leads. Post a summary of all new leads to #sales on Slack." |
| Weekly Pipeline Review | Every Monday at 9 AM | "Review the entire HubSpot pipeline. Flag any deals that have been in the same stage for more than 7 days. Summarize total pipeline value, deals won and lost this week, and conversion rates by stage. Post the report to #sales on Slack." |
| Daily Revenue Snapshot | Every day at 6 PM | "Pull today's revenue data from Stripe. Show new charges, failed payments, and subscription changes. Compare to yesterday. Post a one-paragraph summary to #sales on Slack." |
Example prompts
Estimated costs
TamaleBot charges for hosting ($5/mo base) plus per-message credits. Here's what to expect at different lead volumes:
| Monthly volume | Hosting | Message credits | LLM cost (managed) | Est. total |
|---|---|---|---|---|
| Light ~50 leads/mo Solo founder, early traction |
$5 | ~$2 | ~$3–8 | $10–15/mo |
| Active ~200 leads/mo Growing team, steady inbound |
$5 | ~$8 | ~$12–27 | $25–40/mo |
| Growth ~500+ leads/mo Scaling sales org, high volume |
$5 | ~$20 | ~$35–95 | $60–120/mo |
LLM costs depend on task complexity. Simple lead qualification costs less; multi-step prospect research with web browsing costs more. Using managed mode (Claude, included), costs are billed at Anthropic's rates plus a small service fee. BYOK mode (bring your own API key) means LLM costs go directly to your provider and are not included above.
Compare: HubSpot Sales Hub starts at $20/seat/mo (Starter) and goes up to $150/seat/mo (Professional) for sequences, automation, and forecasting. A TamaleBot sales agent handles lead qualification, follow-ups, and reporting at a fraction of the cost.
Tips
- Upload your pricing docs and case studies. The agent references these when crafting follow-up emails, so richer materials mean more relevant outreach.
- Set up the daily lead follow-up task first. This is the highest-impact automation — no lead sits uncontacted for more than a day.
- Start with a Stripe test key if you want to explore revenue tracking without connecting your live account. Switch to production when you're ready.
- Configure your deal stages in HubSpot first. The agent uses your existing pipeline stages to move deals and flag stalled opportunities, so make sure they match your actual sales process.
- Use web research for prospect enrichment. Before a call, ask the agent to look up the company. It saves 10-15 minutes of manual research per prospect.
- Connect Slack for real-time deal notifications. Get instant alerts when a lead is qualified, a deal moves forward, or a payment fails in Stripe.
DevOps Agent
What it does: Monitors your servers, detects issues, attempts automatic fixes for common problems, and alerts you when something needs attention.
Which platforms to connect
- Slack or Telegram — for real-time alerts
Suggested scheduled task
Example prompts
IT Department
What it does: A team of 5 coordinated agents that monitor your infrastructure, auto-remediate common issues, scan for vulnerabilities, and produce trend reports — all with tiered escalation so dangerous actions always require human approval.
The 5 agents
- IT Lead — Triage coordinator. Receives alerts, classifies severity (P1–P4), delegates to specialists, tracks incident lifecycle, and escalates to humans when needed.
- Monitor — Sentinel agent. Runs scheduled health checks via SSH (disk, memory, CPU, services, containers, certificates). Detects anomalies by comparing against baselines and generates predictive alerts (“disk will be full in 3 days”).
- Sysadmin — Remediation executor. Handles safe auto-fixes: disk cleanup, service restarts, log rotation, container recovery. Automatically escalates dangerous situations (disk > 95%, OOM kills, failed restarts).
- Security — Vulnerability scanner. Checks for CVEs, audits SSH config and open ports, reviews auth logs for brute-force attempts, scans for exposed secrets. Read-only — never modifies security config.
- Analyst — Trend analyst. Reviews monitoring data over time, calculates MTTR, projects capacity needs, identifies recurring incidents, and drafts post-incident reports.
Which platforms to connect
- Slack or Telegram — for real-time alerts and daily reports
What you'll need
- SSH access to the servers you want monitored. Add your server hostnames to the “Allowed SSH Hosts” policy field during deploy.
- SSH private key stored in the agent vault. The Monitor and Sysadmin agents use
ssh_execto connect to your servers.
Suggested scheduled tasks
Example prompts
How escalation works
The IT Department uses a tiered escalation model to keep humans in the loop for risky actions:
- Auto-fix (no approval needed): Disk cleanup, service restarts, log rotation, container restarts — safe, reversible actions.
- Escalate to IT Lead: Failed auto-fixes, unusual patterns, medium-severity security findings — the lead decides next steps.
- Escalate to human: P1 incidents (production down), disk > 95%, OOM kills, security breaches, anything requiring reboot — immediate Slack/Telegram alert, agents refuse to act without approval.
Executive Assistant
What it does: Manages your email inbox, checks your calendar, creates morning briefings, and helps you stay on top of your tasks.
Which platforms to connect
- Email (IMAP/SMTP) — for reading and sending email
- Google Workspace (Gmail, Calendar, Drive) — for calendar and documents
- Notion — for task tracking and notes
Suggested scheduled task
Example prompts
Data Analyst
What it does: Pulls data from your business tools, generates reports, tracks key metrics (KPIs), and posts summaries where your team can see them.
Which platforms to connect
- Slack — for posting reports to your team
- Shopify or Stripe — your data sources for sales, orders, and revenue
- Notion — for saving reports and dashboards
Suggested scheduled task
Example prompts
Crypto Trading Agent
What it does: An autonomous Solana trading agent that monitors markets, executes token swaps via Jupiter aggregator, manages positions with stop-losses and take-profits, and enforces risk controls — all without per-trade approval.
This agent executes real trades with real money on the Solana blockchain. It is not a simulator. Cryptocurrency trading is extremely volatile and you can lose some or all of your funds. TamaleBot provides the infrastructure only — it is not a financial advisor, does not provide investment advice, and makes no guarantees about returns. You are 100% responsible for any gains or losses. Only use funds you can afford to lose entirely.
What you'll need before you start
- A dedicated Solana wallet. Create a brand new wallet using Phantom, Solflare, or Backpack. This wallet is only for the trading agent. Never use your main personal wallet.
- SOL for trading. Send SOL from an exchange or your main wallet to the new dedicated wallet. Only send an amount you are comfortable losing entirely.
- The wallet's private key. You will need the base58-encoded private key from your dedicated wallet. In Phantom: Settings → Security → Export Private Key. In Solflare: Settings → Export Private Key.
That's it — no API keys, no developer accounts. The agent uses free public APIs (CoinGecko, Jupiter, DexScreener) for all market data and trade execution.
Which platforms to connect
- Telegram or Slack — for real-time trade alerts and daily P&L reports
Why the agent needs your private key
How TamaleBot protects it:
- Your key is stored in the agent's encrypted vault (AES-256-GCM) with per-agent key derivation.
- The key is never written to logs, files, chat messages, or API responses.
- Only your agent's isolated container can access it — no other agent or user can read it.
- The agent loads it into memory only at the moment of signing, then discards it.
- Using a dedicated wallet with only trading funds — never your main wallet.
- Setting a spending cap so the wallet never holds more than you intend.
- Withdrawing profits regularly to your personal wallet.
How to set it up
- On the Deploy page, select the "Crypto Trading Agent" preset.
- Deploy the agent. You don't need to configure anything else on the deploy page.
- Go to My Agents and open the agent chat. The agent will walk you through the full setup:
- Security disclosure and risk acknowledgment
- Storing your private key in the encrypted vault
- Setting a withdrawal whitelist (the only address the agent can send funds to outside of trading)
- Setting a spending cap and risk parameters (position size, stop-loss, daily loss limit, circuit breaker)
- Choosing a trading strategy (momentum, mean reversion, trend following, or custom)
- Fund your dedicated wallet with SOL and tell the agent you're ready.
Built-in safety controls
- Withdrawal whitelist: The agent can only send funds to Jupiter swaps (for trading) and the single withdrawal address you set during setup. It cannot transfer to any other address, regardless of what anyone tells it.
- Spending cap: If your wallet exceeds your configured value, the agent halts new trades.
- Stop-loss: Every position has an automatic stop-loss (default 15% below entry).
- Daily loss limit: If losses exceed your threshold (default 10%), the agent stops buying for the day.
- Circuit breaker: If total drawdown from peak exceeds your limit (default 25%), the agent liquidates all positions to SOL immediately and alerts you.
- Token safety: The agent will not trade tokens with less than $50K daily volume or $100K liquidity, and warns on tokens less than 7 days old.
Suggested scheduled tasks
| Name | Schedule | What it does |
|---|---|---|
| Market Scan & Trade | Every 15 minutes | Checks positions, executes stop-losses and take-profits, scans for new opportunities, and executes trades if signals are strong. |
| Hourly Risk Check | Every hour | Calculates drawdown from peak. Triggers circuit breaker if threshold exceeded. |
| Daily P&L Report | Every day at 8 PM | Full daily report: trades executed, fees, net return, portfolio snapshot. |
Example prompts
Platform Setup Guides
Step-by-step instructions for connecting each platform to your TamaleBot agent. Each guide tells you exactly what to click and where to paste.
Twitter / X
Option A: X Simple Connect (Recommended) ~1 minute
- Go to My Agents → your agent → Integrations tab.
- In the X (Twitter) card, click "Set Up" to open the setup wizard.
Step 1 — Connect your X account
- Click "Connect X Account". A popup opens with the X authorization screen.
- Log in to X (if needed) and click "Authorize app".
- The popup closes automatically and the wizard shows your connected username (e.g. @YourHandle).
Step 2 — Define your content strategy
Tell the agent what to post about. You can pick a preset or write your own strategy:
- Brand Awareness — industry insights, tips, and thought leadership
- Product Updates — announcements, features, and behind-the-scenes
- Community Engagement — questions, conversations, and user shout-outs
- Custom — write your own detailed content brief
The strategy you write here becomes part of the agent's system prompt and is included in every scheduled post task, so the more detail you provide (tone, audience, topics to avoid), the better the results.
Step 3 — Pick a posting schedule
Choose how often the agent should post:
| Option | Schedule |
|---|---|
| Daily | Once per day (2pm UTC) |
| Twice Daily | 9am + 5pm UTC |
| Weekdays | Mon–Fri at 2pm UTC |
| Weekly | Monday at 2pm UTC |
| Custom | Enter any cron expression (e.g. 0 16 * * * for 4pm UTC / 9am PDT) |
Click "Finish Setup" and you're done. The wizard creates a scheduled task and updates the agent's system prompt automatically.
Option B: Manual Setup (Advanced) ~5 minutes
What you'll need
Step 1 — Open the Developer Console
The API keys are not in your regular X/Twitter settings. You need the separate Developer Console.
- Go to developer.x.com and sign in with your X account.
- If this is your first time, you'll see a signup form. Enter an Account Name (e.g. "TamaleBot" or your brand name).
Step 2 — Describe your use case
X requires a short description of how you'll use the API. Here's what to write:
- Paste the description above (or write your own) into the use case text box.
- Check the box that says "You understand that you may not resell anything you receive via the X APIs."
- Click Submit. Approval is usually instant for the free tier.
Step 3 — Get your API keys
After approval you'll land on the Developer Dashboard. It shows your usage, credits, and billing.
- Click "Apps" in the left sidebar.
- You should see a default app. Click on it to open its settings. If there is no app, click "Create App" and give it a name.
- Go to the "Keys and tokens" tab inside your app.
- Under Consumer Keys, click "Regenerate" to get your API Key and API Key Secret. Copy both immediately — the secret is only shown once.
- Under Authentication Tokens, click "Generate" to create your Access Token and Access Token Secret. Copy both immediately.
Step 4 — Set permissions to Read and Write
By default, your app may only have Read permission. You need Read and Write to post tweets.
- In your app settings, go to "User authentication settings" and click "Set up" or "Edit".
- Under App permissions, select "Read and write".
- For Type of App, select "Web App, Automated App or Bot".
- Fill in the required Callback URL and Website URL. You can use your own website or
https://tamalebot.comas a placeholder. - Click Save.
Step 5 — Add credits (pay-per-use)
X's API is pay-per-use. Posting is very cheap — about $0.01 per 10 tweets — but you need a positive credit balance or API calls will fail with a 403 Forbidden error.
- In the Developer Console, click "Billing" in the left sidebar.
- Click "Credits" and add a small amount. Even $5 will last months at typical posting volumes.
- Optionally, enable auto-recharge so your bot never runs out mid-post.
Step 6 — Paste into TamaleBot
- Go to your TamaleBot deploy page (during initial setup) or your agent's Settings tab (for existing agents).
- Paste all 4 keys into the Twitter/X fields:
API Key API Key Secret Access Token Access Token Secret
- Click Save. Your agent can now post, reply, and read mentions on X.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
403 Forbidden |
Zero credit balance or Read-only permissions | Add credits in Billing, and verify permissions are "Read and Write" |
401 Unauthorized |
Invalid or expired tokens | Regenerate all 4 keys in the Developer Console |
429 Too Many Requests |
Rate limit hit | The agent retries automatically. Space scheduled tasks at least 30 minutes apart. |
| Tweets post but with wrong account | Access Token belongs to a different X account | Regenerate Access Token while logged into the correct X account |
Instagram ~10 minutes
What you'll need
- You need a Facebook account and an Instagram Professional account (Business or Creator). If your Instagram is personal, open the Instagram app, go to Settings → Account → Switch to Professional Account and follow the prompts.
- Go to developers.facebook.com and click "My Apps" in the top right, then click "Create App".
- Choose the "Business" type. Give it any name you like, such as "My Social Bot".
- On the app dashboard, find "Instagram Graph API" and click "Set Up".
- Go to Tools → Graph API Explorer.
- In the top dropdown, select your app.
- Click "Generate Access Token". Log in with Facebook and grant the permissions it asks for.
- Your User ID and Access Token will appear on screen. Copy both of them.
- Paste the Access Token and User ID into TamaleBot — either in the Integrations tab (click the Instagram card) or on the Deploy page in the Instagram fields.
/me/accounts to get a non-expiring page token.
TikTok ~15 minutes
What you'll need
- Go to developers.tiktok.com and create a developer account if you don't have one.
- Click "Manage Apps" in the top menu, then click "Create App".
- Under "Add Products", enable the "Content Posting API".
- Fill out the app details and submit for review. TikTok typically reviews apps within a few business days. To avoid rejection:
- Write a clear app description (e.g. "AI-powered social media assistant that creates and publishes content for my business").
- Add an app icon and a privacy policy URL — TikTok requires one.
- Make sure your TikTok account is a Business account, not a personal one.
- Once your app is approved, go to your app's settings page and find the Access Token.
- Paste the Access Token into TamaleBot — either in the Integrations tab (click the TikTok card) or on the Deploy page in the TikTok field.
YouTube ~10 minutes
What you'll need
- Go to console.cloud.google.com and sign in with your Google account.
- Create a new project (or select an existing one). Name it anything you like, such as "My Social Bot".
- Go to "APIs & Services" → "Library" in the left sidebar.
- Search for "YouTube Data API v3" and click "Enable".
- Go to "APIs & Services" → "Credentials".
- Click "Create Credentials" → "API Key". Copy the API key that appears.
- Click "Create Credentials" → "OAuth Client ID".
- If prompted to configure the OAuth consent screen, choose "External", add your email address, and save.
- For Application Type, choose "Web application".
- Under Authorized redirect URIs, add:
https://developers.google.com/oauthplayground - Copy the Client ID and Client Secret that appear.
- Go to developers.google.com/oauthplayground.
- Click the gear icon (Settings) in the top right. Check "Use your own OAuth credentials" and paste your Client ID and Client Secret.
- In the left panel, find "YouTube Data API v3", select all the scopes listed, then click "Authorize APIs".
- Click "Exchange authorization code for tokens".
- Copy the Refresh Token from the response.
- Paste the API Key and Refresh Token into TamaleBot — either in the Integrations tab (click the YouTube card) or on the Deploy page where you can also enter the Client ID and Client Secret. All four are required for uploading Shorts.
Facebook ~10 minutes
What you'll need
- Go to developers.facebook.com, click "My Apps", and select your app (or create one if you haven't already).
- Go to Settings → Basic in the left sidebar. Note your App ID and App Secret — you'll need them in a later step.
- Go to Tools → Graph API Explorer.
- In the "User or Page" dropdown at the top, make sure "User Token" is selected (not your Page).
- Under "Permissions", add:
pages_manage_posts,pages_read_engagement, andpages_show_list. - Click "Generate Access Token" and approve the permissions it asks for. This gives you a short-lived User Token (expires in ~1 hour).
-
Now exchange it for a long-lived User Token. In the Graph API Explorer, paste this into the query field and click Submit:
GET /oauth/access_token?grant_type=fb_exchange_token&client_id={YOUR_APP_ID}&client_secret={YOUR_APP_SECRET}&fb_exchange_token={SHORT_LIVED_TOKEN}
Replace the values in curly braces with your App ID, App Secret, and the token from the previous step. Copy theaccess_tokenfrom the response. -
Finally, get your permanent Page Token. Paste this into the query field and click Submit:
GET /me/accounts?access_token={LONG_LIVED_USER_TOKEN}
Find your Page in the response. Theaccess_tokennext to it is your permanent Page Token. Copy it. - Your Page ID is also in that same response, or you can find it in the URL when you visit your Facebook Page. Copy it.
- Paste the Page Token and Page ID into TamaleBot — either in the Integrations tab (click the Facebook card) or on the Deploy page in the Facebook fields.
Threads ~5 minutes
What you'll need
- If you set up Instagram above, you already have a Meta Developer app. If not, follow the first three Instagram steps to create one.
- On your app dashboard, find "Threads API" and click "Set Up".
- Go to Tools → Graph API Explorer.
- Generate a token with Threads permissions selected.
- Your User ID is the same as your Instagram User ID. Copy it.
- Paste the Access Token and User ID into TamaleBot — either in the Integrations tab (click the Threads card) or on the Deploy page in the Threads fields.
Slack ~5 minutes
What you'll need
- Go to api.slack.com/apps and click "Create New App".
- Choose "From scratch". Name it something like "TamaleBot" and select your workspace.
- Go to "OAuth & Permissions" in the left sidebar.
- Scroll down to "Bot Token Scopes" and add these scopes:
chat:write,app_mentions:read,im:history,channels:history. - Scroll back up and click "Install to Workspace", then click "Allow".
- Copy the "Bot User OAuth Token" (it starts with
xoxb-). This is your Bot Token. - Now enable Socket Mode: go to "Socket Mode" in the left sidebar and toggle it on.
- Slack will ask you to create an App-Level Token. Give it a name (e.g. "tamalebot-socket"), add the
connections:writescope, and click "Generate". - Copy the token that appears (it starts with
xapp-). This is your App Token. - Go to "Event Subscriptions" in the left sidebar and toggle it on. Under "Subscribe to bot events", add:
app_mentionandmessage.im. - Paste both tokens into TamaleBot — either in the Integrations tab (click the Slack card) or on the Deploy page in the Slack fields.
Discord ~5 minutes
What you'll need
- Go to discord.com/developers/applications and click "New Application".
- Name it something like "TamaleBot" and click Create.
- Go to "Bot" in the left sidebar.
- Click "Reset Token" and copy the token that appears.
- Still on the Bot page, scroll down to "Privileged Gateway Intents" and enable "Message Content Intent".
- Go to "OAuth2" → "URL Generator" in the left sidebar.
- Check the "bot" scope. In the permissions that appear below, check "Send Messages" and "Read Messages/View Channels".
- Copy the generated URL at the bottom of the page. Open it in your browser and invite the bot to your server.
- Paste the bot token into TamaleBot — either in the Integrations tab (click the Discord card) or on the Deploy page in the Discord field.
Telegram ~2 minutes
What you'll need
- Open Telegram and search for @BotFather.
- Send the command
/newbot. - Choose a display name and a username for your bot (the username must end in "bot").
- BotFather will reply with a token. Copy it.
- Paste the token into TamaleBot — either in the Integrations tab (click the Telegram card) or on the Deploy page in the Telegram field.
Email (Gmail example) ~5 minutes
What you'll need
- Go to myaccount.google.com and click "Security" in the left sidebar.
- Make sure 2-Step Verification is turned on. If it's not, enable it first.
- Go to myaccount.google.com/apppasswords.
- Create an app password — select "Mail" and your device type.
- Google will show a 16-character password. Copy it. This is your IMAP/SMTP password.
- In TamaleBot, go to Integrations tab (click the Email card) or the Deploy page, and fill in:
- IMAP Host:
imap.gmail.com - Email / Username: your full email address (e.g.
[email protected]) - App Password: the 16-character app password you just copied
- SMTP Host:
smtp.gmail.com
- IMAP Host:
OpenAI (for image generation) ~2 minutes
What you'll need
- Go to platform.openai.com and sign in (or create a free account).
- Click your profile icon in the top right, then click "API Keys" (or go directly to platform.openai.com/api-keys).
- Click "Create new secret key". Give it any name you like.
- Copy the key (it starts with
sk-). You won't be able to see it again after closing this dialog. - Paste it into TamaleBot's deploy page in the OpenAI field.
Notion ~3 minutes
What you'll need
- Go to notion.so/my-integrations and sign in.
- Click "New Integration".
- Name it something like "TamaleBot" and select your workspace.
- Click "Submit".
- Copy the "Internal Integration Secret" (it starts with
ntn_). - Paste it into TamaleBot's deploy page in the Notion field.
- Important: In Notion, open the database or page you want the bot to access. Click the "..." menu in the top right, go to "Connections", find your integration name, and add it. The bot can only see pages you explicitly share with it.
Shopify ~5 minutes
What you'll need
- Go to your Shopify Admin at
yourstorename.myshopify.com/admin. - Go to Settings → Apps and Sales Channels → Develop Apps.
- Click "Create an App" and name it anything you like.
- Click "Configure Admin API scopes". Enable read/write access for Products, Orders, and Customers.
- Click "Install App" and confirm when prompted.
- Copy the "Admin API Access Token" (it starts with
shpat_). - Your store domain is:
yourstorename.myshopify.com - Paste both into your TamaleBot dashboard → Settings → Integrations → Shopify fields. You can also enter them during deployment on the deploy page.
Stripe ~2 minutes
What you'll need
- Go to dashboard.stripe.com and sign in.
- Click "Developers" in the sidebar (or top right corner).
- Go to "API Keys".
- Copy the "Secret key" (it starts with
sk_live_orsk_test_). - Paste it into your TamaleBot dashboard → Settings → Integrations → Stripe field. You can also enter it during deployment on the deploy page.
sk_test_) first to try things out safely before switching to your live key.
HubSpot ~5 minutes
What you'll need
- Go to app.hubspot.com and click the gear icon (Settings) in the top right.
- Go to Integrations → Private Apps in the left sidebar.
- Click "Create a Private App".
- Name it something like "TamaleBot".
- Go to the "Scopes" tab. Enable these scopes:
crm.objects.contacts(read/write) andcrm.objects.deals(read/write). - Click "Create App" and confirm.
- Copy the Access Token (it starts with
pat-). - Paste it into your TamaleBot dashboard → Settings → Integrations → HubSpot field. You can also enter it during deployment on the deploy page.
Google Workspace ~15 minutes
This covers Gmail, Google Drive, Google Calendar, Google Docs, and Google Sheets — all in one setup.
What you'll need
- Go to console.cloud.google.com and sign in.
- Create a new project (or select an existing one).
- Go to "APIs & Services" → "Library" in the left sidebar.
- Search for and enable each of these APIs: Gmail API, Google Drive API, Google Calendar API, Google Docs API, and Google Sheets API.
- Go to "APIs & Services" → "OAuth consent screen".
- Choose "External", fill in your app name and email address, and save.
- Go to "APIs & Services" → "Credentials".
- Click "Create Credentials" → "OAuth Client ID".
- For Application Type, choose "Web application".
- Under Authorized redirect URIs, add:
https://developers.google.com/oauthplayground - Copy the Client ID and Client Secret that appear.
- Go to developers.google.com/oauthplayground.
- Click the gear icon in the top right. Check "Use your own OAuth credentials" and paste your Client ID and Client Secret.
- In the left panel, select the scopes for Gmail, Drive, Calendar, Docs, and Sheets.
- Click "Authorize APIs", sign in with your Google account, and grant access.
- Click "Exchange authorization code for tokens".
- Copy the Refresh Token from the response.
- Paste the Client ID, Client Secret, and Refresh Token into TamaleBot's deploy page in the Google Workspace fields.
Features
Knowledge Base
The Knowledge Base is where you upload the documents your agent will use to answer questions. Think of it like giving your agent a library — it can only reference what you put in there.
How it works
- You upload files to your agent's Knowledge Base in the dashboard.
- When a user asks a question, the agent uses
knowledge_searchto find relevant files by name, description, or tags. - It reads the file content with
knowledge_read(text is extracted automatically from PDFs and Word docs). - It answers the question based on what it found, citing the source document.
- If the user needs the actual file, the agent can share it directly in the chat via
knowledge_get_url.
How to upload files
- Go to your TamaleBot dashboard and select your agent.
- Click the Knowledge Base tab.
- Drag and drop files into the upload zone, or click browse to select files.
- Each file can be up to 25 MB.
- After uploading, you can add a description and tags to each file to help the agent find it more easily.
Supported file types
| Category | Formats | How the agent uses it |
|---|---|---|
| Documents | PDF, Word (.docx), plain text (.txt), Markdown (.md) | Text is extracted automatically. The agent reads the full content and answers based on it. |
| Spreadsheets | CSV, JSON | Structured data. Great for pricing tables, product specs, FAQ lists. |
| Images | PNG, JPG, GIF, WebP, SVG | The agent can view images (visual AI) and share them in chat. Good for product photos, diagrams, size charts. |
| Video | MP4, WebM | Stored and shareable via link. Useful for tutorial videos or product demos. |
| Audio | MP3, WAV | Stored and shareable via link. |
What to upload for a customer support agent
The more relevant content you upload, the better your agent answers. Here's what works best:
| Document type | What to include | Example |
|---|---|---|
| FAQs | Question-and-answer pairs your customers commonly ask | faq.md or faq.pdf |
| Product docs | Features, specs, how-to guides, setup instructions | getting-started.pdf |
| Pricing & plans | Plan comparison, feature tiers, billing info | pricing.md or plans.csv |
| Policies | Return/refund policy, shipping info, terms of service | return-policy.pdf |
| Troubleshooting | Known issues, error messages, step-by-step fixes | troubleshooting-guide.md |
| Product images | Product photos, size charts, diagrams the agent can share | size-chart.png |
| Contact info | Hours, phone numbers, escalation contacts, office locations | contact-info.txt |
Tips for a good knowledge base
- Use clear file names. The agent searches by file name, description, and tags.
return-policy.pdfis much better thandoc_final_v3.pdf. - Add descriptions and tags. After uploading, click a file to add a description like "30-day return policy for all products" and tags like "returns, refunds, policy". This helps the agent find the right file faster.
- Keep docs up to date. If your pricing changes, upload the new version. The agent can only answer based on what's in the KB.
- Use markdown or plain text when possible. These are the fastest for the agent to read. PDFs and Word docs work too — text is extracted automatically — but simple formats are more reliable.
- One topic per file works best. A focused
shipping-policy.mdis better than a 50-pageeverything.pdf. The agent searches for relevant files first, so smaller, focused files get matched more accurately. - Include the questions, not just the answers. If your FAQ doc includes "Q: How do I reset my password?" the agent can match that question directly. A doc that only says "Go to Settings > Reset" is harder to find.
- Test after uploading. Ask your agent the questions your customers ask. If it can't find the answer, the file might need a better name, description, or more detail.
- Storage included: 100 MB of KB storage is included with every agent. That's enough for hundreds of documents.
Chat Widget
The Chat Widget lets you embed a customer-facing AI chat on your website. Your visitors see a chat bubble in the corner of your site. When they click it, they can ask questions and get instant answers from your agent.
How it works
- When you deploy an agent, choose "Website Widget" or "Both" as the deployment mode.
- After deployment, you get a one-line embed code to paste into your website.
- The widget loads as a chat bubble in the bottom-right (or left) corner of your site.
- Visitors click the bubble, type a question, and get a response from your agent.
- Conversations are stored per-session so visitors can refresh the page and continue where they left off.
Embed code
Add this line to your website, just before </body>:
Replace your-agent-name with the name you chose when deploying.
Customization options
| Option | How to set it | Default |
|---|---|---|
| Agent name | data-agent="your-agent" | (required) |
| Position | data-position="left" | right |
| Greeting | Set during deployment in the deploy wizard | "Hi! How can I help you?" |
| Accent color | Color picker during deployment | #0055ff (blue) |
| Daily cap | Set during deployment (max new conversations per day) | 500 |
Works everywhere
The widget is a single JavaScript file with no dependencies. It works on any website:
- Static HTML sites
- WordPress, Squarespace, Wix, Webflow
- Shopify storefronts
- React, Next.js, Vue, Angular apps
- Any site where you can add a
<script>tag
Security & isolation
- Shadow DOM — the widget's styles are completely isolated from your site. It won't break your layout or CSS.
- Rate limiting — 20 messages per hour per visitor, plus a configurable daily conversation cap to prevent abuse.
- Anonymous sessions — visitors don't need to log in. Sessions are tracked via a token stored in the browser and expire after 24 hours.
- No cookies — the widget uses
localStorage, not cookies. No cookie banner needed.
Billing
Widget conversations are billed to the agent owner's account at the same per-message rate as any other channel (Slack, Discord, etc.). There is no extra charge for the widget itself. See the Customer Support pricing section for estimated costs by volume.
Agent Skills ~3 minutes
Agent Skills are reusable capability packages that extend what your agent can do. Instead of writing long system prompts for every task, you can add pre-built skills from community marketplaces — things like customer onboarding workflows, sales objection handling, data analysis templates, and more.
How it works
- During deployment, open the 3. Agent Skills section in the configure step.
- Type a keyword in the search bar (e.g. "customer support", "writing", "research"). Results appear from community skill marketplaces.
- Click a skill to add it. It appears as a chip below the search bar. Add as many as you need.
- Alternatively, paste a GitHub URL directly into the search bar to add a custom skill from any public repository.
- Deploy your agent. Skills are automatically pulled into the agent container and available at startup.
Verified vs. unverified skills
Skills can be cryptographically signed by their authors using Ed25519 signatures. In the deploy wizard and agent dashboard, you'll see:
- ✅ Verified — The skill has a valid Ed25519 signature from the author. The contents haven't been tampered with since signing.
- ⚠️ Unverified — No signature found, or the signature didn't match. The skill may still work fine, but you should review its instructions before deploying.
Skill format
Each skill is a directory containing a SKILL.md file with YAML frontmatter:
--- name: Customer Onboarding description: Structured onboarding workflow for new customers --- When a user says they are a new customer, follow these steps: 1. Greet them and ask for their company name... 2. Walk them through account setup... ...
Your agent loads skill names and descriptions at startup (lightweight), then reads the full instructions on-demand when a user's request matches a skill.
Custom Security Policies ~5 minutes
By default, every TamaleBot agent runs with a built-in security policy that blocks dangerous commands, sensitive file access, and data exfiltration. For advanced users, you can define custom policies in YAML to tighten or loosen rules for your specific use case.
How it works
Every tool call your agent makes — shell commands, file reads, HTTP requests, SSH, Git, browser actions — passes through the policy engine before execution. The engine checks the action against your rules and either allows it (with an audit log entry) or blocks it immediately.
Writing a custom policy
Create a YAML file with any combination of these fields:
# my-policy.yaml name: strict-finance blocked_read_paths: - /etc/shadow - /etc/passwd - ~/.ssh/ - ~/.aws/credentials - .env blocked_write_paths: - /etc/ - /usr/bin/ - /sys/ dangerous_command_patterns: # Block database destruction - 'DROP\s+TABLE' - 'DROP\s+DATABASE' - 'TRUNCATE\s+TABLE' # Block filesystem destruction - 'rm\s+-rf\s+/' - 'sudo\s+rm' # Block exfiltration - 'curl.*pastebin' - 'curl.*webhook\.site' # Custom: block crypto wallet operations - 'solana\s+transfer' - 'eth\s+send' # Restrict outbound HTTP to specific domains allowed_domains: - api.anthropic.com - api.stripe.com - your-internal-api.com # Restrict SSH access allowed_ssh_hosts: - deploy.yourcompany.com # Restrict Git operations allowed_git_repos: - github.com/your-org max_requests_per_minute: 30
Deploying with a custom policy
Set the TAMALEBOT_POLICY_FILE environment variable to point to your YAML file:
TAMALEBOT_POLICY_FILE=/app/config/my-policy.yaml
You can include the YAML file in your agent's knowledge base or mount it into the container. Environment variable overrides (like TAMALEBOT_ALLOWED_SSH_HOSTS) always take precedence over YAML values, so you can use YAML as a base and override specific fields per deployment.
Default policy
If no custom policy file is specified, agents use the built-in default policy which blocks:
- Sensitive file reads (SSH keys, AWS credentials, .env files, Docker/Kube configs)
- System directory writes (/etc/, /usr/bin/, /boot/, /proc/)
- Dangerous commands (DROP TABLE, rm -rf /, chmod 777, fork bombs)
- Data exfiltration (curl to pastebin, ngrok, webhook.site, etc.)
- Homoglyph/IDN domain attacks (mixed Unicode scripts in URLs)
Skill Signing (Ed25519) ~5 minutes
Skill signing lets authors cryptographically prove that a skill hasn't been tampered with. TamaleBot uses Ed25519 signatures — the same algorithm used by SSH, GPG, and most modern signing systems. This is optional: unsigned skills still work, but verified skills get a trust badge in the deploy wizard and dashboard.
For skill authors: signing your skill
-
Generate a keypair (one time):
node -e " const ed = require('@noble/ed25519'); const priv = ed.utils.randomPrivateKey(); const pub = Buffer.from(ed.getPublicKey(priv)).toString('hex'); console.log('Private:', Buffer.from(priv).toString('hex')); console.log('Public:', pub); "Save both keys somewhere safe. The private key is used to sign; the public key is published with your skill.
-
Sign your SKILL.md:
node -e " const ed = require('@noble/ed25519'); const fs = require('fs'); const content = fs.readFileSync('SKILL.md'); const priv = 'YOUR_PRIVATE_KEY_HEX'; ed.sign(content, priv).then(sig => fs.writeFileSync('SKILL.md.sig', Buffer.from(sig).toString('hex')) ); " -
Save your public key:
echo "YOUR_PUBLIC_KEY_HEX" > SKILL.md.pub
-
Publish all three files in your skill directory:
my-skill/ SKILL.md # The skill instructions SKILL.md.sig # 128-char hex Ed25519 signature SKILL.md.pub # 64-char hex Ed25519 public key
For users: what verification means
When your agent loads a skill at startup, TamaleBot automatically checks for .sig and .pub files. If found and valid, the skill is marked as verified in the system prompt and dashboard. Verification confirms:
- The SKILL.md file hasn't been modified since the author signed it
- The signature was created by someone who holds the private key matching the published public key
It does not confirm the author's real-world identity — for that, check the author's public key against their GitHub profile or marketplace listing.
Alternative Runtimes
TamaleBot can host agents built with other frameworks. You bring your Docker image, we handle infrastructure, security, integrations, and scaling. No LLM API key is needed when selecting these runtimes — they bring their own.
OpenClaw (NVIDIA) ~10 minutes
OpenClaw is NVIDIA's open-source agent framework. If you already have an OpenClaw agent, you can deploy it on TamaleBot's managed infrastructure with container isolation, integrations, and audit trails.
What you need
- A working OpenClaw agent (tested locally with Docker)
- Your agent's Docker image pushed to a registry (e.g.
ghcr.io/yourorg/your-agent:latest) - The HTTP port your agent listens on (usually
8080)
Steps
- Go to tamalebot.com/deploy.
- In 0. Agent Runtime, select OpenClaw.
- The AI Model section will disappear — OpenClaw agents manage their own LLM calls internally.
- Fill in Agent Name (e.g.
my-openclaw-bot). - Your agent's system prompt is baked into the OpenClaw config, so you can leave that field blank or add notes for your reference.
- Connect any integrations you want (Slack, Discord, Telegram, etc.). TamaleBot will route incoming messages to your OpenClaw agent automatically.
- Click Deploy Agent.
- TamaleBot spins up a Docker-in-Docker container, pulls your OpenClaw image, and starts it. Your agent gets its own isolated VM with a persistent workspace.
Migrating an existing config
If you have an OpenClaw JSON config, click the "Switching from OpenClaw or NemoClaw?" banner at the top of the deploy page. Paste your config and we'll auto-fill the form for you.
NemoClaw (NVIDIA Enterprise) ~10 minutes
NemoClaw is NVIDIA's enterprise agent platform. The setup is nearly identical to OpenClaw.
What you need
- A NemoClaw agent container image
- Image pushed to a registry your TamaleBot can access
- The HTTP port your agent listens on
Steps
- Go to tamalebot.com/deploy.
- In 0. Agent Runtime, select NemoClaw.
- Fill in Agent Name.
- Connect integrations as needed (Slack, Discord, email, etc.).
- Click Deploy Agent.
Custom Docker Image ~10 minutes
Run any agent framework — LangChain, CrewAI, AutoGen, or your own code. Just package it as a Docker image that responds to HTTP requests.
What you need
- A Docker image that exposes an HTTP endpoint
- Image pushed to a public or accessible registry
- The port your agent listens on
Steps
- Go to tamalebot.com/deploy.
- In 0. Agent Runtime, select Custom.
- Enter your Docker image URL (e.g.
ghcr.io/yourorg/my-agent:latest). - Set the container port your agent listens on (default: 8080).
- Choose the HTTP contract: TamaleBot (our message format) or OpenAI-compatible (standard chat completions format).
- Connect integrations as needed.
- Click Deploy Agent.