Skip to main content
Glama

Metadata MCP Connector

Create Salesforce Contacts Audience

create_salesforce_contacts_audience

Create a Salesforce-contacts custom audience (platform customAudienceType SFDC_CONTACTS_STATIC or SFDC_CONTACTS_DYNAMIC) from a Salesforce mixed-criteria.

            This is one of the audience types eligible for Microsoft Ads (Customer Match). Use it when a user wants a Salesforce-sourced contacts audience, including for a Microsoft Ads campaign.

            PREREQUISITE:
              • Salesforce integration MUST be connected — the tool checks this and, if not connected, creates nothing and returns { warning, connected: false }.
              • A criteria_id from list_salesforce_mixed_criteria — do NOT invent one.

            VARIANT (mirrors the UI's static/dynamic choice):
              • STATIC  → SFDC_CONTACTS_STATIC — snapshot at creation, does not refresh.
              • DYNAMIC → SFDC_CONTACTS_DYNAMIC — refreshes as the Salesforce data changes.
              • If the user did not say which, ASK; do not default silently.

            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 Salesforce 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:
              • name (required): audience display name.
              • criteria_id (required): id from list_salesforce_mixed_criteria.
              • variant (required): STATIC or DYNAMIC.

            RETURNS: { id, name, status, createdDate, audience_type, async: true } — `audience_type` is the SFDC_CONTACTS_* you created and `id` is a creation/flow id, not associable yet. If Salesforce is not connected: { warning, connected: false }, and nothing is created.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesAudience display name.
variantYesSTATIC = snapshot (SFDC_CONTACTS_STATIC); DYNAMIC = refreshing (SFDC_CONTACTS_DYNAMIC). Ask the user if unspecified.
criteria_idYesThe Salesforce mixed-criteria id from list_salesforce_mixed_criteria.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses async behavior (returns flow id, not ready audience id), the connection prerequisite with a specific failure response, static vs. dynamic refresh semantics, and the 'not associable yet' caveat. This goes far beyond the sparse annotations and gives the agent a precise model of execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but every section earns its place: prerequisites, variant explanation, async warning, parameters, and returns. It is cleanly structured with headers and bullet points, making it easily scannable for an agent while conveying genuinely useful details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description fully compensates by stating the exact return shape, error case, and async limitations. Combined with the parameter details and prerequisites, nothing necessary for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes all three parameters (100% coverage), so the baseline is 3. The description adds essential context: criteria_id must come from list_salesforce_mixed_criteria, variant maps to SFDC_CONTACTS_* types holistically, and 'Ask the user if unspecified' reinforces the enum behavior. This additional meaning justifies a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create', the resource 'Salesforce-contacts custom audience', the platform types (SFDC_CONTACTS_STATIC/DYNAMIC), and the source 'Salesforce mixed-criteria'. It is unambiguous and distinct from the many sibling audience-creation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use: 'Use it when a user wants a Salesforce-sourced contacts audience, including for a Microsoft Ads campaign.' It also provides a conditional instruction to ask when variant is unspecified. However, it does not explicitly compare against alternative tools or list when-not-to-use scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources