Skip to main content
Glama

update_campaign

Modify unsent email campaign details like subject, content, sender, or target segment to adjust messaging before distribution.

Instructions

Update an existing campaign (only unsent campaigns can be updated).

Args: campaign_id: The campaign ID (e.g. "mc_12345"). subject: New subject line (optional). text_body: New body content (optional). sender_id: New sender ID (optional). segment_id: New segment ID (optional). preview_text: New preview text (optional).

Returns: The updated campaign record.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
campaign_idYes
subjectNo
text_bodyNo
sender_idNo
segment_idNo
preview_textNo

Implementation Reference

  • The MCP tool handler for update_campaign. It wraps the client method.
    @mcp.tool()
    def update_campaign(campaign_id: str, subject: str | None = None, text_body: str | None = None,
                        sender_id: str | None = None, segment_id: str | None = None,
                        preview_text: str | None = None) -> dict:
        """
        Update an existing campaign (only unsent campaigns can be updated).
    
        Args:
            campaign_id: The campaign ID (e.g. "mc_12345").
            subject: New subject line (optional).
            text_body: New body content (optional).
            sender_id: New sender ID (optional).
            segment_id: New segment ID (optional).
            preview_text: New preview text (optional).
    
        Returns:
            The updated campaign record.
        """
        return _client.update_campaign(campaign_id, subject=subject, text_body=text_body,
                                       sender_id=sender_id, segment_id=segment_id, preview_text=preview_text)
  • The underlying KeilaClient method that performs the API call to update the campaign.
    def update_campaign(self, campaign_id: str, subject: str | None = None, text_body: str | None = None,
                        sender_id: str | None = None, segment_id: str | None = None,
                        preview_text: str | None = None) -> dict:
        """Update an existing campaign."""
        campaign_data = {}
        if subject:
            campaign_data["subject"] = subject
        if text_body:
            campaign_data["text_body"] = text_body
        if sender_id:
            campaign_data["sender_id"] = sender_id
        if segment_id:
            campaign_data["segment_id"] = segment_id
        if preview_text is not None:
            campaign_data["preview_text"] = preview_text
        resp = self.session.patch(f"{self.url}/api/v1/campaigns/{campaign_id}", json={"data": campaign_data},
                                 headers=self._headers(), timeout=30)
        resp.raise_for_status()
        return resp.json()

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/gwbischof/keila-mcp'

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