Vendo AI

com.vendo-ai由 vendo-ai.com 發布官方發布者v1.0.0更新於 Oct 26, 2026

Autonomous AI sales: agents, signal-based prospecting, outreach, CRM — 149 tools.

已驗證Streamable HTTP可網頁執行商業與電商媒體與設計AI 與機器學習

概覽

AI 產生的概覽

Vendo AI 的遠端 MCP 伺服器讓助理建立、撰寫腳本、設定語音並發布 AI 銷售、客服與資訊代理,以及其網站小工具和簡報投影片。

可以做什麼
  • 建立與設定代理:新增、更新、設定頭像、公司資訊、聯絡管道與整合開關
  • 撰寫與測試內容:產生或取代腳本、上傳與移除學習素材、測試回覆、從網址產生知識
  • 掃描網站:列出頁面、產生頁面描述、深度掃描公司網站與 LinkedIn、查詢任務狀態
  • 管理管道:建立、修改、預覽與刪除網站小工具、按鈕、簡報、Google Meet、電話與 Telegram 管道,並取得嵌入程式碼
  • 簡報:讀取與儲存投影片、產生單頁講稿、設定主講語音與外觀、產生轉場語句
  • 分析與對話:管道統計、小工具分析、對話清單與語音通話錄音
適用情境
當你希望助理從頭到尾建置或維護 Vendo AI 的銷售、客服或資訊代理——撰寫腳本、上傳素材、掃描公司網站、發布小工具並檢視對話——而不必在 Vendo AI 應用程式中逐項操作時使用。
執行需求
透過 streamable HTTP 連線至 api.vendo-ai.com 遠端端點。需要 Vendo AI 帳號,以及在應用程式 Settings 的 API & MCP 中建立的 API 金鑰,以 bearer 權杖放在 Authorization 標頭中。多項操作需要帳戶有額度餘額。
安裝前請注意
許多工具會消耗 Vendo AI 帳戶額度(例如深度掃描 15 點、腳本產生 1 點、簡報語音每分鐘 17 點),執行前應確認費用並先預覽。部分工具會覆寫或刪除資料且無法復原:腳本、投影片、公司描述以及管道刪除。深度掃描會讀取公司網站與 LinkedIn,並儲存擷取出的公司、團隊與聯絡人資料。工具會揭露訪客對話與語音通話錄音。API 金鑰擁有完整帳戶權限,須妥善保管。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Vendo AI,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.vendo-ai%2Fvendo-ai/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "vendo-ai": {
      "type": "http",
      "url": "https://api.vendo-ai.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

工具

200

create_agent

Create a new agent

Create an AI agent like step 1 of the app's builder. Choose its direction: purpose "sales" (default), "support" or "info". The agent starts in DRAFT and contacts nobody. Needs at least 1 credit on the balance (checked, not charged). Fails with a plan-limit error when all agent slots are used (see get_agent_plan_limits). Next: set_agent_company → generate_agent_script → channels.

輸入參數name必填genderpurposedescriptionavatar_preset

update_agent

Update agent basics

Change an agent's name, description, direction (purpose), voice gender or preset face. Only the fields you pass change. Company name/website/description → set_agent_company; contacts → set_agent_contact_channels. Free.

輸入參數id必填namegenderpurposedescriptionavatar_preset

set_agent_avatar_from_url

Set the agent's own photo

Upload a custom avatar photo (JPG, PNG or GIF, ≤5 MB) from a public image URL or base64. Replaces the preset face. Free.

輸入參數id必填image_urlimage_base64

set_agent_contact_channels

Set the contacts the agent hands out

Set the meeting link, presentation link, email, phone, WhatsApp, Telegram and up to 10 custom links that the agent gives to visitors (also shown as screen cards). MERGE: only the channels you pass change; pass "" (or null for custom_links) to clear one. Write, free.

輸入參數id必填emailphonetelegramwhatsappmeeting_urlcustom_linkspresentation_url

list_voice_catalog

List voices (Voice v2 catalogue)

All voices for the website widget, Slide Presenter and Telegram voice: engine, gender, accent, expressive support, Ukrainian support, recommended flag, preview audio. Read-only. Use a voice_id from here in set_agent_voice / set_presentation_voice / set_telegram_voice_settings.

無需輸入參數。

set_agent_voice

Turn on / configure the website-widget voice

Configure the voice of the agent's website widget exactly like the app's widget settings page and create/update the voice agent at the voice provider, so voice calls in the widget really work. Only the settings you pass change (the rest keep their saved values or the app defaults). voice_id is required the first time (list_voice_catalog). Takes up to ~1 min. Free to configure; widget voice calls cost 14 credits/min.

輸入參數id必填llmrulesspeedvolumeambientemotionhandbookvoice_idlanguagesend_call_sbackchannel另有 10 個

test_agent_reply

Ask the agent a test question (text)

Send a message to the agent and get its reply using its current script — a text test, nobody is contacted. Needs a generated script. Use history for a multi-turn test.

輸入參數id必填historymessage必填

update_agent_script

Edit the agent's script stages

Replace the script stages (rename, reorder, edit, add or remove stages) and optionally the tone, like the builder's script editor. Send the FULL list of stages you want; the full text is rebuilt from them. Get the current stages from get_agent (script_sections). Free.

輸入參數id必填sections必填email_scriptscript_style

add_agent_document

Attach a knowledge file to the agent

Upload a material the agent learns from (PDF, DOC, DOCX, TXT, XLS, XLSX, CSV, PPT, PPTX, KEY; ≤10 MB) from a public URL or base64. Used the next time the script is generated (generate_agent_script). Free.

輸入參數id必填file_urlfilename必填file_base64

remove_agent_document

Remove a knowledge file from the agent

Remove an uploaded material from the agent (see get_agent → documents[].url). Free.

輸入參數id必填urlfilename

generate_knowledge_from_url

Turn a web page into a knowledge block

Read a public web page and return a knowledge text block about it. Costs 1 credit. NOT saved — append the result to company_description with set_agent_company if you want the agent to know it.

輸入參數id必填url必填

scan_agent_website

Scan the agent's website structure

List the pages of a website (path, title, description, keywords) for this agent — used by the page-navigation feature. Costs 2 credits. Read-only for the agent (nothing saved).

輸入參數id必填website_url必填

generate_agent_page_descriptions

Describe website pages with AI

Write AI descriptions + keywords for website pages (output of scan_agent_website). Costs 1 credit per 5 pages. Not saved.

輸入參數id必填pages必填

generate_support_script

Generate a support knowledge script (legacy)

Legacy support-script generator of the old text-widget creators. Prefer generate_agent_script with purpose "support". Needs company name + description. Costs 1 credit.

輸入參數id必填

generate_transition_phrases

Generate slide transition phrases

Generate the phrases the Slide Presenter uses to move between slides, in the presentation's language, and save them on the agent. Needs saved slides (set_presentation_slides).

輸入參數id必填

set_agent_integrations

Set legacy integration flags

Legacy flags on the agent (zoom_enabled, google_meet_enabled, website_embed_enabled). Channels are managed with the connection tools; this does not connect anything. Free.

輸入參數id必填zoom_enabledgoogle_meet_enabledwebsite_embed_enabled

preview_deep_scan

Preview a deep website scan

Show what deep_scan_agent would do: cost (15 credits), duration (60-180 s) and what gets saved. Nothing runs. ALWAYS call first and get the user's approval.

輸入參數id必填persistcompany_namecompany_website

deep_scan_agent

Deep-scan the company website (15 credits)

Read the company website + LinkedIn and extract description, team, employee count, contacts, social links and pricing. Costs 15 credits, takes 60-180 s. With persist=true (default) the result is SAVED like in the app: company_description replaced, team/contacts/social/pricing stored (creates company + people records, fills blank contact channels). Waits up to ~200 s; if still running it returns a job_id — then call get_agent_job. Only call after preview_deep_scan and the user's approval.

輸入參數id必填persistauto_updatecompany_namecompany_website

get_agent_job

Get a long job (deep scan / script) result

Status and result of a deep scan or script generation job started by deep_scan_agent / generate_agent_script (kept 1 hour). Poll every 10-20 s while status is "running". Read-only.

輸入參數id必填job_id必填

list_agent_jobs

List recent long jobs of an agent

Deep scans and script generations of this agent in the last hour (status only) — use when a job_id was lost. Read-only.

輸入參數id必填

save_scan_data

Save scan facts onto the agent

Save company facts (team, contacts, social links, pricing, employee count, auto re-scan) onto the agent — what the app does after a scan. Side effects: stores them in the agent, creates/updates the company and people records, fills BLANK contact channels (never overwrites manual ones). Not needed after deep_scan_agent with persist=true. Free.

輸入參數id必填pricingcontactsdirectorsauto_updatecompany_name必填social_linksemployee_countcompany_website必填

generate_agent_description

Draft the company description from the website

AI-write "what the agent knows" about the company from its website (no full scan). Costs 1 credit. NOT saved — pass the text to set_agent_company (company_description).

輸入參數id必填company_namecompany_websitetarget_language

generate_agent_script

Generate the agent's script

Generate the agent's script (stages + full text + email/LinkedIn script) in the chosen tone for its direction (sales / support / info), using the company description and uploaded files. Saves it on the agent (overwrites). Costs 1 credit, takes 60-90 s. Needs company_name and company_description (set_agent_company). If it is still running after ~200 s you get a job_id → get_agent_job.

輸入參數id必填purposescript_style必填

get_agents_dashboard

Legacy agents dashboard numbers

Older overview numbers of all agents (superseded by get_analytics_agents). Read-only.

無需輸入參數。

get_agent_connection

Get one channel of an agent

Full settings of one channel (website widget, button, presentation, Google Meet, phone, Telegram). Read-only.

輸入參數id必填connection_id必填

create_agent_connection

Add a channel to an agent

Add a channel. WEBSITE_WIDGET needs website_url; new widgets get the app defaults (Modern design) plus your widget_config — then get_widget_embed_code. WEBSITE_BUTTON: just creates the channel (style it in get_widget_embed_code). PRESENTATION_WIDGET = publish the Slide Presenter (optional website_url). GOOGLE_MEET: prefer connect_google_meet. PHONE_CALL: prefer setup_phone_agent. Telegram → connect_telegram_bot; WhatsApp → connect_whatsapp_account. A second widget for the same URL updates the existing one. Free. Interactive cards in chat need design "modern"; in voice they need set_agent_voice screen_cards=true.

輸入參數id必填nametype必填website_urlwidget_configphone_call_configgoogle_meet_config

update_agent_connection

Change a channel's settings

Change a channel: website widget look and behaviour (design, colours, button picture, invitation/auto-open, sounds, contact form and its wording, greetings, page navigation, voice view), name, website_url, Google Meet settings or phone texts. Only what you pass changes; widget texts and theme are merged. Free.

輸入參數id必填namewebsite_urlconnection_id必填widget_configphone_call_configgoogle_meet_config

preview_delete_agent_connection

Preview removing a channel

Show what removing a channel would do. Nothing is removed. ALWAYS call first and show the user before delete_agent_connection.

輸入參數id必填connection_id必填

delete_agent_connection

Remove a channel (irreversible)

Remove a channel from the agent (the embed code stops working). No undo. Only after preview_delete_agent_connection and explicit user approval.

輸入參數id必填connection_id必填

get_agent_connection_stats

Channel counters

Conversations, messages, unique visitors, last activity of one channel. For widgets prefer get_connection_analytics (fresher). Read-only.

輸入參數id必填connection_id必填

get_connection_analytics

Widget/button channel analytics

For a website widget/button/presentation channel: widget loaded, activated, chats started, voice calls started, plus estimated credits (text messages, voice minutes) for a date range. Read-only.

輸入參數id必填date_todate_fromconnection_id必填

get_widget_embed_code

Get the embed code of a channel

HTML to paste on a site for a channel: website widget (settings load from the server), website button (style it here: text, colours, radius, size — not stored server-side) or Slide Presenter (also the direct link). Read-only.

輸入參數id必填sizetexttext_colorborder_radiusconnection_id必填background_colormodal_primary_color

create_widget_test_page

Create a test page for a widget

Create (or return the existing) private, unlisted test page with this website widget installed, to try it before adding it to a real site. Only the agent's creator can do this. Free.

輸入參數id必填connection_id必填

list_connection_conversations

List conversations of a channel

Conversations of a widget/presentation channel with messages, mode (chat/voice), visitor name/email/phone and page. Paged (limit ≤500). Read-only.

輸入參數id必填pagelimitconnection_id必填

get_conversation_recordings

Get voice recordings of a conversation

Recording URLs (WAV), duration and start time of the voice calls in one widget conversation (up to 10 calls). Read-only.

輸入參數id必填connection_id必填conversation_id必填

get_presentation

Get the agent's Slide Presenter

The agent's presentation: PDF name, slides (text + presenter script; images with include_images), look, call-to-action, presenter voice, published channels and direct link. Read-only. (list_agent_presentations shows only the legacy creator.)

輸入參數id必填include_images

set_presentation_slides

Save the presentation slides

Save the slide deck — REPLACES all slides (add, remove, reorder, edit). Each slide: image (public URL or base64; JPG/PNG/WebP/GIF ≤5 MB; omit to keep the stored image of an existing slide id), extracted text and presenter script. PDF upload is not supported by the API: render the PDF pages to images first. Then write scripts with generate_slide_script and set_presentation_voice. Free.

輸入參數id必填slides必填pdf_name

generate_slide_script

Write the presenter script for a slide

AI-write what the presenter says on one slide, in the presentation's language. 1 credit (2 with image_url — the AI looks at the slide). NOT saved — put it into narrator_script with set_presentation_slides.

輸入參數id必填image_urlslide_number必填total_slides必填extracted_textnext_slide_textprevious_script

set_presentation_voice

Set the presenter's voice

The Slide Presenter's own voice and model (the website widget voice is not touched). Same settings as the app; only what you pass changes. Needs saved slides. Takes up to ~1 min. Free to configure; presentation voice costs 17 credits/min.

輸入參數id必填llmrulesspeedvolumeambientemotionhandbookvoice_idlanguagesend_call_sbackchannel另有 10 個

set_presentation_look

Set the presentation look & behaviour

Theme, colours, corner radius, controls, autoplay, voice on/off, chat on/off, Modern look (background, glass, font, panel side, presenter bubble, voice visual), slide transition and button texts. Only what you pass changes. Free.

輸入參數id必填textsthemedesignmodernautoplaytextColortransitionbuttonColorchatEnabledborderRadiusshowControls另有 4 個

set_presentation_cta

Set the presentation call-to-action

The button viewers see: a lead form (fields) or a link. Only what you pass changes (fields replaces the whole field list). Leads land in list_narrator_leads. Free.

輸入參數id必填typefieldsenabledlinkUrlbuttonTextsuccessMessagelinkOpenInNewTab

get_presentation_embed_code

Get the presentation embed code & link

Direct link (narrator page) and the HTML snippet with the saved look. Publish it as a channel first (create_agent_connection type PRESENTATION_WIDGET). Read-only.

輸入參數id必填

list_agent_presentations

List legacy presentations

Presentations made with the OLD presentation creator (deprecated). The current Slide Presenter is in get_presentation. Read-only.

輸入參數id必填

get_narrator_analytics

Presentation analytics

Slide Presenter analytics. view "summary" (default): views, presentations started, watch time, unique viewers, average duration, completion rate, recent sessions, per channel. view "period" with date_from/date_to: widget loads, starts, watch minutes, unique viewers, credits used. Read-only. (No per-slide drop-off.)

輸入參數id必填viewdate_todate_from

list_narrator_leads

List presentation leads

Leads from the presentation call-to-action form (form data, page, status, notes). Filter by status, page with limit/offset. Read-only.

輸入參數id必填limitoffsetstatus

update_narrator_lead

Update a presentation lead

Set a presentation lead's status (new / contacted / converted / spam) and notes. Free.

輸入參數id必填notesstatuslead_id必填

preview_delete_narrator_lead

Preview deleting a presentation lead

Show the lead that would be deleted. Nothing is deleted. Call first and show the user before delete_narrator_lead.

輸入參數id必填lead_id必填

delete_narrator_lead

Delete a presentation lead (irreversible)

Permanently delete a presentation lead. Only after preview_delete_narrator_lead and explicit user approval.

輸入參數id必填lead_id必填

connect_google_meet

Connect Google Meet (invite address)

Turn on the Google Meet channel the way the app does: returns the agent's own invite address ([email protected]). Invite that address to any Google Calendar event with a Meet link and the agent joins automatically. No Google login needed. Also saves the meeting settings. Free to connect; meeting minutes are billed.

輸入參數id必填languageauto_joinmeeting_modegreeting_messagejoin_before_minutes

get_google_meet_settings

Get Google Meet status & settings

Whether Google Meet is connected for this agent, its invite address, settings and totals. Read-only.

輸入參數id必填

update_google_meet_settings

Change Google Meet settings

Auto-join, minutes before start, greeting, language, meeting mode (voice only / presentation — needs slides). Only what you pass changes. Free.

輸入參數id必填languageauto_joinmeeting_modegreeting_messagejoin_before_minutes

preview_disconnect_google_meet

Preview disconnecting Google Meet

Show what disconnecting Google Meet would do. Nothing changes. Call first and show the user.

輸入參數id必填

disconnect_google_meet

Disconnect Google Meet

Remove the Google Meet channel from the agent and turn auto-join off. Already scheduled meetings are not cancelled (use cancel_meeting). Only after preview_disconnect_google_meet and user approval.

輸入參數id必填

list_google_meet_history

Meeting history of an agent

All meetings of this agent (newest first) with status, times, duration, whether a transcript exists. Paged. Read-only.

輸入參數id必填pagelimit

get_google_meet_analytics

Google Meet analytics of an agent

Meetings, minutes, completed, missed and credits used for a date range. Read-only.

輸入參數id必填date_todate_from

list_meetings

Meetings calendar (all agents)

Google Meet meetings of all your agents in a date range (default: next 7 days, max 62 days) — title, time, link, organizer, attendees, status, agent, has transcript. Read-only.

輸入參數endstartagent_id

list_meeting_agents

Agents with Google Meet

Agents that have Google Meet connected (the calendar's agent filter). Read-only.

無需輸入參數。

get_meeting

Get a meeting

One meeting with transcript, summary, action items, join/leave time and duration. Read-only.

輸入參數meeting_id必填

get_meeting_transcript

Get a meeting transcript

Transcript messages, summary and action items of a meeting (from the database or the recording service). Read-only.

輸入參數meeting_id必填

preview_cancel_meeting

Preview cancelling a meeting for the agent

Show which meeting the agent would skip. Nothing changes. Call first and show the user.

輸入參數meeting_id必填

cancel_meeting

Cancel a meeting for the agent

The agent will NOT join this scheduled meeting (the calendar event itself stays). Only scheduled, not yet started meetings. No undo. Only after preview_cancel_meeting and user approval.

輸入參數meeting_id必填

preview_remove_agent_from_meeting

Preview removing the agent from a live call

Show whether the agent is in this live meeting and what removing it does. Nothing changes.

輸入參數meeting_id必填

remove_agent_from_meeting

Remove the agent from a live call

The agent leaves the live Google Meet call right now. Only works while the meeting is in progress. Only after preview_remove_agent_from_meeting and user approval.

輸入參數meeting_id必填

set_telegram_voice_calls

Turn Telegram voice calls on/off

Show or hide the VOICE button of the agent's Telegram bot (voice calls in the mini app). Needs a connected bot. Free.

輸入參數id必填enabled必填

set_telegram_voice_settings

Set the Telegram voice

Voice and behaviour of the Telegram bot's voice calls (separate from the website widget): the same settings as set_agent_voice plus the mini app look (visual). Only what you pass changes. Needs a connected bot. Takes up to ~1 min. Free to configure; calls are billed per minute.

輸入參數id必填llmrulesspeedvisualvolumeambientemotionhandbookvoice_idlanguagesend_call_s另有 11 個

reconfigure_telegram_bot

Re-apply Telegram bot commands

Re-apply the bot's commands and menu button (for private and group chats) — use when the bot menu looks wrong. Free.

輸入參數id必填

list_telegram_chats

List Telegram chats

People/groups talking to the agent's Telegram bot: name, username, type, message count, last message time. Paged. Read-only.

輸入參數id必填pagelimit

get_telegram_chat

Read a Telegram chat

All messages of one Telegram chat, incl. voice-call turns with recording URL and duration. Read-only.

輸入參數id必填chat_id必填

preview_send_telegram_message

Preview an operator Telegram message

Show the recipient and exact text of an operator message. Nothing is sent. ALWAYS call first and show the user the text.

輸入參數id必填chat_id必填message必填

send_telegram_message

Send a Telegram message as the operator

Sends a REAL Telegram message from the bot to this person (human takeover). Only after preview_send_telegram_message and the user approved the exact text.

輸入參數id必填chat_id必填message必填

get_telegram_analytics

Telegram analytics

Chats, messages, voice calls, text messages, unique users and credits (text/voice) of the agent's Telegram bot for a date range. Read-only.

輸入參數id必填date_todate_from

list_phone_numbers

List my phone numbers

Phone numbers already on your account (number, country, type, monthly cost, per-minute rate). Buying numbers is done in the app. Read-only.

無需輸入參數。

generate_phone_script

Draft a phone call script

Draft a call script and greeting from the agent's sales script for a call objective, in the agent's language. Free. Not saved — pass it to setup_phone_agent (or let setup_phone_agent generate it).

輸入參數id必填voice_gendercall_objective

setup_phone_agent

Set up the Voice Call channel

Create/update the agent's Voice Call channel like the app: attach one of YOUR numbers (list_phone_numbers), objective, script (generated if omitted), greeting, voice, pace, emotion, language, rules, inbound calls on/off, background sound, silence/reminder timings. Creates the phone voice agent at the provider and links the number. Takes up to ~1 min. Free to set up; calls cost 25 credits/min.

輸入參數id必填speedemotionlanguagevoice_idcall_scriptvoice_genderambient_soundconnection_idcall_objectiveaccept_incomingphone_number_id另有 6 個

preview_phone_test_call

Preview a test call

Show which number would be called from which, and the cost (25 credits/min, max 2 min). Nothing is dialled. ALWAYS call first.

輸入參數id必填to_number必填connection_id

phone_test_call

Make a test call (real phone)

DIALS A REAL PHONE: the agent calls to_number from the channel's number (max 2 min, 25 credits/min). Only call the user's own number, only after preview_phone_test_call and explicit approval.

輸入參數id必填to_number必填connection_id

list_phone_calls

List the agent's phone calls

Phone calls of this agent (incl. test and inbound) with transcript, recording URL, summary, outcome, sentiment, duration and credits, plus totals by outcome/sentiment. Read-only.

輸入參數id必填limit

get_phone_channel_stats

Voice Call channel counters

Calls attempted/completed/successful, minutes and credits of one Voice Call channel. Read-only.

輸入參數id必填connection_id必填

list_whatsapp_accounts

List WhatsApp accounts

WhatsApp accounts connected to your user (phone, name, status: connecting / ok / error / credentials / stopped). Account-level: auto-replies use your latest campaign's agent. Read-only.

無需輸入參數。

connect_whatsapp_account

Get a WhatsApp connect link

Returns a hosted link; the user opens it and scans the QR code with WhatsApp (Linked devices). Poll list_whatsapp_accounts until status is "ok". Free.

無需輸入參數。

preview_disconnect_whatsapp_account

Preview disconnecting WhatsApp

Show the WhatsApp account that would be disconnected. Nothing changes. Call first.

輸入參數account_id必填

disconnect_whatsapp_account

Disconnect WhatsApp (irreversible)

Disconnect and delete the WhatsApp account; auto-replies stop and reconnecting needs a new QR scan. Only after preview_disconnect_whatsapp_account and user approval.

輸入參數account_id必填

list_campaigns

List campaigns

List classic Sales Process campaigns with status and live stats. Archived campaigns are hidden unless include_archived=true. Read-only.

輸入參數include_archived

get_campaign

Get a campaign

Full campaign: status, settings (all wizard fields), sequence, channel paused flags, channelStatuses, today's sends, stats.totalContacts. Read-only.

輸入參數id必填

create_campaign

Create a campaign (DRAFT, not launched)

Create a classic campaign in DRAFT — nobody is contacted until launch_campaign. Needs an audience (audienceId from save_audience/list_audiences, OR customAudienceId of a READY uploaded/CRM list) and should get an agentId (a campaign cannot be launched without an agent: AGENT_REQUIRED). branchId = CRM branch for replies (crm_list_branches; null = General). Settings (all optional): channels, dailyLimit, dailyEmailLimit, dailyLinkedinLimit, timezone, workingHours, excludeWeekends, campaignDurationDays, customInstructions (Communication Rules incl. form of address), emailSignature, notifyEmails, ccEmail, autoResponseEnabled, autoResponseDelayMinutes, followUpInterval, maxFollowUps, trackOpens, emailSenderMode (managed needs a paid plan), senderEmailIds, emailContent {mode, prompt, tone, variants, htmlSteps, followUps[{delayDays, prompt|subject+body}]}, linkedinContent {mode, invite_prompt, invite_tone, invite_exact_text, followup_delay_minutes, followup_exact_text}, selectedLinkedinAccountIds, linkedinAutoReplyDisabled. Ids are checked against the workspace. Free, no sending.

輸入參數name必填agentIdbranchIdsettingsaudienceIddescriptioncustomAudienceId

update_campaign

Update campaign (wizard settings)

Change a campaign's name, description or any wizard setting (partial: send only what changes; settings are merged). agentId and branchId can be changed only while the campaign is a draft. Settings (all optional): channels, dailyLimit, dailyEmailLimit, dailyLinkedinLimit, timezone, workingHours, excludeWeekends, campaignDurationDays, customInstructions (Communication Rules incl. form of address), emailSignature, notifyEmails, ccEmail, autoResponseEnabled, autoResponseDelayMinutes, followUpInterval, maxFollowUps, trackOpens, emailSenderMode (managed needs a paid plan), senderEmailIds, emailContent {mode, prompt, tone, variants, htmlSteps, followUps[{delayDays, prompt|subject+body}]}, linkedinContent {mode, invite_prompt, invite_tone, invite_exact_text, followup_delay_minutes, followup_exact_text}, selectedLinkedinAccountIds, linkedinAutoReplyDisabled. On a running campaign, changed email steps/delays are not applied once anything was sent (settings.smartleadSequencePending). No sending, no credits.

輸入參數id必填nameagentIdbranchIdsettingsdescription

preview_launch_campaign

Preview launching a campaign

Readiness report for launch/resume — NOTHING IS SENT: ready flag, blockers (AGENT_REQUIRED, AUDIENCE_REQUIRED, CLIENT_MAILBOX_NOT_CONNECTED, PAID_PLAN_REQUIRED for Vendo managed senders, INVALID_STATUS), warnings, real recipient count, channels, daily email/LinkedIn limits, sender mode, email steps, schedule and the LinkedIn accounts that will be activated. ALWAYS call this first and show the result to the user before launch_campaign.

輸入參數id必填linkedin_account_ids

launch_campaign

Launch / resume a campaign (sends real outreach)

Start (or resume a paused) campaign exactly like the app: starts email sending and queues LinkedIn on the selected (or all connected) accounts. Contacts receive REAL outreach in the working hours; credits are spent as messages go out. Only call AFTER the user reviewed preview_launch_campaign and approved it. Returns the campaign plus linkedin_activation.

輸入參數id必填linkedin_account_ids

duplicate_campaign

Duplicate a campaign

Copy a campaign (settings + audience) into a new DRAFT named '<name> (Copy)'. Nothing is sent. Note: the copy re-uses company-based audiences only and has no CRM branch; check get_campaign of the copy before launching.

輸入參數id必填

sync_campaign_stats

Refresh campaign email counters

Pull the latest sent/opened/clicked/replied/bounced counters from the sending provider and store them. Max once per minute per campaign. No credits.

輸入參數id必填

get_campaign_pulse

Campaign pulse (live status)

What the campaign is doing now (sending / idle / outside_hours / paused / queue_empty / done), today vs daily limits, 7–28-day email + LinkedIn series and the latest events. Read-only.

輸入參數id必填dayslimit

get_campaign_live_status

Campaign email progress

Email channel progress: audience size, processed, % complete, event counts, queue depth and provider status / sent today. Read-only.

輸入參數id必填

get_campaign_analytics

Campaign analytics (all campaigns)

Sales Process KPIs for the workspace: totals (campaigns, emails sent, opens, clicks, replies, contacts, rates) and per-campaign performance, optionally for a date range. Read-only. For SDR + campaigns combined use the SDR analytics tool.

輸入參數tofrom

preview_campaign_email

Preview a campaign email (first or follow-up #k)

Render the exact email a campaign would send — first email or follow-up #k — with the writing rules, tone, Communication Rules or fixed text. Pass campaign_id to use its saved settings (any field you pass overrides them), or agent_id + rules for an unsaved draft. No sending, no credits.

輸入參數modetonepromptsamplevariantagent_idfollow_upcampaign_idcustom_instructions

preview_campaign_linkedin_invite

Preview a campaign LinkedIn invite

Render the LinkedIn connection note a campaign would send (AI from rules/tone, or fixed text with placeholders), with its length vs the 200-char limit. Pass campaign_id to use saved settings. No sending, no credits.

輸入參數modetonepromptsampleagent_idexact_textcampaign_id

preview_campaign_linkedin_followup

Preview the LinkedIn message after connect

Render the first LinkedIn message sent after an invite is accepted (AI from the agent, or the fixed text with placeholders filled). Pass campaign_id to use saved settings. No sending, no credits.

輸入參數modesampleagent_idexact_textcampaign_id

preview_agent_email

Preview an email the agent would write

Render a sample outreach email from an agent — no sending, no credits. Optional mode/prompt/tone/customInstructions/variant/followUp{index,delayDays,previous}/sample make it render exactly like a campaign would (same as preview_campaign_email).

輸入參數id必填

get_campaign_email_stats

Campaign email funnel incl. delivery

Email funnel: sent, delivered, opened, clicked, replied (real / auto-reply / bounce), bounced; delivery block (delivered vs not delivered: bounced, rejected as spam, unsubscribed; sender inbox-placement test — real inbox vs spam folder is not reported by providers) and unique opened/clicked/replied. Read-only.

輸入參數id必填

list_campaign_emails

List sent / queued / prepared emails

state=sent: emails already sent (filter by status, search by address); state=queued: scheduled/queued emails waiting to go out; state=prepared: pre-generated emails pipeline with status counts and preparation progress. Read-only.

輸入參數id必填limitstate必填offsetsearchstatus

prepare_campaign_emails

Pre-generate campaign emails (legacy)

Generate emails for every contact ahead of sending (legacy company-based audiences only; people/custom-audience campaigns prepare automatically after launch). Can take minutes. Nothing is sent. No credits.

輸入參數id必填

retry_campaign_email_preparation

Retry failed email preparation

Put prepared emails that failed validation/generation back in the queue (max 3 attempts each). Nothing is sent.

輸入參數id必填

preview_schedule_campaign_delivery

Preview scheduling prepared emails

Dry-run: how many ready prepared emails would be scheduled into the campaign working hours. Nothing changes. Call before schedule_campaign_delivery.

輸入參數id必填

schedule_campaign_delivery

Schedule prepared emails for delivery

Spread all ready prepared emails over the campaign's working-hour slots; they are then SENT for real automatically. Only after the user approved preview_schedule_campaign_delivery.

輸入參數id必填

preview_send_campaign_emails_now

Preview sending prepared emails now

Dry-run: how many prepared emails would be sent immediately (outside the schedule). Nothing is sent.

輸入參數id必填limit

send_campaign_emails_now

Send prepared emails now (REAL emails)

Send up to `limit` prepared emails immediately, ignoring the schedule. REAL emails to real people. Only after the user approved preview_send_campaign_emails_now.

輸入參數id必填limit

list_campaign_replies

Campaign replies inbox

Email replies received by a campaign with body and classification: real (a person answered), auto_reply (out of office), bounce. Read-only.

輸入參數id必填type

list_campaign_email_leads

Engaged email leads

Recipients with their open/click/reply counts, read live from the sending provider (throttled: once per 15 s per campaign). Read-only.

輸入參數id必填filter

get_campaign_email

Open one campaign email

One sent email by email id (from list_campaign_emails / list_campaign_replies): content, recipient, related open/click/reply events, the reply and the conversation. Read-only.

輸入參數email_id必填

refresh_campaign_email_reply

Reload a reply from the provider

Fetch the latest reply text for an email from the sending provider (when a reply shows as empty). No credits, nothing sent.

輸入參數email_id必填

preview_reply_to_campaign_email

Preview a manual reply to a lead

Dry-run of replying to a lead's email reply: shows recipient, subject and the exact text. Nothing is sent. Call before reply_to_campaign_email and show the text to the user.

輸入參數body必填email_id必填

reply_to_campaign_email

Send a manual reply to a lead (REAL email)

Send the reply immediately in the lead's thread (bypasses daily limits). REAL email. Only after the user approved the exact text from preview_reply_to_campaign_email.

輸入參數body必填email_id必填

list_campaign_threads

AI email conversations of a campaign

Conversations the AI is handling for a campaign (filter by status ai_handling|human_takeover|closed and sentiment positive|objection|referral|unsubscribe|neutral), plus counters by status and sentiment. Only threads of the API key's user. Read-only.

輸入參數id必填limitoffsetstatussentiment

get_campaign_thread

Open an AI email conversation

One conversation with all messages (AI, human and contact). Read-only.

輸入參數thread_id必填

takeover_campaign_thread

Take over an AI email conversation

Stop the AI from replying in this conversation; a human continues (reply_in_campaign_thread). Nothing is sent.

輸入參數thread_id必填

close_campaign_thread

Close an AI email conversation

Mark the conversation closed (no more AI replies). Nothing is sent.

輸入參數thread_id必填

preview_reply_in_campaign_thread

Preview a human reply in a conversation

Dry-run: recipient, subject (defaults to Re: last subject) and the exact text. Nothing is sent. Call before reply_in_campaign_thread and show the text to the user.

輸入參數body必填subjectbody_htmlthread_id必填

reply_in_campaign_thread

Send a human reply in a conversation (REAL email)

Send the email to the contact now. REAL email. Only after the user approved preview_reply_in_campaign_thread. Consider takeover_campaign_thread first so the AI stops answering.

輸入參數body必填subjectbody_htmlthread_id必填

get_campaign_monitor

Campaign monitor

Monitor page data: AI lead discovery config + stats, audience growth by day, the last 100 activity events, event counts and credits (balance, spent today/total, daily budget). Read-only.

輸入參數id必填

get_campaign_discovery

Get AI lead discovery config

AI lead discovery settings of a campaign (null when never configured). Read-only.

輸入參數id必填

preview_update_campaign_discovery

Preview AI lead discovery settings

Dry-run of enabling/changing automatic lead discovery: source, daily credit budget, leads/day. Nothing changes. Call before update_campaign_discovery whenever discovery is (or stays) enabled.

輸入參數id必填enabledrequire_emailsearch_sourcemax_leads_per_dayapollo_search_configmax_total_discoveredsignal_search_configsearch_interval_minutesdaily_discovery_budget_credits

update_campaign_discovery

Enable / change AI lead discovery (SPENDS CREDITS)

Turn on or adjust automatic lead discovery: it runs daily, SPENDS CREDITS up to daily_discovery_budget_credits and adds new leads to the campaign audience. Same args as preview_update_campaign_discovery; only after the user approved that preview. Disabling (enabled=false) needs no preview.

輸入參數id必填enabledrequire_emailsearch_sourcemax_leads_per_dayapollo_search_configmax_total_discoveredsignal_search_configsearch_interval_minutesdaily_discovery_budget_credits

list_campaign_discovered_leads

Leads found by AI discovery

Leads found by AI lead discovery for a campaign, filterable by status (discovered, enriching, enriched, added_to_audience, rejected, duplicate, enrichment_failed). Read-only.

輸入參數id必填limitoffsetstatus

get_campaign_activity

Campaign activity feed

Paged activity events of a campaign (discovery, outreach, engagement, system, billing). Poll it instead of a live stream. Read-only.

輸入參數id必填limitoffsetcategory

list_sender_emails

Email senders + capacity

Sending addresses available to this workspace (Vendo managed pool + own mailboxes) with warm-up level, daily limit and status; summary.emails_per_day_ready = capacity in managed mode. Managed senders require a paid plan to launch (summary.paid_plan). Use ids in settings.senderEmailIds. Read-only.

無需輸入參數。

list_client_mailboxes

Own sending mailboxes

The workspace's own connected mailboxes (status connecting|warming|ready|error|disconnected, warm-up reputation, last error). Capacity ≈ 50 emails/day per READY box. Used when settings.emailSenderMode=client_owned (classic campaigns and SDR). Read-only.

無需輸入參數。

connect_client_mailbox

Connect an own mailbox (SMTP/IMAP app password)

Connect the user's OWN mailbox for sending. Requires SMTP/IMAP hosts+ports and an APP PASSWORD, which passes through this conversation: prefer asking the user to connect it in the app (Settings → Email Sending) unless they explicitly give you the password. WARM-UP STARTS IMMEDIATELY: the real mailbox sends and receives warm-up mail. The password is never returned. Gmail: smtp.gmail.com:465 / imap.gmail.com:993; Outlook: smtp.office365.com:587 / outlook.office365.com:993.

輸入參數email必填password必填providerfrom_nameimap_host必填imap_port必填smtp_host必填smtp_port必填

reconnect_client_mailbox

Reconnect an own mailbox

Retry the SMTP/IMAP connection of a mailbox in status error and refresh its status. No credits.

輸入參數mailbox_id必填

preview_disconnect_client_mailbox

Preview disconnecting an own mailbox

Dry-run: which client_owned campaigns are affected and how many usable mailboxes remain. Nothing changes.

輸入參數mailbox_id必填

disconnect_client_mailbox

Disconnect an own mailbox

Stop using the mailbox as a sender. If none remain, client_owned campaigns cannot send or launch. Only after the user approved preview_disconnect_client_mailbox.

輸入參數mailbox_id必填

list_linkedin_accounts

List connected LinkedIn accounts

LinkedIn accounts of the workspace and their status (ok = can send; ~70–80 invites/day each). detailed=true adds owner/role, campaigns and SDR searches using each account, 7-day activity, prospecting caps, warm-up stage, premium tier and proxy country. Read-only.

輸入參數detailed

get_linkedin_account_settings

LinkedIn account settings

Per-account LinkedIn settings shared by every campaign and SDR process using the account: AI auto-replies (on/off, tone, instructions, pitch, booking link, reply delays, daily limit, working hours, agent, contact info), invites (on/off, tone, pitch, instructions, CTA), follow-ups (on/off, pitch, instructions, CTA) and signature (text, first_message|every_message). The first read creates defaults (pre-filled from campaign_id's agent).

輸入參數account_id必填campaign_id

update_linkedin_account_settings

Update LinkedIn account settings

Change AI auto-replies, invite / follow-up pitch, CTA, signature, reply delays/limits for ONE LinkedIn account (applies to all campaigns and SDR processes using it). Send only changed fields. To switch AI replies off for a single campaign use update_campaign settings.linkedinAutoReplyDisabled. No credits.

輸入參數toneenabledagent_idtimezoneaccount_id必填invite_ctainvite_tonecalendly_urlcontact_infofollowup_ctainvite_pitchproduct_pitch另有 13 個

preview_linkedin_account_messages

Sample LinkedIn messages for an account

Sample invite, follow-up and auto-reply plus suggested pitch/signature for an account in a campaign (built from the campaign's agent). No sending, no credits.

輸入參數account_id必填campaign_id必填

list_campaign_linkedin_accounts

LinkedIn accounts working a campaign

Accounts working this campaign with per-account counters (pending, invites sent, connected, messaged, replied). Read-only.

輸入參數id必填

add_campaign_linkedin_account

Add a LinkedIn account to a campaign

Add a connected account to a running campaign; pending contacts are rebalanced across accounts and backfilled. It starts sending invites in the next cycles. No credits.

輸入參數id必填account_id必填

remove_campaign_linkedin_account

Remove a LinkedIn account from a campaign

Stop using an account for this campaign; its pending contacts move to the remaining accounts. Already-sent invites stay.

輸入參數id必填account_id必填

preview_activate_campaign_linkedin

Preview activating LinkedIn on a campaign

Dry-run: which accounts would get the campaign audience queued, how many contacts and what is already queued. Nothing changes. Call before activate_campaign_linkedin.

輸入參數id必填account_ids

activate_campaign_linkedin

Activate LinkedIn on a campaign

Queue the campaign audience for LinkedIn on the given (or selected/all connected) accounts and add linkedin to the channels. On an active campaign REAL connection invites start within the next cycles. Only after the user approved preview_activate_campaign_linkedin.

輸入參數id必填account_ids

list_campaign_linkedin_outreach

LinkedIn outreach of a campaign

Contacts in the campaign's LinkedIn queue with their status (pending, invite_sent, connected, message_sent, replied, failed, skipped), optionally for one account. Read-only.

輸入參數id必填limitoffsetstatusaccount_id

get_campaign_linkedin_stats

LinkedIn stats of a campaign

LinkedIn counters (total, pending, invites sent, connected, messaged, replied, failed), invites sent today, effective daily limit and active accounts; optionally for one account. Read-only.

輸入參數id必填account_id

takeover_linkedin_contact

Take over a LinkedIn contact

Stop the AI from messaging this LinkedIn contact (outreach id from list_campaign_linkedin_outreach or list_linkedin_conversations); pending auto-replies are cancelled. Nothing is sent.

輸入參數outreach_id必填

list_linkedin_conversations

LinkedIn conversations

LinkedIn chats of the workspace (optionally of one campaign and/or account): contact, last message, pending AI reply, human takeover flag, outreach status. Read-only.

輸入參數limitoffsetaccount_idcampaign_id

get_linkedin_conversation

Open a LinkedIn conversation

All messages of one LinkedIn chat (chat_id from list_linkedin_conversations). Read-only.

輸入參數chat_id必填

preview_send_linkedin_message

Preview a manual LinkedIn message

Dry-run: recipient, exact text, cost (5 credits) and whether the balance suffices. Nothing is sent. Call before send_linkedin_message and show the text to the user.

輸入參數text必填chat_id必填

send_linkedin_message

Send a LinkedIn message (REAL, 5 credits)

Send a REAL LinkedIn message in the chat; costs 5 credits, the AI stops messaging this contact (human takeover) and the CRM lead moves to Manager Dialog. Only after the user approved preview_send_linkedin_message.

輸入參數text必填chat_id必填

preview_activate_campaign_phone

Preview AI phone calls for a campaign

Dry-run of activating the phone channel with numbers the account already owns: numbers, objective, calls/day, window and estimated credits per call/day. Nothing is scheduled. Numbers cannot be bought through the API.

輸入參數id必填timezonecall_objectivetalking_pointsexclude_weekendsphone_number_ids必填max_calls_per_dayworking_hours_endworking_hours_startmax_call_duration_seconds

activate_campaign_phone

Activate AI phone calls (REAL calls, credits per minute)

Schedule REAL outbound AI calls to every audience contact with a phone number; credits are charged per call minute. Same args as preview_activate_campaign_phone; only after the user approved that preview. Pause with pause_channel channel=phone_call.

輸入參數id必填timezonecall_objectivetalking_pointsexclude_weekendsphone_number_ids必填max_calls_per_dayworking_hours_endworking_hours_startmax_call_duration_seconds

get_campaign_phone_stats

Phone stats of a campaign

Call counters: total, completed, active, pending, no answer, voicemail, failed, interested, meetings booked, not interested, average/total duration. Read-only.

輸入參數id必填

list_campaign_phone_calls

Calls of a campaign

Calls with contact, status, outcome, duration, sentiment, summary and recording URL. Read-only.

輸入參數id必填limitoffsetstatus

list_content_accounts

Social publishing accounts

LinkedIn / Instagram accounts connected for publishing posts (Settings → Social), with status. Read-only.

無需輸入參數。

connect_content_account

Get a link to connect a social publishing account

Returns a hosted URL a HUMAN must open in a browser to authorise a LinkedIn or Instagram publishing account. Give the link to the user; nothing is connected until they finish.

輸入參數provider必填redirect_path

preview_disconnect_content_account

Preview disconnecting a social publishing account

Dry-run of removing a publishing account. Nothing changes.

輸入參數account_id必填

disconnect_content_account

Disconnect a social publishing account

Remove the publishing account; it can no longer publish posts. Only after the user approved preview_disconnect_content_account.

輸入參數account_id必填

list_custom_audiences

List My Audiences (custom lists)

List the workspace's custom audiences — uploaded CSV/XLSX lists, purchased audience sets, CRM selections — with status (processing|ready|enriching|error), contact counts and enrichment progress. These are different from campaign audiences (`list_audiences`). Read-only, free.

輸入參數pagelimit

get_custom_audience

Get one custom audience

One custom audience: status, counts (with email/phone/LinkedIn), enrichment progress, column mapping and the first 20 contacts. Page through all contacts with `get_custom_audience_contacts`. Read-only, free.

輸入參數id必填

get_custom_audience_contacts

Page through custom audience contacts

Paged contacts of a custom audience (max 100 per page). Contacts added by Vendo SDR carry signal_context (why they were picked: reasoning, relevance score, ICP group). Read-only, free.

輸入參數id必填pagelimit

create_custom_audience

Create an empty custom audience

Create an empty, named custom audience (status ready) — then fill it with `add_custom_audience_contacts`. To create one from a file use `upload_custom_audience`. No credits.

輸入參數name必填

rename_custom_audience

Rename a custom audience

Rename a custom audience. Reversible, no credits.

輸入參數id必填name必填

add_custom_audience_contacts

Add contacts to a custom audience

Append up to 5000 contacts to a custom audience. Deduplicated inside the audience by email, LinkedIn URL or phone (duplicates and contacts with no email/LinkedIn/phone are skipped). Returns added / skipped / total_contacts. No credits.

輸入參數id必填contacts必填

update_custom_audience_contact

Edit a contact in a custom audience

Edit one contact of a custom audience (only the fields you pass change). No credits.

輸入參數id必填cityemailphonecountrywebsitepositiontelegramwhatsappfull_namelast_namecontact_id必填另有 5 個

preview_delete_custom_audience_contact

Preview removing a contact (dry-run)

Dry-run of removing one contact from a custom audience. Changes nothing. Show the result to the human before `delete_custom_audience_contact`.

輸入參數id必填reasoncontact_id必填

delete_custom_audience_contact

Remove a contact from a custom audience

Permanently remove one contact from a custom audience (not reversible). Optional reason (UI choices: Not relevant, Wrong contact, Already a customer, Bad data, Other) is logged to improve automatic selection. Only call after the user approved `preview_delete_custom_audience_contact`.

輸入參數id必填reasoncontact_id必填

preview_delete_custom_audience

Preview deleting a custom audience (dry-run)

Dry-run: shows the audience name and how many contacts would be deleted. Changes nothing. ALWAYS call before `delete_custom_audience` and show the result.

輸入參數id必填

delete_custom_audience

Delete a custom audience

Permanently delete a custom audience with all its contacts and source file. NOT reversible. Only call after the user approved `preview_delete_custom_audience`.

輸入參數id必填

preview_custom_audience_file

Detect columns of a contacts file

Step 1 of an upload: send a CSV/XLSX/XLS/TSV/TXT file (base64 or https URL) and get the detected headers, a suggested column mapping, sample rows, total rows and the list of target fields. Creates nothing, no credits. Then call `upload_custom_audience` (optionally with a corrected column_mapping).

輸入參數file_urlfilenamecontent_base64

upload_custom_audience

Create a custom audience from a file

Create a custom audience from a CSV/XLSX/XLS/TSV/TXT file given as base64 or an https URL. Parsing runs in the background: poll `get_custom_audience` until status is "ready". No credits (enrichment is a separate, paid step).

輸入參數namefile_urlfilenamecolumn_mappingcontent_base64

export_custom_audience_csv

Export a custom audience as CSV

Download every contact of a custom audience as CSV text (filename, total_rows, csv). Can be large. Read-only, free.

輸入參數id必填

preview_enrich_custom_audience

Preview enriching a custom audience (cost)

Dry-run of enrichment: how many contacts still need enrichment, the maximum credits (1 per contact), estimated minutes, the current balance and whether it can start. Spends nothing. ALWAYS call first and show the cost to the human.

輸入參數id必填

enrich_custom_audience

Enrich a custom audience (SPENDS CREDITS)

SPENDS CREDITS: starts background enrichment (email, phone, LinkedIn, WhatsApp lookups) of the not-yet-enriched contacts — 1 credit per contact actually enriched, charged as it runs. Only call after the user approved `preview_enrich_custom_audience`. Then poll `get_custom_audience_enrichment`; stop with `stop_custom_audience_enrichment`.

輸入參數id必填

get_custom_audience_enrichment

Enrichment progress of a custom audience

Status and progress of a running (or finished) enrichment: status, enrichment_total, enrichment_done, enrichment_progress (%), done flag. Poll every 10–30 s. Read-only.

輸入參數id必填

stop_custom_audience_enrichment

Stop a running enrichment

Stop an in-progress enrichment after the current contact (stops further spending). Already-enriched contacts stay enriched and charged.

輸入參數id必填

prepare_campaign_audience_from_custom

Use a custom audience in a campaign

Turn a READY custom audience into a campaign audience and return its id ({ id, name, stats }) — pass it as audienceId to `create_campaign`. Sends nothing, no credits. The "Launch campaign" button of My Audiences.

輸入參數id必填name

get_audience_set_contact

One contact card of an audience set

Full card of one contact in a marketplace set: person, company, buying signal, channels. Contact details stay masked until the set is bought. Contact ids come from `get_audience_set_contacts`. Read-only, free.

輸入參數slug必填contact_id必填

crm_reorder_stages

Reorder pipeline stages

Set the full left-to-right order of one pipeline's stages (every stage id exactly once — get them from crm_list_stages with the same branch). Applies to the whole workspace. Reversible.

輸入參數branchstage_ids必填

crm_list_all_branches

List every CRM pipeline (for moves)

Every pipeline of the workspace (id, name, is_default) — wider than crm_list_branches for members; use it to pick a destination for crm_add_lead_to_branch / crm_move_lead_to_branch. Read-only.

無需輸入參數。

crm_get_branch

Get one CRM pipeline

One pipeline by id (id, name, is_default). Read-only.

輸入參數id必填

crm_create_branch

Create a CRM pipeline (branch)

Create an isolated pipeline (team / direction / client) with its own default stages. member_user_ids = who can see it (General stays open to all). Workspace admins/owner only. No credits.

輸入參數name必填member_user_ids

crm_update_branch

Rename a pipeline / change its members

Rename a pipeline and/or replace its member list. The General pipeline cannot be changed. Admins/owner only.

輸入參數id必填namemember_user_ids

preview_delete_crm_branch

Preview deleting a pipeline (dry-run)

Dry-run: shows the pipeline and how many leads would fall back to General. Changes nothing. ALWAYS call before delete_crm_branch.

輸入參數id必填

delete_crm_branch

Delete a pipeline

Delete a non-default pipeline; its leads are not deleted but return to General. NOT reversible. Admins/owner only. Only call after the user approved preview_delete_crm_branch.

輸入參數id必填

crm_get_lead_branches

Pipelines a lead is in

Every pipeline a lead currently sits in, with its stage and owner per pipeline. Read-only.

輸入參數id必填

crm_add_lead_to_branch

Add a lead to another pipeline

Place the lead in another pipeline too (entry stage); it stays in its current ones. Reversible via crm_move_lead_to_branch.

輸入參數id必填branch_id必填assignee_user_id

crm_move_lead_to_branch

Move a lead between pipelines

Move the lead out of one pipeline into another (entry stage, or to_stage_id of the destination). Reversible.

輸入參數id必填to_stage_idto_branch_id必填from_branch_id必填assignee_user_id

crm_preview_email_to_lead

Preview an email to a lead (dry-run)

Dry-run of crm_send_email_to_lead: shows recipient, subject and body exactly as they would be sent. Sends nothing. ALWAYS call first and show the draft to the human.

輸入參數id必填tobody必填subject必填

crm_send_email_to_lead

Send a REAL email to a lead

Sends a REAL email from the CRM card ("<your name> via Vendo AI", replies go to your own address) and logs it on the card. Members need the crm-contact-details permission. Only call after the user approved the exact draft from crm_preview_email_to_lead.

輸入參數id必填tobody必填subject必填

crm_import_leads

Import leads into the CRM

Import up to 1000 parsed rows as leads into the chosen pipelines (entry stage). Dedup by email/phone: an existing lead only gets its blank fields filled (never overwritten) and is added to the pipelines. Returns created / updated / skipped (+ reasons). No credits.

輸入參數rows必填branch_ids

crm_promote_contact_to_lead

Promote a contacted person to a CRM lead

Turn a person from the Communications stream (crm_communication_history row) into a CRM lead in the New stage. Deduplicated: returns { lead_id, already_existed }. Needs at least one of email / linkedin_url / phone. No credits.

輸入參數emailphonetitleavatar_urlcompany_namecontact_namelinkedin_urlassigned_user_id

crm_list_lead_documents

List documents on a lead

Files attached to a lead card (id, name, type, size, uploader, date). Read-only.

輸入參數id必填

crm_upload_lead_document

Attach a document to a lead

Attach one file to a lead card (base64 or https URL). Allowed: pdf, doc(x), xls(x), csv, txt, rtf, odt, ods, ppt(x), png, jpg, gif, webp, heic, zip. Stored privately; adds an activity entry. No credits.

輸入參數id必填file_urlfilenamecontent_base64

crm_get_lead_document

Download a lead document

Returns the file as base64 with its name and mime type (files up to 5 MB; larger ones only via REST). Read-only.

輸入參數id必填document_id必填

preview_delete_crm_lead_document

Preview deleting a lead document (dry-run)

Dry-run: shows which file would be deleted. Changes nothing.

輸入參數id必填document_id必填

delete_crm_lead_document

Delete a lead document

Permanently delete a file from a lead card. NOT reversible. Only call after the user approved preview_delete_crm_lead_document.

輸入參數id必填document_id必填

list_app_notifications

List app notifications (bell)

The caller's in-app notifications, newest first (type, subject, preview, isRead, createdAt), with unreadCount and paging. Types include MEETING_TRANSCRIPT, MEETING_NOTIFICATION, SUBSCRIPTION_*, PAYMENT_RECEIPT, LOW_CREDITS, CREDITS_ADDED, INVITATION, CUSTOM. CRM lead notifications are separate (crm_list_notifications). Read-only.

輸入參數pagelimit

get_app_notifications_unread_count

Unread app notifications count

Number of unread in-app notifications (the bell badge). Read-only.

無需輸入參數。

mark_app_notification_read

Mark an app notification read

Mark one in-app notification as read.

輸入參數id必填

mark_all_app_notifications_read

Mark all app notifications read

Mark every in-app notification of the caller as read (clears the badge).

無需輸入參數。

delete_app_notification

Delete an app notification

Remove one in-app notification from the caller's list.

輸入參數id必填

list_crm_integrations

List CRM integrations

External CRM connections of the workspace (Kommo, HubSpot): status, account, sync settings and counters. Tokens are never returned. Read-only.

無需輸入參數。

get_crm_integration

Get one CRM integration

Status and settings of the Kommo or HubSpot connection ({connected:false} if none). Use it to poll after connect_crm_integration. Read-only.

輸入參數provider必填

get_crm_integration_logs

CRM integration sync log

Recent sync events (contact/lead created, errors) of the caller's own Kommo/HubSpot connection. Read-only.

輸入參數limitprovider必填

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 83%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款不適用

    託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。