一键导入
kanvas-crm
Use when interacting with the Kanvas CRM to manage leads, pipelines, send template emails, create follow-ups, upload files, and log sales activity.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when interacting with the Kanvas CRM to manage leads, pipelines, send template emails, create follow-ups, upload files, and log sales activity.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | kanvas-crm |
| description | Use when interacting with the Kanvas CRM to manage leads, pipelines, send template emails, create follow-ups, upload files, and log sales activity. |
| metadata | {"openclaw":{"requires":{"config":["plugins.entries.kanvas"]}}} |
This skill provides operational guidance and technical best practices for using the Kanvas CRM plugin effectively.
When sending emails via kanvas_send_anonymous_email using Kanvas notification templates, the backend uses Laravel Blade.
{{ $message }}), causing <br> and <strong> to render as raw text.{!! $message !!}). Pass raw HTML in your message payloads to render properly formatted emails.Use the native kanvas_update_lead tool.
id and input: { pipeline_stage_id: XYZ }.branch_id, people_id) behind the scenes as of v0.1.8+. No custom GraphQL scripts are necessary.Use the native kanvas_update_people tool.
contacts_types_id. Well-known IDs (use directly, no lookup needed):
1 → Email2 → Phone3 → Cell Phonekanvas_list_contact_types to look up the ID.Use the native tools:
kanvas_attach_file_to_lead_by_url: Supply a public URL to download a PDF or image straight to the Lead profile.kanvas_upload_file_to_lead / kanvas_upload_file_to_message: If passing base64 or a local file path.Use the native kanvas_create_follow_up tool.
MEMORY.md) to manage the sales pipeline reminders. If you schedule a follow-up, the human team needs to be able to see it natively inside the Kanvas dashboard.lead_id, date, start_time, and end_time. Use kanvas_list_events during your morning sweep to execute them.When using kanvas_add_lead_participant, the CRM requires a relationship_id.
kanvas_create_people_relationship to dynamically create the relationship if it's missing, get its ID, and then call kanvas_add_lead_participant.When handling multiple outbound conversations, strictly avoid mixing up client details.
kanvas_get_lead), read the Lead Profile, and fetch the Message Channel history (kanvas_list_lead_messages). Build the response strictly based on this retrieved data.To avoid sending the same update or repeating the same information to clients and the team:
kanvas_send_anonymous_email or custom scripts) MUST be immediately logged into Kanvas using a direct GraphQL CreateMessage mutation with the message_verb: "agent_email_log".message JSON payload must include the exact subject, date, recipients (array of emails), and body (the full HTML/text sent).message_verb: "agent_email_log" to review past logs and ensure you do not repeat topics that were covered in previous emails.When sourcing targets automatically (via Apollo API or Web Search):
kanvas_search_leads) by the prospect's email or company name before creating a new lead to prevent duplicate entries and spamming.kanvas_create_lead in the "Prospecting" stage with the correct ICP Lead Type and Source.https://kanvas.domain/projects/{app-uuid}/leads/{leaduuid}When attaching a drafted cold email or pitch to a Lead profile for human review, DO NOT pass it as a raw string.
kanvas_add_lead_note_by_lead_id, pass the message payload as a structured object containing ONLY title and body fields.Utkast til e-post: [Selskap]). Never include debugging or array tags in the title.\n\n strings or JSON arrays in the body. Use the HTML <br><br> format for a single, continuous body string so that Kanvas frontend renders the JSON payloads with clean line breaks instead of visible newline escape characters.When using Apollo API to source leads, always extract the following fields and map them to Kanvas:
contacts: [{ value: email, contacts_types_id: 1 }] — ID 1 is Email (well-known, no lookup needed).contacts_types_id: 2 (Phone) or 3 (Cell Phone).contacts_types_id via kanvas_list_contact_types (typically 5, but verify per app). Map to contacts: [{ value: linkedin_url, contacts_types_id: <id> }]. Do not fail or block lead creation if LinkedIn is missing.When communicating with the leadership team, founders, or human architects, NEVER mention the specific technical backend tools (e.g., Apollo, Kanvas, OpenClaw, GraphQL).
LeadSource field silently in the backend payload. Do not expose the data provider in the public-facing text notes or emails.q