create_marketing_automation_contacts_audience
Create a Marketing-Automation-contacts custom audience (platform customAudienceType MA_CONTACTS_STATIC or MA_CONTACTS_DYNAMIC) from a provider library list.
Writes audiences
Creates or changes something in the account. Put it behind whatever review your agent uses.
What it does
Create a Marketing-Automation-contacts custom audience (platform customAudienceType MA_CONTACTS_STATIC or MA_CONTACTS_DYNAMIC) from a provider library list.
This is one of the audience types eligible for Microsoft Ads (Customer Match). Use it when a user wants a Marketing-Automation-sourced contacts audience, including for a Microsoft Ads campaign.
PREREQUISITE:
• The provider (HUBSPOT or MARKETO) MUST be connected — the platform validates this and returns a clear error if not.
• A library_list_id from list_marketing_automation_lists — do NOT invent one. For HubSpot the list must be DONE; for Marketo READY.
VARIANT (mirrors the UI's static/dynamic choice):
• STATIC → MA_CONTACTS_STATIC — snapshot at creation, does not refresh.
• DYNAMIC → MA_CONTACTS_DYNAMIC — refreshes as the provider data changes.
• If the user did not say which, ASK — do NOT default and do NOT infer it from the source list's type. A HubSpot STATIC_LIST is not the same choice as a STATIC (snapshot) audience; the audience variant is the user's call, independent of the list's type.
ASYNC: the platform creates the audience in the background and returns a flow id, NOT a ready audience id. The audience appears under the account's Marketing-Automation audiences once the flow completes, and its contact count fills in then. Do not expect to associate it to a campaign in the same turn.
PARAMETERS:
• custom_audience_name (required): the audience display name — must NOT contain '/'.
• library_list_id (required): id from list_marketing_automation_lists.
• provider (required): HUBSPOT or MARKETO.
• variant (required): STATIC or DYNAMIC.
• list_name (optional): the source list's own name (from the lookup), forwarded to the flow.
RETURNS: { id, name, status, createdDate, audience_type, async: true } — `audience_type` is the MA_CONTACTS_* you created and `id` is a creation/flow id, not associable yet.Arguments
| Argument | Type | Notes | |
|---|---|---|---|
custom_audience_name |
string | required | Audience display name. Must not contain '/'. |
library_list_id |
integer | required | The library list id from list_marketing_automation_lists. |
provider |
string | required | The Marketing-Automation provider that owns the list. one of: HUBSPOT, MARKETO |
variant |
string | required | STATIC = snapshot (MA_CONTACTS_STATIC); DYNAMIC = refreshing (MA_CONTACTS_DYNAMIC). Ask the user if unspecified. one of: STATIC, DYNAMIC |
list_name |
string | Optional: the source list's own name, from list_marketing_automation_lists. |
Request
curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
-H "Authorization: $METADATA_PAT" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_marketing_automation_contacts_audience","arguments":{"custom_audience_name":"<custom_audience_name>","library_list_id":0,"provider":"HUBSPOT","variant":"STATIC"}}}'
Response
No recorded response. This tool writes to the account, so it is never executed to build these docs.
The request above is still the exact shape to send. Nothing on this page is invented.
Related
Other audiences tools: