Connexions
Comptes sociaux, comptes publicitaires et configurations de boost connectés à un emplacement.
list_connected_accounts
List the agency's connected publisher/social accounts (Google, Facebook, Instagram, LinkedIn, X, Pinterest, etc.) — the OAuth credentials connected for listings + posting. Agency-scoped: no clientId required (pass one to narrow). Each account shows platform, displayName, and a computed connectionStatus (CONNECTED / DISCONNECTED / RENEW / MISSING / SUSPENDED), credential validity, fetch state, and fetched-listing count. For a `channel: "local"` (location-bound) account, correlate it to a location via `clientLocationId` (the native ClientLocation.id) — NOT `synupLocationId`, which is legacy-only and null on every fresh, natively-created account; a caller matching on it will silently miss native locations. `channel: "brand"` accounts are client-shared and have no location to correlate to. Use it to find an account to act on, or to spot broken accounts (connectionStatus != CONNECTED). Filter by platform / credentialsValid / fetchStatus. Cursor-paginated.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_connected_accounts",
"arguments": {}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
disconnect_connected_account
Fully disconnect a connected OAuth account (the brand-level connection and every location under it that shares the same grant). Revokes the platform token if no other row still uses it, and archives any ad accounts hanging off it. This is the same action as the "Disconnect" button on a connected account — reconnecting afterwards requires the user to go through OAuth again in the app UI (MCP can't drive that). Identify the account by its connectionId (from list_connected_accounts).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "disconnect_connected_account",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
disconnect_location_connection
Disconnect a single location's connection to a platform, without touching sibling locations that share the same connected account. Identify it by its connectionId (from list_connected_accounts). To fully disconnect the whole account instead, use disconnect_connected_account.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "disconnect_location_connection",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
refresh_connection
Refresh or extend a connected account's platform token using its stored refresh token — no browser interaction needed. Use this when list_connected_accounts shows connectionStatus RENEW or credentialsValid false. Supported platforms: google, facebook, instagram, linkedin, x, pinterest. If it fails, the credential is likely fully revoked and needs a fresh OAuth connect in the app UI (MCP can't do that part). Identify the account by its connectionId.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "refresh_connection",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
reassign_location_connection
Repoint a connected account's location to a different fetched listing from the same connected account (e.g. the wrong Google Business Profile location got matched during connect). The new listing must belong to the same connected account and platform. Identify the connection by its connectionId, and the target by fetchedListingId. Use list_connected_accounts / the account's fetched listings to find candidates.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "reassign_location_connection",
"arguments": {
"connectionId": "string",
"fetchedListingId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
assign_listing_to_location
Pair an already-connected account's already-fetched listing to a location that has no connection of its own yet. This is NOT a fresh OAuth grant — caId must already be a connected account (from list_connected_accounts); it just reuses that login. Google and Facebook only. Identify the listing by platformResourceName + platformPageName (from the account's fetched listings). To repoint an EXISTING location connection to a different listing on the same account, use reassign_location_connection instead.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "assign_listing_to_location",
"arguments": {
"platform": "google",
"caId": "string",
"locationId": "string",
"platformResourceName": "string",
"platformPageName": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
confirm_suggested_match
Confirm a NAP-scoring suggestion: creates a location-level connection from a fetched listing the scoring engine already matched to a Synup location. Identify the listing by its fetchedListingId (from the suggested-matches list). Fails if the listing has no matched location, is already connected, or the location already has a connection on that platform.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "confirm_suggested_match",
"arguments": {
"fetchedListingId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
request_connection_matches
Re-run NAP (name/address/phone) match scoring on a connected account's already-fetched listings. Does NOT re-fetch from the platform — that's refetch_connection_listings. Rate-limited to once per 24 hours per account (returns a 24h-cooldown error with retryAt if called again too soon). Identify the account by its connectionId (from list_connected_accounts).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "request_connection_matches",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
refetch_connection_listings
Force an immediate re-fetch of a connected account's listings straight from the platform (not just a re-score of what's already stored — that's request_connection_matches). Runs synchronously; returns once the fetch completes. Identify the account by its connectionId (from list_connected_accounts).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "refetch_connection_listings",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
list_ad_accounts
List a connected account's ad accounts (Facebook/Instagram/LinkedIn/TikTok paid-social accounts pulled in via the connection), showing which one is currently selected for boosting posts. Use this before select_ad_account or create_boost_config.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_ad_accounts",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
sync_ad_accounts
Re-fetch a connected account's ad accounts from the platform (Facebook/Instagram/LinkedIn/TikTok), refreshing names/status/currency and picking up newly-granted accounts. Runs automatically on connect and daily; call this to force an immediate refresh. Returns the refreshed list.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "sync_ad_accounts",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
select_ad_account
Choose which of a connected account's ad accounts is used when boosting posts (create_post_boost). Only one can be selected per connected account at a time — selecting a new one deselects the previous one. Identify the ad account by its id (from list_ad_accounts).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "select_ad_account",
"arguments": {
"connectionId": "string",
"adAccountId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
list_boost_configs
List a connected account's saved boost configurations — reusable targeting + budget presets for boosting/promoting a Facebook or Instagram post with paid ad spend. Use this to find a boostConfigId to pass to create_post_boost instead of specifying targeting/budget inline every time.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_boost_configs",
"arguments": {
"connectionId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
create_boost_config
Save a reusable boost configuration for running a paid Facebook/Instagram ad promotion on a post (name, ad account, targeting, daily budget, duration) on a connected account, so future boosts can reuse it via boostConfigId instead of repeating targeting every time. dailyBudget is in minor currency units (cents) matching the ad account's currency (see list_ad_accounts). This only saves a preset — it does not spend anything by itself; spending happens when create_post_boost runs, either directly or via this config.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_boost_config",
"arguments": {
"connectionId": "string",
"adAccountId": "string",
"name": "string",
"dailyBudget": 0,
"durationDays": 0
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
update_boost_config
Edit a saved boost configuration — e.g. change the budget, audience/targeting, or duration for boosting a Facebook/Instagram post. Pass only the fields you want to change. Identify it by its connectionId and configId (from list_boost_configs).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_boost_config",
"arguments": {
"connectionId": "string",
"configId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
archive_boost_config
Archive a saved boost configuration so it no longer appears as a reusable preset. Does not affect boosts already created from it. Identify it by its connectionId and configId (from list_boost_configs).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "archive_boost_config",
"arguments": {
"connectionId": "string",
"configId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.
list_app_connections
List the business apps this agency has connected through Pipedream — CRMs and other third-party tools you can read and write on their behalf. Separate from list_connected_accounts, which covers social/publisher OAuth. Use this to answer "what can you reach?" or to check whether a CRM is connected before offering to import contacts. Each row shows the app, which account it is, whether it is currently healthy, and when it was connected. A row with status "error" needs the agency to reconnect it in the UI — there is no tool for that, because an OAuth grant needs an interactive consent screen.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_app_connections",
"arguments": {}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}La forme de la réponse est indicative — le contenu réel dépend de l'outil et de vos données.