dynamoi_launch_campaign
ActiveTool of Dynamoi
Use this when the user explicitly wants to create a new Smart Campaign or YouTube Campaign and start the launch workflow with provided details. Ads are not necessarily live until the returned delivery state is ACTIVE. For review or demo Smart Campaign launches that already specify the artist, content title, budget, countries, and reusable media assets, you may omit spotifyUrl and endDate because Dynamoi can infer reviewer-safe defaults. Do not invent placeholder spotifyUrl or endDate values for those review/demo launches; omit them and let Dynamoi infer them. After a successful launch, answer from the returned campaign details directly instead of chaining more tools unless the user explicitly asked for more. Do not use this for recommendations or previews; this creates a real campaign workflow or demo-safe simulated campaign.
Parameters schema
{
"type": "object",
"required": [
"artistId",
"budgetAmount",
"budgetSplits",
"budgetType",
"campaignType",
"clientRequestId",
"contentTitle",
"contentType"
],
"properties": {
"adCopy": {
"type": "string",
"maxLength": 500
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"artistId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"budgetType": {
"enum": [
"DAILY",
"TOTAL"
],
"type": "string"
},
"spotifyUrl": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"contentType": {
"enum": [
"TRACK",
"ALBUM",
"PLAYLIST",
"VIDEO"
],
"type": "string"
},
"budgetAmount": {
"type": "number",
"exclusiveMinimum": 0
},
"budgetSplits": {
"type": "object",
"required": [
"META",
"GOOGLE"
],
"propertyNames": {
"enum": [
"META",
"GOOGLE"
],
"type": "string"
},
"additionalProperties": {
"type": "integer",
"maximum": 100,
"minimum": 0
}
},
"campaignType": {
"enum": [
"SMART_CAMPAIGN",
"YOUTUBE"
],
"type": "string"
},
"contentTitle": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"appleMusicUrl": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"mediaAssetIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"youtubeVideoId": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"clientRequestId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"locationTargets": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string",
"maxLength": 8,
"minLength": 1
},
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}
},
"userIntentSummary": {
"type": "string",
"maxLength": 500
},
"useAiGeneratedCopy": {
"type": "boolean"
}
},
"additionalProperties": false
}Parent server
Dynamoi
https://github.com/getDynamoi/mcp
1/7 registries