Skip to main content
Glama
bcharleson

Instantly MCP Server

update_account

Modify email account settings for email outreach campaigns, including display names, warmup configurations, daily sending limits, and tracking domains.

Instructions

Update account settings (partial update).

Common updates:

  • first_name, last_name: Display name

  • warmup: Warmup configuration (limit, advanced settings)

  • daily_limit: Max emails per day (1-100)

  • sending_gap: Minutes between emails (0-1440)

  • tracking_domain_name: Custom tracking domain

Only include fields you want to update.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Implementation Reference

  • Core handler function implementing the update_account tool logic. Constructs a partial update body from input parameters and sends a PATCH request to the accounts API endpoint.
    async def update_account(params: UpdateAccountInput) -> str:
        """
        Update account settings (partial update).
        
        Common updates:
        - first_name, last_name: Display name
        - warmup: Warmup configuration (limit, advanced settings)
        - daily_limit: Max emails per day (1-100)
        - sending_gap: Minutes between emails (0-1440)
        - tracking_domain_name: Custom tracking domain
        
        Only include fields you want to update.
        """
        client = get_client()
        email_encoded = quote(params.email, safe="")
        
        body = {}
        if params.first_name is not None:
            body["first_name"] = params.first_name
        if params.last_name is not None:
            body["last_name"] = params.last_name
        if params.warmup is not None:
            warmup_dict = params.warmup.model_dump(exclude_none=True)
            if warmup_dict:
                body["warmup"] = warmup_dict
        if params.daily_limit is not None:
            body["daily_limit"] = params.daily_limit
        if params.sending_gap is not None:
            body["sending_gap"] = params.sending_gap
        if params.enable_slow_ramp is not None:
            body["enable_slow_ramp"] = params.enable_slow_ramp
        if params.tracking_domain_name is not None:
            body["tracking_domain_name"] = params.tracking_domain_name
        if params.tracking_domain_status is not None:
            body["tracking_domain_status"] = params.tracking_domain_status
        if params.skip_cname_check is not None:
            body["skip_cname_check"] = params.skip_cname_check
        if params.remove_tracking_domain is not None:
            body["remove_tracking_domain"] = params.remove_tracking_domain
        if params.inbox_placement_test_limit is not None:
            body["inbox_placement_test_limit"] = params.inbox_placement_test_limit
        
        result = await client.patch(f"/accounts/{email_encoded}", json=body)
        return json.dumps(result, indent=2)
  • Pydantic BaseModel defining the input schema and validation for the update_account tool parameters.
    class UpdateAccountInput(BaseModel):
        """Input for updating account settings (partial update)."""
        
        model_config = ConfigDict(str_strip_whitespace=True, extra="ignore")
        
        email: str = Field(..., description="Account to update")
        first_name: Optional[str] = Field(default=None)
        last_name: Optional[str] = Field(default=None)
        warmup: Optional[WarmupSettings] = Field(default=None, description="Warmup configuration")
        daily_limit: Optional[int] = Field(default=None, ge=1, le=100, description="Daily send limit")
        sending_gap: Optional[int] = Field(
            default=None, ge=0, le=1440,
            description="Minutes between emails (0-1440)"
        )
        enable_slow_ramp: Optional[bool] = Field(default=None)
        tracking_domain_name: Optional[str] = Field(default=None)
        tracking_domain_status: Optional[str] = Field(default=None)
        skip_cname_check: Optional[bool] = Field(default=None)
        remove_tracking_domain: Optional[bool] = Field(default=None)
        inbox_placement_test_limit: Optional[int] = Field(default=None)
  • Registration of the update_account tool as part of the ACCOUNT_TOOLS list, which is used by the server to dynamically register all account-related tools.
    ACCOUNT_TOOLS = [
        list_accounts,
        get_account,
        create_account,
        update_account,
        manage_account_state,
        delete_account,
    ]
  • MCP annotations for update_account tool registration, specifying destructiveHint: False, applied during server tool registration.
    # Account tools
    "list_accounts": {"readOnlyHint": True},
    "get_account": {"readOnlyHint": True},
    "create_account": {"destructiveHint": False},
    "update_account": {"destructiveHint": False},
    "manage_account_state": {"destructiveHint": False},
    "delete_account": {"destructiveHint": True, "confirmationRequiredHint": 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