Skip to content

Campaign ​

The Campaign resource lets you manage AWS ConnectCampaignsV2 Campaigns for running and managing outreach campaigns in Amazon Connect.

Minimal Example ​

Create a basic campaign with required properties and one optional property.

ts
import AWS from "alchemy/aws/control";

const campaign = await AWS.ConnectCampaignsV2.Campaign("basicCampaign", {
  name: "Customer Outreach Campaign",
  connectInstanceId: "arn:aws:connect:us-east-1:123456789012:instance/abcdefgh-ijkl-mnop-qrst-uvwxyz123456",
  channelSubtypeConfig: {
    sms: {
      senderId: "MySenderId"
    }
  }
});

Advanced Configuration ​

Configure a campaign with communication limits and a specific schedule.

ts
const advancedCampaign = await AWS.ConnectCampaignsV2.Campaign("advancedCampaign", {
  name: "Sales Follow-Up Campaign",
  connectInstanceId: "arn:aws:connect:us-east-1:123456789012:instance/abcdefgh-ijkl-mnop-qrst-uvwxyz123456",
  channelSubtypeConfig: {
    sms: {
      senderId: "SalesDept"
    },
    voice: {
      callerId: "9876543210"
    }
  },
  communicationLimitsOverride: {
    maxAttempts: 5,
    limitsPerHour: {
      sms: 100,
      voice: 50
    }
  },
  schedule: {
    startTime: "2023-10-01T09:00:00Z",
    endTime: "2023-10-31T17:00:00Z"
  }
});

Tagging for Organization ​

Create a campaign with tags for better resource management.

ts
const taggedCampaign = await AWS.ConnectCampaignsV2.Campaign("taggedCampaign", {
  name: "Feedback Collection Campaign",
  connectInstanceId: "arn:aws:connect:us-east-1:123456789012:instance/abcdefgh-ijkl-mnop-qrst-uvwxyz123456",
  channelSubtypeConfig: {
    email: {
      from: "feedback@example.com"
    }
  },
  tags: [
    { key: "Project", value: "User Feedback" },
    { key: "Department", value: "Customer Service" }
  ]
});

Communication Time Configuration ​

Set up a campaign with specific communication times and limits.

ts
const timeConfiguredCampaign = await AWS.ConnectCampaignsV2.Campaign("timeConfiguredCampaign", {
  name: "Annual Review Campaign",
  connectInstanceId: "arn:aws:connect:us-east-1:123456789012:instance/abcdefgh-ijkl-mnop-qrst-uvwxyz123456",
  channelSubtypeConfig: {
    voice: {
      callerId: "1234567890"
    }
  },
  communicationTimeConfig: {
    timeZone: "America/New_York",
    startTime: "2023-10-01T08:00:00",
    endTime: "2023-10-31T20:00:00"
  },
  communicationLimitsOverride: {
    maxAttempts: 3,
    limitsPerHour: {
      voice: 20,
      email: 50
    }
  }
});