Skip to main content
Glama
bcharleson

Instantly MCP Server

search_campaigns_by_contact

Find all email outreach campaigns a specific contact is enrolled in to check for existing participation, identify duplicate enrollments, and audit campaign membership.

Instructions

Find all campaigns that a specific contact/lead is part of.

Useful for:

  • Checking if a lead is already in any campaigns

  • Finding duplicate enrollments

  • Auditing lead campaign membership

Returns list of campaigns the contact email is enrolled in.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Implementation Reference

  • Handler function that executes the tool: queries Instantly API endpoint /campaigns/search-by-contact with contact_email and returns JSON results.
    async def search_campaigns_by_contact(params: SearchCampaignsByContactInput) -> str:
        """
        Find all campaigns that a specific contact/lead is part of.
    
        Useful for:
        - Checking if a lead is already in any campaigns
        - Finding duplicate enrollments
        - Auditing lead campaign membership
    
        Returns list of campaigns the contact email is enrolled in.
        """
        client = get_client()
    
        query_params = {"contact_email": params.contact_email}
    
        result = await client.get("/campaigns/search-by-contact", params=query_params)
        return json.dumps(result, indent=2)
  • Pydantic input schema defining the required contact_email parameter with validation and description.
    class SearchCampaignsByContactInput(BaseModel):
        """
        Input for searching campaigns by contact email.
    
        Finds all campaigns a specific lead/contact is enrolled in.
        """
    
        model_config = ConfigDict(str_strip_whitespace=True, extra="ignore")
    
        contact_email: str = Field(..., description="Email address of the contact to search for")
  • Registration: Tool function added to CAMPAIGN_TOOLS list, which is used by get_all_tools() for server registration.
    # Export all campaign tools
    CAMPAIGN_TOOLS = [
        create_campaign,
        list_campaigns,
        get_campaign,
        update_campaign,
        activate_campaign,
        pause_campaign,
        delete_campaign,
        search_campaigns_by_contact,
    ]
  • MCP annotation registration: Specifies readOnlyHint=True for the tool in TOOL_ANNOTATIONS dict used during mcp.tool() calls.
    "search_campaigns_by_contact": {"readOnlyHint": True},

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bcharleson/instantly-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server