Skip to main content
Glama
650,553 tools. Updated 2026-10-14 09:25

"Using LinkedIn to find GASP animations" matching MCP tools:

  • Send a one-off LinkedIn message to a specific saved contact outside any campaign. Prefer contact_id; Salesbot resolves the LinkedIn identifier internally. A random delay, daily/hourly limits, allowed hours and human approval are enforced. Refused with code DUPLICATE_RECENT_MESSAGE (and the campaign name + date) when a campaign of this LinkedIn account already messaged the person within the last 30 days; to continue an existing conversation use reply_to_chat.
    ConnectorAPI key
  • <summary>Check LinkedIn usage limits and invite queue counts. Call this before sending multiple LinkedIn messages, InMails, or connection requests to get a fresh read of today's headroom (limits, remaining, ramp-up) plus the current queue counts — re-call it after queueing or approving sends, which leave the in-context figures out of date. For the per-contact queue (names, scheduled times, messages), use manage_linkedin_invite_queue with action='status'.</summary> <returns> <description>Dict with usage counts, limits, queue counts, and `configurable_limits` — per action the standard `default`, the tier-aware `ceiling` (the max the user can raise it to), and the user's current `custom` cap (None = using the default). Quote `ceiling` when the user asks how high they can set a cap.</description> </returns>
    ConnectorOAuth
  • Update the LinkedIn channel settings of an existing DRAFT wizard campaign: native objective, bidding optimization goal (including Reach), bid strategy with manual bid amount, and the LinkedIn conversion actions the campaign optimizes toward. These are the settings the platform UI shows in the LinkedIn channel drawer of the campaign draft page (Native Objective, Bidding Optimization Goal, Bid, Conversion Actions). The campaign MUST already have its LinkedIn channel enabled (via create_campaign / add_and_edit_campaign_elements with a `linkedin` block). WARNING: DRAFT-ONLY: the platform rejects these edits once the campaign is Launching/Launched. KEYWORDS: linkedin, linkedin campaign, linkedin settings, campaign settings, draft campaign, objective, native objective, brand awareness, website visits, engagement, video views, bidding optimization goal, optimization goal, reach, impressions, landing page clicks, engagement clicks, bid, bid strategy, auto bid, manual bid, maximum delivery, conversion, conversions, conversion actions, conversion tracking, insight tag, settings WHEN TO USE: - Set the LinkedIn native objective (e.g. Brand Awareness instead of the default Engagement) - Optimize a Brand Awareness campaign for REACH instead of IMPRESSIONS - Switch between auto bid (LinkedIn maximum delivery) and a manual bid - Pick which LinkedIn conversion actions the campaign optimizes toward and reports on PARAMETERS (campaign_id required; everything else optional, and an unspecified setting keeps its current value on the channel): - campaign_id: the wizard campaign ID - objective: BRAND_AWARENESS | WEBSITE_VISIT | ENGAGEMENT | VIDEO_VIEW, the LinkedIn native objective. Only selectable on Brand Awareness (CTR) campaigns: a Lead Gen (CPL) campaign derives it from its offer at launch (lead-gen form -> LEAD_GENERATION, landing page -> WEBSITE_CONVERSION). The platform default for a new LinkedIn channel is ENGAGEMENT. Every ad already on the channel must be supported by the objective (VIDEO_VIEW is video-only, MESSAGE ads only fit WEBSITE_VISIT, DOCUMENT ads lock the objective, a video-only channel accepts only ENGAGEMENT or VIDEO_VIEW). A channel holding CTV ads is always Brand Awareness / Reach at launch and cannot be changed here. Changing the objective also resets the cost type and the bidding optimization goal to the objective's default (BRAND_AWARENESS -> IMPRESSIONS, WEBSITE_VISIT -> LANDING_PAGE_CLICKS, ENGAGEMENT -> ENGAGEMENT_CLICKS, VIDEO_VIEW -> VIDEO_VIEWS), so pass bidding_optimization_goal in the same call when you want something else. - bidding_optimization_goal: what LinkedIn optimizes delivery for. Allowed per objective: BRAND_AWARENESS -> IMPRESSIONS | REACH; WEBSITE_VISIT -> LANDING_PAGE_CLICKS | IMPRESSIONS; ENGAGEMENT -> ENGAGEMENT_CLICKS | IMPRESSIONS; VIDEO_VIEW -> VIDEO_VIEWS | IMPRESSIONS. Conversation and Message ads are always IMPRESSIONS. CTR campaigns only. - bid_strategy: AUTO_BID (LinkedIn "maximum delivery", what the campaign builder applies by default) or MANUAL_BID (needs bid_amount). CTV ads REQUIRE AUTO_BID; Spotlight and Text ads REQUIRE MANUAL_BID. - bid_amount: manual bid in the account currency, used only with MANUAL_BID. - conversion_action_ids: ids of LinkedIn conversion actions (from list_linkedin_conversions) the campaign should optimize toward and count as conversions: website visits, URL-rule page views, lead form fills. REPLACES the current selection; pass [] to clear it (the campaign then falls back to the account's default Insight Tag URL match). Every id must exist and be enabled on the connected LinkedIn account, or launch validation fails. NOTE: the platform UI only shows this picker for campaigns with landing-page offers and an objective other than Brand Awareness; ids stored outside that case are still sent to LinkedIn at launch, but that path is not exercised by the UI. NOT SETTABLE ANYWHERE IN THE PLATFORM (say so instead of promising them): LinkedIn Audience Network on/off and its category exclusions, audience expansion (campaigns always launch with expansion OFF), frequency caps, Thought Leader ads. LinkedIn geo targeting is not a channel setting either: it lives on the audience / target group. EXAMPLES: Brand Awareness optimized for Reach on auto bid: update_linkedin_channel_settings({"campaign_id": 12345, "objective": "BRAND_AWARENESS", "bidding_optimization_goal": "REACH", "bid_strategy": "AUTO_BID"}) Track two conversion actions on a Website Visits campaign: update_linkedin_channel_settings({"campaign_id": 12345, "conversion_action_ids": ["123456", "234567"]}) RESPONSE: {success, campaign_id, channel_id, campaign_status, campaign_goal, channel_ad_types, applied:{...}, errors?}. `applied` echoes exactly what was pushed to the platform. INTEGRATION WITH OTHER TOOLS: - list_linkedin_conversions lists the conversion actions available on the account - search_campaigns_by_names / get_campaign_by_wizard_id to find the campaign - The LinkedIn channel is enabled by create_campaign or add_and_edit_campaign_elements - check_campaign_launch_readiness validates the result before launch
    Connector
    Destructive
    API key
  • Create a new or update an existing LinkedIn Document Ad on the Metadata platform. A LinkedIn Document Ad promotes a multi-page document (a PDF — e.g. a whitepaper, ebook, report, or guide) natively in the LinkedIn feed. Members preview the first few pages inline, then unlock the full document (typically gated behind a lead form). It is LinkedIn-only. IMPORTANT: This tool is ONLY for LinkedIn Document Ads (channelType=LINKEDIN, adType=DOCUMENT). For IMAGE/GIF ads use create_update_image_ad; for VIDEO ads use create_update_video_ad; for CONVO use create_update_convo_ad; for Sponsored Messaging use create_update_linkedin_message_ad. BEHAVIOR: - If `id` is NOT provided -> creates a new Document Ad. - If `id` IS provided -> updates the existing Document Ad with that ID. CREATIVE WORKFLOW (MUST DO BEFORE CALLING): 1. The document must already exist in the creative library as a DOCUMENT asset. Find it with `search_library_creatives_by_name(contentTypes="DOCUMENT")`, or confirm a specific id with `fetch_creative_details`. 2. Pass that asset's integer id as `libraryId`. It MUST be a DOCUMENT-type creative — an image or video id will be rejected by LinkedIn. Unlike IMAGE/VIDEO ads there is NO display URL: the gated document is the destination, so no link field is accepted. CHARACTER LIMITS (mirror the LinkedIn ad limits the platform UI enforces): - name <= 50 chars (ad name in the library) - headline <= 200 chars (the headline shown with the document) - text <= 3000 chars (the introductory text) INPUT PARAMETERS: - id (optional): Existing Document Ad ID. Provide to UPDATE; omit to CREATE. - name (required, <= 50): Ad name in the library. - libraryId (required): Integer id of the DOCUMENT creative in the library (contentType=DOCUMENT). NOT an image/video id. - headline (required, <= 200): Headline shown with the document. - text (required, <= 3000): Introductory text shown with the document. - ctaType (optional, default UNLOCK_FULL_DOCUMENT): the call-to-action. UNLOCK_FULL_DOCUMENT is the document-gate CTA. - maxPreviewPages (optional, default 1): how many pages of the document are previewable before the unlock gate. Positive integer. - completionStatus (optional, default DRAFT): "DRAFT" or "COMPLETED". Use COMPLETED only when every required field is final. WHEN TO USE: - User asks to "create a LinkedIn Document Ad" / "whitepaper ad" / "promote a PDF / ebook / report on LinkedIn". - User wants to update an existing Document Ad. WHEN NOT TO USE: - Feed image / GIF ad -> create_update_image_ad - Feed video ad -> create_update_video_ad - Branching conversation flow -> create_update_convo_ad - One-shot Sponsored Message -> create_update_linkedin_message_ad EXAMPLE USAGE (Create): create_update_document_ad( name="Q3_Whitepaper_LI_Document", libraryId=15791, headline="The 2026 State of B2B Marketing", text="Download our latest research on pipeline attribution.", maxPreviewPages=2, ) EXAMPLE USAGE (Update): create_update_document_ad( id=29144, name="Q3_Whitepaper_LI_Document_v2", libraryId=15791, headline="The 2026 State of B2B Marketing (Updated)", text="Now with fresh benchmarks.", ) COMMON MISTAKES: - Passing an IMAGE/VIDEO libraryId — the asset must be a DOCUMENT (use search_library_creatives_by_name(contentTypes="DOCUMENT")). - Passing a display / landing URL — Document Ads have no link field. - Using this tool for a non-LinkedIn channel — Document Ads are LinkedIn-only.
    Connector
    Destructive
    API key
  • List chats for WhatsApp, Instagram or Telegram, most recently active first; use it to find a chat_id. LinkedIn requires inbox-specific listing. V2 filters: type, before/after (on the chat's last activity), archived and unread; WhatsApp pages by offset, other providers by cursor. For 'messages received between X and Y' call messaging_list_recent_messages, which also reads the messages.
    ConnectorOAuth
  • Creates a Zeekeo LinkedIn campaign: sends a connection invite using invite_template_id, and optionally — if followup_template_id is given — waits for the invite to be accepted, then sends a follow-up message using that template. Create templates first with zeekeo_create_template. Provide exactly one of filter_url (a LinkedIn search results URL) or profile_urls (specific profiles) as the target. This starts REAL LinkedIn automation once the campaign has profiles in it — confirm with the user before calling. Requires the user to have connected their own Zeekeo Launchpad account. Direct them to rankparse.com/dashboard/integrations to connect it.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • LinkedIn: The LinkedIn Data API offers access to detailed information on individuals, companies.

  • LinkedIn data for AI agents: search, profiles, companies, posts. Free key, self-minted, no signup.

  • List the LinkedIn conversion actions (Insight Tag conversions) available on the connected LinkedIn ad account, with id, name, type and whether each is enabled. Use it to pick the ids for update_linkedin_channel_settings.conversion_action_ids (which conversions a campaign optimizes toward and reports on), and to answer "which LinkedIn conversions do we track?" or "is the /pricing page conversion set up?". KEYWORDS: linkedin, conversions, conversion actions, conversion tracking, insight tag, website visit conversion, lead gen form conversion, url conversion, page visit, pixel Requires a connected LinkedIn channel (check get_integrations_status). Conversion actions are created in LinkedIn Campaign Manager, not here: when the one the user needs (for example a URL rule for /pricing) is missing, say so and point them at Campaign Manager instead of inventing an id. RESPONSE: {success, count, conversions:[{id, name, type, enabled, last_received_at}]} `enabled: false` conversions cannot be attached to a campaign (launch validation rejects them). `last_received_at` is when LinkedIn last recorded a hit; null means the conversion has never fired.
    ConnectorAPI key
  • Disconnect a specific advertising channel from the Metadata platform. USAGE INSTRUCTIONS FOR LLM: Use this tool to disconnect/remove integration connections for advertising channels. This is useful when users need to remove a channel integration or reconnect with different credentials. WHEN TO USE THIS TOOL: - User asks to "disconnect [channel name]" - User wants to "remove [channel] integration" - User needs to "unlink [channel] account" - User wants to "revoke [channel] access" - User asks to "disconnect my Facebook/LinkedIn/Twitter/Reddit/Google account" - User needs to "reset [channel] connection" - Preparing to reconnect a channel with different credentials SUPPORTED CHANNELS: - facebook: Disconnect Facebook advertising account - instagram: Disconnect Instagram advertising account - linkedin: Disconnect LinkedIn advertising account - twitter: Disconnect Twitter/X advertising account - reddit: Disconnect Reddit advertising account - google: Disconnect Google Ads account IMPORTANT NOTES: - This action will disconnect the channel immediately - Any active campaigns on this channel may be affected - The user will need to reconnect the channel to resume advertising - Always confirm with the user before disconnecting a channel - Check integration status first using get_integrations_status to verify the channel is connected COMMON SCENARIOS: Scenario 1 - Disconnect single channel: "Disconnect my LinkedIn account" → Call disconnect_channel with channel="linkedin" Scenario 2 - Reconnect workflow: "I want to reconnect Facebook with a different account" → First call disconnect_channel with channel="facebook", then guide user to reconnect Scenario 3 - Remove access: "Remove Google Ads integration" → Call disconnect_channel with channel="google" RESPONSE FORMAT: Returns a success/failure status indicating whether the channel was disconnected successfully. EXAMPLE: "Disconnect Facebook" → disconnect_channel(channel="facebook")
    Connector
    Destructive
    API key
  • Create OR update a LinkedIn CTV (Connected TV) video ad. LinkedIn only. TO UPDATE: include `id`; to CREATE: omit it. CTV ads play on streaming TV inventory through the LinkedIn Audience Network. On the platform they are LinkedIn VIDEO ads with adType=CTV, and they carry rules the campaign must meet: - Campaign type Brand Awareness only (never Lead Gen); the LinkedIn channel launches as objective BRAND_AWARENESS optimized for REACH. - The LinkedIn channel MUST use AUTO_BID (a manual bid fails pre-launch validation); `update_linkedin_channel_settings` sets it. - Audiences and target groups may target the United States and Canada ONLY; any other location fails pre-launch validation. - Video spec, enforced when the creative is uploaded: 6 to 60 seconds, 1920x1080 or 1280x720, at most 500 MB. LinkedIn recommends exactly 15, 30, 45 or 60 seconds for delivery. CREATIVE WORKFLOW: 1. Upload the video via `upload_video_creative` with `usage_type: "CTV"` -> response gives `id` (the videoLibraryId). The platform runs the CTV checks at that step and rejects a non-compliant file. 2. Pass that integer as `creativeID` here. A video uploaded without the CTV usage type is not eligible for a CTV ad. 3. Ann attaches the returned ad id to a Brand Awareness campaign's LinkedIn channel like any other ad. ALSO KNOWN AS: connected tv ad, ctv ad, streaming tv ad, linkedin tv ad, ott ad, tv commercial on linkedin. KEYWORDS: ctv, connected tv, streaming, tv, ott, linkedin ctv, video, brand awareness, reach, audience network, commercial. CLIENT-SIDE VALIDATION (refuses what the platform UI would also reject): - adName: required, max 50 chars, same pattern as the other ad tools. - creativeID: required integer (videoLibraryId). - linkedinDisplayURL: required, ABSOLUTE (http:// or https://), max 2000. - linkedinHeadline: required, max 200. linkedinCTA: required enum. - linkedinText: optional, max 3000. No description field (same DTO as LinkedIn VIDEO ads). COMMON CTA VALUES: same as `create_update_video_ad` on LinkedIn. RESPONSE: same envelope as `create_update_video_ad` (`created_ads[]` with adType "CTV", channelType "LINKEDIN"). See `create_update_video_ad` for in-feed video ads and `create_update_image_ad` for image / GIF ads.
    Connector
    Destructive
    API key
  • Create a new or update an existing LinkedIn Message Ad on the Metadata platform. A LinkedIn Message Ad is a Sponsored Messaging asset: a one-shot direct message delivered to a member's LinkedIn inbox from a specific sender, with a subject line, a body, an optional banner image, and a single call-to-action button. It is NOT a Conversation Ad — there is no branching step graph. Use create_update_convo_ad for multi-step convos. IMPORTANT: This tool is ONLY for LinkedIn Sponsored Messaging (channelType=LINKEDIN, adType=MESSAGE). For IMAGE/GIF ads use create_update_image_ad; for VIDEO ads use create_update_video_ad; for CONVO use create_update_convo_ad; for Google Ads text ads use create_update_google_ads_ad; for DOCUMENT ads use create_update_document_ad. SPOTLIGHT / FOLLOWER are not yet covered by the dedicated tools; LinkedIn CTV (Connected TV) ads use create_update_ctv_ad. BEHAVIOR: - If `id` is NOT provided → creates a new Message Ad. - If `id` IS provided → updates the existing Message Ad with that ID. PREREQUISITES (MUST DO BEFORE CALLING): 1. Call get_linkedin_senders to fetch a valid (senderId, senderName) pair. Message Ads share LinkedIn's sponsored-messaging sender allow-list with Conversation Ads — both pull from the same endpoint. Do NOT invent sender IDs. 2. If using a banner image: upload it via upload_image_creative and pass the returned imageLibraryId as `bannerCreativeLibraryId`. The banner is OPTIONAL — omit the field to skip it. LinkedIn requires an IMAGE creative ≤ 2 MB; oversize banners are rejected upstream. CHARACTER LIMITS (enforced by the platform; mirror the UI validator at metadata-ui-v3/.../li/message/edit/validation.ts): - name ≤ 50 chars (ad name in the library) - headlineText ≤ 60 chars (the message subject line) - messageText ≤ 2000 chars (the message body) - actionText ≤ 20 chars (the CTA button label) PERSONALIZATION MACROS IN messageText: The body supports LinkedIn personalization macros. Pass them verbatim inside `%...%` — the platform substitutes at send time. The validator accepts ONLY these five macros (any other %...% token is rejected): %FIRSTNAME% %LASTNAME% %COMPANYNAME% %JOBTITLE% %INDUSTRY% Do not use `{firstName}` or any other syntax — only `%MACRO%`. USAGE INSTRUCTIONS FOR LLM: Use this tool when users want to: - Create a new LinkedIn Sponsored Message ad - Update an existing Message Ad (subject, body, CTA, sender, or banner) WHEN TO USE: - User asks "create a LinkedIn Message Ad" / "InMail ad" / "Sponsored Messaging ad" - User wants a one-shot LinkedIn DM with subject + body + CTA - User wants to update an existing Message Ad WHEN NOT TO USE: - User wants a branching conversation flow → use create_update_convo_ad - User wants a feed image / GIF ad → use create_update_image_ad - User wants a feed video ad → use create_update_video_ad - User wants a Google Ads text ad → use create_update_google_ads_ad INPUT PARAMETERS: - id (optional): Existing Message Ad ID. Provide to UPDATE; omit to CREATE. - name (required, ≤ 50): Ad name in the library. - senderId (required): LinkedIn sender ID from get_linkedin_senders. - senderName (required): Display name matching senderId. - headlineText (required, ≤ 60): Subject line shown in the inbox. - messageText (required, ≤ 2000): Message body. Supports the five %MACRO% tokens listed above. - actionText (required, ≤ 20): CTA button label. - bannerCreativeLibraryId (optional): imageLibraryId of the banner image. Upload first via upload_image_creative. Omit to skip the banner. - completionStatus (optional, default DRAFT): "DRAFT" or "COMPLETED". Use COMPLETED only when every required field is final. EXAMPLE USAGE (Create): create_update_linkedin_message_ad( name="Q1_Demo_Outreach_LI_Message", senderId="fQdRPtecbv", senderName="Josh Desmarais", headlineText="Quick question about your marketing stack", messageText="Hi %FIRSTNAME%, as a %JOBTITLE% at %COMPANYNAME% you know how hard pipeline attribution is. Want a 15-min walkthrough?", actionText="Book a demo", bannerCreativeLibraryId=482931, ) EXAMPLE USAGE (Update): create_update_linkedin_message_ad( id=29144, name="Q1_Demo_Outreach_LI_Message_v2", senderId="fQdRPtecbv", senderName="Josh Desmarais", headlineText="Following up — quick demo?", messageText="Hi %FIRSTNAME%, circling back…", actionText="Book a demo", ) SUCCESS RESPONSE (mirrors create_update_convo_ad): { "success": true, "id": 29144, "ad_url": "https://platform.metadata.io/hub/library/ads?adId=29144", "name": "Q1_Demo_Outreach_LI_Message", "channelType": "LINKEDIN", "adType": "MESSAGE", "completionStatus": "DRAFT", "request": { "message": { ... } } } COMMON MISTAKES: - Inventing a senderId — IDs MUST come from get_linkedin_senders. - Passing a banner URL instead of an imageLibraryId — upload first. - Using `{firstName}`-style macros — LinkedIn uses `%FIRSTNAME%`. - Using an unsupported macro (anything outside the five listed) — the platform/UI validator rejects it. - Using this tool for a multi-step flow — use create_update_convo_ad.
    Connector
    Destructive
    API key
  • Create a **G2 Intent - LinkedIn Native (Dynamic)** audience (platform `customAudienceType=DYNAMIC_G2`). AUDIENCE TYPE (mirrors the UI's "Audience Type" dropdown): • UI label: "G2 Intent - LinkedIn Native (Dynamic)" • Platform enum: DYNAMIC_G2 • Refreshes daily as G2 intent signals update; targets LinkedIn natively. PREREQUISITE: • Both G2 and LinkedIn integrations MUST be connected. If either is missing, do NOT call this tool — recommend `create_firmographic_audience` instead. WHEN TO USE (exact user phrasing this tool should match): • "G2 Intent - LinkedIn Native (Dynamic)" • "G2 LinkedIn Native Dynamic" • "LinkedIn native G2 intent audience" • The user explicitly mentions BOTH G2 intent AND LinkedIn native targeting. WHEN NOT TO USE: • If the user asked for "G2 Intent (Dynamic)" without "LinkedIn Native" → use `create_g2_intent_dynamic_audience`. • If the user asked for "G2 Intent (Static)" → use `create_g2_intent_static_audience`. BUYING STAGES — REQUIRED BY THE PLATFORM: The platform UI marks Buying Stages as required. If the user did not name any stages, STOP and ask the user which of AWARENESS / CONSIDERATION / DECISION to target. DO NOT silently default — that produced wrong audiences in PRD-29702 / PRD-29703. CRITERIA (LinkedIn-native shapes; free-text fields are resolved server-side via the LinkedIn references API): • employees — LinkedIn-native employee ranges. Valid labels: see the schema (e.g. "201-500", "501-1000", "1001-5000"). • revenues — LinkedIn-native revenue ranges (e.g. "$1M-$10M", "$10M-$100M"). • company_names — free-text company names (resolved to LinkedIn company IDs). • location_country_ids — country IDs (e.g. 229=US, 228=UK). • job_titles — free-text titles (resolved to LinkedIn job-title IDs). • skills — free-text professional skills (resolved to LinkedIn skill IDs). PARAMETERS: • name (required, ≤ 50 chars) • intent_days (required, 1-365) • buying_stages (REQUIRED by platform — ask the user if missing; do NOT default) • employees, revenues, company_names, location_country_ids, job_titles, skills (all optional) RETURNS: id, audience_id, audience_name, audience_type (DYNAMIC_G2), status, buying_stages, intent_days, expectedNumberOfCompanies, expectedNumberOfContacts.
    ConnectorAPI key
  • Get full details of a LinkedIn job posting, including the hiring team — the recruiter or hiring manager who posted it. Use this after search_job_postings to find the exact person to reach out to at a company that is hiring. Also returns applicant and view counts, which indicate how urgently the role needs filling. Uses the connected LinkedIn account (Classic, no Recruiter needed). Capped at 4 calls per minute; do not loop over every job result.
    ConnectorAPI key
  • FREE, no AI. Carve ONE multi-state clip into separate game-phase animations by frame windows — the classic case is a jump becoming crouch/rise/fall/land, with fall looping while airborne and the rest playing once. Each phase becomes a real exportable animation; the source animation is untouched. Jump-family animations often carry a ready-made suggestion: get_character → animations[<anim>].phaseProposal — pass its phases through verbatim. Frame windows index the FULL capture. Returns { jobId, created } — poll get_job.
    ConnectorNo auth
  • List the user's Zeekeo Launchpad campaigns (LinkedIn automation). Use this to find a campaign_id for zeekeo_send_message, or call zeekeo_create_campaign to make a new one. Requires the user to have connected their own Zeekeo Launchpad account. Direct them to rankparse.com/dashboard/integrations to connect it.
    ConnectorNo auth
  • Create a contact and CRM lead without a LinkedIn profile — e.g. a person or e-mail the user found elsewhere. full_name is required; email, phone, company, position, website and notes are optional. Deduplicates by e-mail (an existing contact only gets empty fields filled). Links to crm_company_id when given, otherwise to a CRM company matched by the company name. Such contacts work for CRM, tasks and send_email; LinkedIn campaigns need a LinkedIn profile (use upsert_linkedin_contact). The user is responsible for having a lawful basis to store and contact the person.
    ConnectorAPI key
  • Find and verify the professional (work) email of a person you can name: give their first name, last name and the company they work at (its domain, such as acme.com, matches best; a company name also works). Returns the address with a confidence label (Verified or Likely) and their LinkedIn profile when it can be matched. Spends 2 credits, refunded automatically if no email is found. People who asked to be removed from PeopleSearch.im are never looked up. To find people you cannot name yet, use people_search or find_people, then fetch_email.
    ConnectorNo auth
  • Find the LinkedIn id for a name — LinkedIn search and post audience filters take ids, not text. Pick the type (LOCATION, REGION, PEOPLE, CONNECTIONS, COMPANY, SCHOOL, INDUSTRY, SERVICE, JOB_FUNCTION, …) and give keywords; returns matching { id, title } pairs. service selects whose list it is: CLASSIC (default), SALES_NAVIGATOR or RECRUITER — some types exist only on one of them (e.g. LEAD_LISTS and SAVED_SEARCHES on Sales Navigator, HIRING_PROJECTS on Recruiter). Counts against a daily allowance (100 a day).
    ConnectorOAuth
  • Find the right ToolRouter tool for your task. Describe what you need in plain language. Examples: "analyze a website", "research competitors", "find prospect companies", "check DNS records". Exact tool name (e.g. "seo") returns full schemas and examples. Flow: prefer route({ intent }) to pick and run a tool. Use discover when you need schemas or a listing, then call use_tool(tool, skill, input). Every discover response also includes a top-level `connectors` array listing SaaS accounts the user has already connected (LinkedIn, Google, Notion, etc.). Use that to pick the right tool and account without asking — e.g. if `connectors` shows LinkedIn, the linkedin-post tool is ready to use. Categories: data, media, search, marketing, development, communication, analytics, productivity, ai, finance, security, infrastructure
    ConnectorNo auth
  • List messages in a LinkedIn conversation via Voyager ``/messaging/conversations/{id}/events`` (Kanbox ``get_conversation_messages``), with optional created_before paging — same as GET /api/linkedin/{account_id}/conversations/{conversation_linkedin_id}/messages. Do not call this in a loop to wait for replies: the same read is refused if repeated within 60s, inbox reads are capped at 300 per account per day, and polling gets LinkedIn accounts restricted. Subscribe a webhook to message.received instead. Use after list_conversations to read a thread before replying; the conversation_linkedin_id comes from list_conversations.
    ConnectorAPI key
  • <summary>Find a LinkedIn profile URL for a person given their email, using Apollo.io. The reverse of `find_email` — useful when you have an email but need the LinkedIn identifier: for mixed-channel outreach where a later LinkedIn step should dedup against the email step, or to supply the URL that `find_phone_number` requires when a record has an email but no LinkedIn URL. For email outreach where the agent might later add LinkedIn touches, prefer `setup_email_sequence(enrich=True)` over calling this tool separately — enrich folds the lookup into the queue boundary so the resulting tracking row carries both identifiers. Costs 1 Sliq credit per verified hit. Free when the user has connected their own Apollo key.</summary> <returns> <description>Dict with `success`, `linkedin_url`, and person fields when verified; `{success: False, error: ...}` when Apollo returns no match; a 429 throttle adds `rate_limited: True` (transient — retry later, not a permanent miss).</description> </returns>
    ConnectorOAuth
  • Search LinkedIn posts by keywords, like the Posts tab of LinkedIn search: who is talking about a topic right now. Returns about 10 posts per page with the text, the engagement and the author (name, headline, member id, relationship degree). Keywords take LinkedIn's syntax: "exact phrase", OR, AND, NOT. Filter by recency, author job title, author company or industry, and content type; paginate with start (0, 10, 20…). Use to find who is posting about a topic (buying signals, hiring, pain points, competitors) and reach the authors; then scrape_post on a result for the people who engaged, scrape_profile on an author to qualify, send_invitation with author_linkedin_id. One LinkedIn call per page of ~10 posts; keep to a few pages. Read-only.
    ConnectorAPI key