---
title: "Microsoft Advertising Campaign Management Integration"
description: "Manage Microsoft Advertising campaigns from AI agents through the Campaign Management v13 SOAP service. Agents create and update campaigns in bulk, list ad groups, and reach any other v13 operation via a raw SOAP escape hatch."
url: https://flowrunner.ai/integrations/microsoft-ad-campaign-mgmt
date_modified: 2026-08-01T02:40:32-07:00
---

# Microsoft Advertising Campaign Management

[Advertising](https://flowrunner.ai/integrations/category/marketing-social)

Manage Microsoft Advertising campaigns from AI agents through the Campaign Management v13 SOAP service. Agents create and update campaigns in bulk, list ad groups, and reach any other v13 operation via a raw SOAP escape hatch.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 5 actions · OAuth · available

[Microsoft Advertising Campaign Management website](https://ads.microsoft.com/) · [Platform Documentation](https://learn.microsoft.com/advertising/campaign-management-service/) · Capability data verified 2026-07-28

1.  Marketing finalizes the quarterly campaign plan in a shared spreadsheet
2.  The agent reads the planned campaigns: names, budget types, daily budgets
3.  Get Campaigns By Account Id pulls the existing campaign set to catch name collisions and structural drift
4.  The campaign manager reviews the creation batch, total daily budget committed, and the diff against what already exists
5.  Add Campaigns creates the approved campaigns, up to 100 per call
6.  The agent parses the AddCampaignsResponse for CampaignIds and NestedPartialErrors, retrying nothing silently
7.  The marketing channel gets the new campaign IDs and any partial failures with their error details

## What This Integration Enables

Microsoft Advertising is the channel teams under-manage, not because it underperforms but because the tooling friction is real: a SOAP API, a developer token, and XML request bodies keep it off the automation roadmap. This connector absorbs that friction. FlowRunner agents authenticate through OAuth, the extension wraps every call in the correct v13 envelope with the AuthenticationToken, DeveloperToken, CustomerId, and CustomerAccountId headers, and campaign operations become workflow steps.

-   Create Search, Shopping, Dynamic Search Ads, Audience, or Performance Max campaigns in bulk, up to 100 per call
-   Audit an account's campaigns and drill into each campaign's ad groups, statuses, and bid settings
-   Rename campaigns and adjust budget types and daily budgets by numeric Id
-   Reach any Campaign Management v13 operation, GetBudgetsByIds, AddAdGroups, DeleteCampaigns, through Call SOAP Operation with a hand-built body

The raw XML responses are a feature, not an omission: every action returns exactly what the API said, including the partial-error structures that batch operations produce, so agents parse NestedPartialErrors instead of assuming a 200 meant a hundred successes. In an advertising API, knowing precisely which three campaigns of a hundred failed is the difference between a clean retry and a budget mess.

Every write here moves real ad spend, which is why FlowRunner's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gate sits between the computed change and the account.

### Without FlowRunner

**The neglected second channel**: Microsoft Advertising exists in the media plan but gets updated weeks after Google, by hand

**Budget changes one screen at a time**: Adjusting daily budgets across 40 campaigns means 40 trips through the UI

**SOAP as a wall**: The v13 API is powerful and almost nobody wants to hand-build envelopes to use it

### With FlowRunner

**Cross-platform parity on a schedule**: Campaign structure mirrors from the plan, and drift between platforms surfaces as a diff

**Bulk changes with a reviewed total**: Budget updates apply across the account in one call, after a person sees the spend delta

**SOAP handled, escape hatch kept**: The envelope, auth headers, and tokens are built for you; Call SOAP Operation reaches everything else

## Use Case Scenarios

### The campaign plan ships to both platforms

The team plans in [Google Sheets](https://flowrunner.ai/integrations/google-sheets). The agent reads the planned rows, checks Get Campaigns By Account Id for existing names, and stages an Add Campaigns batch with each campaign's name, budget type, and daily budget. The campaign manager approves the batch and its total committed daily spend, the call runs, and the agent parses the returned CampaignIds back into the sheet. Microsoft Advertising stops shipping two weeks behind the plan.

### Structure parity with Google Ads

On a schedule, the agent pulls campaigns from [Google Ads](https://flowrunner.ai/integrations/google-ads) and from Get Campaigns By Account Id, then compares. Campaigns that exist on one platform but not the other, or whose budgets have drifted apart, land in a parity report posted to [Slack](https://flowrunner.ai/integrations/slack). When the team wants the gap closed, the agent stages the Add Campaigns or Update Campaigns calls for approval. Parity becomes a maintained property instead of an annual cleanup.

### The weekly structure audit nobody has to run

Every Monday the agent walks the account: Get Campaigns By Account Id with all campaign types selected, then Get Ad Groups By Campaign Id per campaign, logging names, statuses, and bid settings to a tracking sheet. Paused ad groups inside active campaigns, campaigns with anomalous budgets, and structural changes since last week get called out in the digest. When something needs a deeper look, the agent uses Call SOAP Operation to fetch what the dedicated actions do not cover, like budget details via GetBudgetsByIds.

## Human-in-Loop Highlight

Update Campaigns changes daily budgets on live campaigns, and a budget is not a setting, it is a rate of spend: get one wrong by a decimal place across a 40-campaign bulk update and the account burns real money at the wrong rate until someone notices. Call SOAP Operation raises the stakes further, because it reaches operations like DeleteCampaigns that remove campaign structure outright. So FlowRunner agents in this connector never apply a computed change directly. The agent builds the batch, prices the delta, current daily budget versus proposed, summed across the account, and posts it to the campaign manager as a single reviewable diff. Approval releases the call; the agent then parses the SOAP response for PartialErrors instead of assuming success. The math and the XML belong to the agent. The spend rate belongs to a person.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

5 actions

### Campaigns

3

-   **Get Campaigns By Account Id** Retrieves the campaigns in an ad account, returning Search campaigns by default and Shopping, Dynamic Search Ads, Audience, or Performance Max when those Campaign Types are selected. Returns the raw SOAP XML response for downstream parsing. Falls back to the configured Account ID when none is provided.
-   **Add Campaigns** Creates up to 100 campaigns per call, each with a name, budget type, and daily budget. Returns the raw AddCampaignsResponse with new CampaignIds and any NestedPartialErrors, so agents can confirm exactly what was created.
-   **Update Campaigns** Updates existing campaigns by numeric Id, changing only the fields supplied: name, budget type, daily budget. For campaign-type-specific fields, complex updates go through Call SOAP Operation instead. The budget-moving write this page's approval gate governs.

### Ad Groups

1

-   **Get Ad Groups By Campaign Id** Retrieves the ad groups within a campaign, including each ad group's Id, name, status, and bid settings, as raw SOAP XML. The drill-down step in structure audits.

### Advanced

1

-   **Call SOAP Operation** Invokes any Campaign Management v13 operation by name with a hand-built inner request-body XML. The extension wraps it in the authenticated envelope and returns the raw response. The reliable path for everything beyond the basics, and the reason no v13 capability is out of reach.

## Frequently Asked Questions

### What can FlowRunner do with Microsoft Advertising Campaign Management?

FlowRunner agents can run Get Campaigns By Account Id, Add Campaigns, and Update Campaigns in Microsoft Advertising Campaign Management, plus 2 more actions.

### Does connecting Microsoft Advertising Campaign Management to FlowRunner require OAuth?

Yes. Microsoft Advertising Campaign Management connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

### Can Microsoft Advertising Campaign Management trigger a FlowRunner workflow automatically?

Microsoft Advertising Campaign Management doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Microsoft Advertising Campaign Management?** This integration exposes Microsoft Advertising Campaign Management to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/microsoft-ad-campaign-mgmt. Site index: https://flowrunner.ai/llms.txt
