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
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
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)
- src/instantly_mcp/tools/accounts.py:223-230 (registration)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, ]
- src/instantly_mcp/server.py:68-74 (registration)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},