# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for AppConnect V3 Email Campaigns API version: 1.0.0 extends: openapi/constant-contact-email-campaigns-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 11 - target: $.paths['/emails'].get update: x-apievangelist-phrasing: intent: List email campaigns effect: read questions: - Which email campaigns have I created? - Can I list only campaigns created within a date range? instructions: - text: List all my email campaigns. - text: List email campaigns created between {after_date} and {before_date}. slots: after_date: query.after_date before_date: query.before_date method: generated generated: '2026-10-01' - target: $.paths['/emails'].post update: x-apievangelist-phrasing: intent: Create a new email campaign effect: write questions: - How do I create an email campaign with custom HTML? - What does a new email campaign need besides a name? instructions: - text: Create an email campaign named {name} with activity {email_campaign_activities}. slots: name: requestBody.name email_campaign_activities: requestBody.email_campaign_activities - text: Draft a new email campaign {name} using {email_campaign_activities}. slots: name: requestBody.name email_campaign_activities: requestBody.email_campaign_activities method: generated generated: '2026-10-01' - target: $.paths['/emails/{campaign_id}'].get update: x-apievangelist-phrasing: intent: Get one email campaign effect: read questions: - What's the status of a specific email campaign? - Can I find the activity IDs that belong to a campaign? instructions: - text: Show email campaign {campaign_id}. slots: campaign_id: path.campaign_id - text: Get the status and activities of campaign {campaign_id}. slots: campaign_id: path.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/emails/{campaign_id}'].delete update: x-apievangelist-phrasing: intent: Delete an email campaign effect: destructive questions: - Can I delete a campaign that's already scheduled? - Is a deleted email campaign gone for good? instructions: - text: Delete email campaign {campaign_id}. slots: campaign_id: path.campaign_id - text: Remove campaign {campaign_id} and its activities. slots: campaign_id: path.campaign_id method: generated generated: '2026-10-01' - target: $.paths['/emails/{campaign_id}'].patch update: x-apievangelist-phrasing: intent: Rename an email campaign effect: write questions: - Can I rename an email campaign without touching its content? - How long can an email campaign name be? instructions: - text: Rename email campaign {campaign_id} to {name}. slots: campaign_id: path.campaign_id name: requestBody.name - text: Change campaign {campaign_id}'s internal name to {name}. slots: campaign_id: path.campaign_id name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/emails/campaign_id_xrefs'].get update: x-apievangelist-phrasing: intent: Map old V2 campaign IDs to V3 IDs effect: read questions: - I stored email campaign IDs from the V2 API — what are the V3 identifiers? - Can I migrate legacy email campaign references to the new format? instructions: - text: Translate V2 email campaign IDs {v2_email_campaign_ids} to V3. slots: v2_email_campaign_ids: query.v2_email_campaign_ids - text: Get V3 campaign and activity IDs for legacy campaigns {v2_email_campaign_ids}. slots: v2_email_campaign_ids: query.v2_email_campaign_ids method: generated generated: '2026-10-01' - target: $.paths['/emails/activities/{campaign_activity_id}'].get update: x-apievangelist-phrasing: intent: Get an email campaign activity's content effect: read questions: - Where can I see the HTML content and subject of an email campaign activity? - Which contact lists or segments is an email activity sending to? instructions: - text: Show email campaign activity {campaign_activity_id}. slots: campaign_activity_id: path.campaign_activity_id - text: Get activity {campaign_activity_id} including {include}. slots: campaign_activity_id: path.campaign_activity_id include: query.include method: generated generated: '2026-10-01' - target: $.paths['/emails/activities/{campaign_activity_id}'].put update: x-apievangelist-phrasing: intent: Edit an email's content and sender details effect: write questions: - Can I change the subject line or from name of an email I haven't sent? - What fields are required when updating an email campaign activity? instructions: - text: Set the subject of activity {campaign_activity_id} to {subject} from {from_name} <{from_email}>, reply to {reply_to_email}. slots: campaign_activity_id: path.campaign_activity_id subject: requestBody.subject from_name: requestBody.from_name from_email: requestBody.from_email reply_to_email: requestBody.reply_to_email - text: Send activity {campaign_activity_id} to lists {contact_list_ids}, keeping subject {subject}, sender {from_name} {from_email}, reply-to {reply_to_email}. slots: campaign_activity_id: path.campaign_activity_id contact_list_ids: requestBody.contact_list_ids subject: requestBody.subject from_name: requestBody.from_name from_email: requestBody.from_email reply_to_email: requestBody.reply_to_email method: generated generated: '2026-10-01' - target: $.paths['/emails/activities/{campaign_activity_id}/non_opener_resends'].get update: x-apievangelist-phrasing: intent: Get the resend-to-non-openers settings effect: read questions: - Is there already a resend to non-openers set up for this email? - When will my resend to people who didn't open go out? instructions: - text: Show the resend to non-openers for {campaign_activity_id}. slots: campaign_activity_id: path.campaign_activity_id - text: Check whether activity {campaign_activity_id} has a non-opener resend. slots: campaign_activity_id: path.campaign_activity_id method: generated generated: '2026-10-01' - target: $.paths['/emails/activities/{campaign_activity_id}/non_opener_resends'].post update: x-apievangelist-phrasing: intent: Resend an email to contacts who didn't open effect: write questions: - Can I automatically resend an email to people who didn't open it? - How many days later can a resend to non-openers go out? instructions: - text: Resend {campaign_activity_id} to non-openers with subject {resend_subject}. slots: campaign_activity_id: path.campaign_activity_id resend_subject: requestBody.resend_subject - text: Resend {campaign_activity_id} to non-openers {delay_days} days later as {resend_subject}. slots: campaign_activity_id: path.campaign_activity_id delay_days: requestBody.delay_days resend_subject: requestBody.resend_subject method: generated generated: '2026-10-01' - target: $.paths['/emails/activities/{campaign_activity_id}/non_opener_resends/{resend_request_id}'].delete update: x-apievangelist-phrasing: intent: Cancel a resend to non-openers effect: destructive questions: - Can I cancel a scheduled resend to non-openers? - Is it possible to unschedule the follow-up for people who didn't open? instructions: - text: Cancel resend {resend_request_id} for activity {campaign_activity_id}. slots: campaign_activity_id: path.campaign_activity_id resend_request_id: path.resend_request_id - text: Unschedule non-opener resend {resend_request_id} on {campaign_activity_id}. slots: campaign_activity_id: path.campaign_activity_id resend_request_id: path.resend_request_id method: generated generated: '2026-10-01'