Skip to content

AI Craft

AI-powered message, note, comment, and follow-up writing with brand voice.

Full name: campaignstack_craft_message

leads:read Read-only

Generate a personalized LinkedIn first message using full campaign context. Fetches lead profile, campaign goal, ICP, and persona data from Convex, then calls Claude Opus 4.6 to craft a tailored message. Use only for first messages (no prior conversation). For follow-ups with conversation history, use campaignstack_craft_followup instead.

NameTypeRequiredDefaultDescription
leadIdstringYes(min length: 1)
campaignIdstringYes(min length: 1)
instructionsstringNo
messageTemplatestringNo

Full name: campaignstack_craft_note

leads:read Read-only

Generate a personalized LinkedIn connection note (max 300 characters). Fetches lead profile, campaign goal, ICP, and persona data from Convex, then calls Claude Opus 4.6 to craft a short, compelling connection note. Use for connection requests. For first messages after connecting, use campaignstack_craft_message.

NameTypeRequiredDefaultDescription
leadIdstringYes(min length: 1)
campaignIdstringYes(min length: 1)
instructionsstringNo

Full name: campaignstack_craft_comment

content:read Read-only

Generate a relevant comment for a LinkedIn post using campaign context. Accepts the post content the agent scraped from the browser, plus lead and campaign context. Calls Claude Opus 4.6 to craft a thoughtful comment that builds rapport. Use for engaging with a lead’s LinkedIn posts before or after connecting.

NameTypeRequiredDefaultDescription
leadIdstringYes(min length: 1)
campaignIdstringYes(min length: 1)
postContentstringYes(min length: 1)
instructionsstringNo

Full name: campaignstack_craft_followup

leads:read

Generate a contextual follow-up message that accounts for the full conversation history. Compares agent-provided messages with stored history to identify new messages, stores any new messages found, then calls Claude Opus 4.6 to craft a reply. Also detects lead intent (interested, not_interested, asking_for_info, scheduling_call, other). Use for any message where prior conversation exists. For first messages, use campaignstack_craft_message.

NameTypeRequiredDefaultDescription
leadIdstringYes(min length: 1)
campaignIdstringYes(min length: 1)
linkedinAccountIdstringYes(min length: 1)
conversationMessagesobject[]Yes
instructionsstringNo