← Plugin catalog
Business & Operations

Abency

Abency v1.2.0

Manage marketing workflows

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Read
  • Write

Not specified in the available declarations: limitations, pricing & account requirements.

Onboarding example

Summarize my brands' social performance this month
Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 6, 2026. Package observed Nov 6, 2026.

View package source →

Description

From the marketplace listing

Abency helps agencies and marketing teams run their brands from ChatGPT. Prepare and schedule social posts for Instagram, Facebook, LinkedIn, TikTok and YouTube, including designs exported from Canva. Report on social performance, Search Console, Google Analytics traffic, local SEO and Google Business Profile reviews, and Google Ads and Meta Ads results. Research keywords and competitors, audit Google Tag Manager setups, draft Brevo newsletters and write or improve WordPress content. Every request is scoped to the brands of your organization. Newsletters are created as drafts and are always sent by a person, and changes to published WordPress pages become proposals that a person approves in WordPress.

Language: English · Automatically detected from descriptions.

Screenshots

From the developer.

Matches for “scope”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher full description

Abency helps agencies and marketing teams run their brands from ChatGPT. Prepare and schedule social posts for Instagram, Facebook, LinkedIn, TikTok and YouTube, including designs exported from Canva. Report on social performance, Search Console, Google Analytics traffic, local SEO and Google Business Profile reviews, and Google Ads and Meta Ads results. Research keywords and competitors, audit Google Tag Manager setups, draft Brevo newsletters and write or improve WordPress content. Every request is scoped to the brands of your organization. Newsletters are created as drafts and are always sent by a person, and changes to published WordPress pages become proposals that a person approves in WordPress.

What changed

· 3 observations

Capabilities & instructions

Is template instance added: “false”. Abency updated; open the comparison for details. App-6a7b2e44dbf48191a30e7f8098a4c94e updated; open the comparison for details. Full description changed from “Abency helps agencies and marketing teams manage brands, prepare and schedule social content, analyze SEO and advertising...

View comparison →
Capabilities & instructions

Is template instance added: “false”. Abency updated; open the comparison for details. App-6a7b2e44dbf48191a30e7f8098a4c94e updated; open the comparison for details. Full description changed from “Abency helps agencies and marketing teams manage brands, prepare and schedule social content, analyze SEO and advertising...

View comparison →

Technical updates · 1

Package or technical metadata updated

View technical comparison →

Keywords

Files & skills

File archives

Plugin package18 files · 446 KBBrowse files →
Skill instructions
ads-performance-report1.86 KB

View saved version →

---
name: ads-performance-report
description: Use when the user asks for a report or analysis of paid advertising performance (Google Ads and/or Meta Ads, i.e. Facebook and Instagram ads) for a brand: spend, conversions, ROAS, campaigns or search terms.
---

Analyze a brand's advertising performance and suggest improvements. Read-only flow: nothing is changed in the ad accounts. Reply in the user's language.

1. Call `list_brands`, confirm the brand and the period (`start_date` and `end_date` as `YYYY-MM-DD`; by default the last 30 full days).
2. **Google Ads** (if connected):
   - `ads_compare` for the period totals and the change against the previous period.
   - `ads_campaigns` for the per-campaign breakdown, sorted by cost.
   - `ads_search_terms` with `order_by = "cost"` to find searches that spend without converting (covers Search and Shopping campaigns only).
   - For more detail: `ads_ad_groups` and `ads_ads` (live query), or `ads_timeseries` to locate a spike.
3. **Meta Ads** (if connected):
   - `meta_ads_compare` for the totals and the change.
   - `meta_ads_campaigns` for the per-campaign breakdown.
   - `meta_ads_structure` with a `campaign_id` to see ad sets, ads and creatives.
   - Messaging campaigns report their result in `messaging_conversations`, which is not included in `conversions`.
4. Write the report:
   - Summary per platform: spend, clicks, CTR, CPC, conversions, ROAS and change.
   - Best and worst performing campaigns, with the reason.
   - Wasted spend: terms or campaigns with cost and no conversions.
   - Concrete recommendations (budget, negative keywords, creatives, targeting), noting that changes are made in the ad account itself.

Rules:
- Make MCP calls one at a time.
- Never add Google Ads and Meta Ads into a single figure: present them separately, each in its own currency.
- Do not invent metrics; if a platform is not connected, say so.
auditoria-gtm1.11 KB

View saved version →

---
name: auditoria-gtm
description: Úsala cuando el usuario quiera auditar la salud del contenedor de Google Tag Manager de una marca (etiquetas, GA4, píxeles, consent, problemas).
---

Audita el contenedor de Google Tag Manager de una marca y explica los hallazgos en lenguaje claro. Flujo de solo lectura.

1. Llama a `list_brands` y confirma la marca.
2. Llama a `gtm_list_containers` con `brand_id` y localiza el contenedor.
3. Llama a `gtm_container_overview` para el resumen (versión publicada, número de etiquetas/triggers/variables).
4. Llama a `gtm_audit` para los health checks (etiquetas presentes/faltantes, GA4, píxeles, etiquetas en pausa, Consent Mode, server-side).
5. Redacta la auditoría:
   - Estado general (semáforo: correcto / avisos / fallos).
   - Qué está bien (GA4, píxeles de conversión, etc.).
   - Avisos y fallos, cada uno con qué es, por qué importa y cómo arreglarlo.
   - Recomendaciones priorizadas (empezando por lo que más afecta a medición/privacidad).

Reglas:
- Haz las llamadas MCP de una en una.
- Traduce el detalle técnico a acciones concretas; no te limites a listar el JSON.
brevo-newsletter1.58 KB

View saved version →

---
name: brevo-newsletter
description: Use when the user wants to prepare or write a newsletter or email campaign in Brevo for one of their brands. Creates the campaign as a draft; the actual send is always done by a person.
---

Prepare a Brevo newsletter as a draft ready for review. The connector never sends the campaign to subscribers. Reply in the user's language.

1. Call `list_brands` and confirm the brand. Call `get_brand` for its tone and identity.
2. Call `brevo_list_senders` to choose a verified sender and `brevo_list_lists` for the recipient lists. Confirm both with the user.
3. If there are images, upload them with `brevo_upload_image` (with `image_url` for a public image, or `media_path` for an uploaded file) and use the returned `url` in the HTML: it is permanent.
4. Write the subject, preview text and full HTML content in the brand's tone. Show it to the user.
5. Call `brevo_create_campaign` with `name`, `subject`, `html_content`, the sender (`sender_id`, or `sender_email` + `sender_name`) and `list_ids`. It is saved as a draft.
6. For changes, use `brevo_update_campaign` (it only works on drafts).
7. If the user wants to see it in their inbox, offer `brevo_send_test` to the addresses they give you.
8. Finish by noting that the real send is done from Abency or Brevo.

Rules:
- `brevo_send_test` sends a real email that cannot be undone: confirm the exact addresses first.
- Never promise to send or schedule the campaign: the connector cannot do it.
- Use `brevo_list_campaigns` and `brevo_get_campaign` if the user wants to start from a previous campaign or see its statistics.
gtm-audit1.24 KB

View saved version →

---
name: gtm-audit
description: Use when the user wants to audit the health of a brand's Google Tag Manager container (tags, GA4, pixels, Consent Mode, issues).
---

Audit a brand's Google Tag Manager container and explain the findings in plain language. Read-only flow. Reply in the user's language.

1. Call `list_brands` and confirm the brand.
2. Call `gtm_list_containers` with `brand_id` to confirm the container selected for the brand. If the list is empty, the brand has not chosen a container yet: tell the user to do it in Abency.
3. Call `gtm_container_overview` for the summary (published version and number of tags, triggers and variables).
4. Call `gtm_audit` for the health checks (GA4, pixels, paused tags, Consent Mode, server-side…). For the details of a tag, use `gtm_list_tags`.
5. Write the audit:
   - Overall status (good / warnings / failures).
   - What is working.
   - Warnings and failures: what it is, why it matters and how to fix it.
   - Prioritized recommendations, starting with what most affects measurement and privacy.

Rules:
- Make MCP calls one at a time.
- The data comes from the container's last sync; mention the date if the user has just made changes.
- Turn technical detail into concrete actions; do not just list the JSON.
informe-seo-mensual1.38 KB

View saved version →

---
name: informe-seo-mensual
description: Úsala cuando el usuario pida un informe SEO mensual, la evolución de posiciones de keywords o oportunidades de Search Console para una marca.
---

Genera un informe SEO claro y accionable para una marca. Todo el flujo es de solo lectura.

1. Llama a `list_brands` y confirma la marca (si no está clara).
2. Llama a `keywords_tracked_list` con `brand_id` para obtener las keywords en seguimiento.
3. Llama a `keywords_snapshots` para la evolución de posiciones en el periodo (por defecto el último mes). Identifica subidas, bajadas y keywords estancadas.
4. Llama a `gsc_top_queries` para las consultas con más impresiones/clics y su posición y CTR.
5. Llama a `keywords_gsc_opportunities` para detectar keywords en posiciones 5–20 con alto potencial de mejora.
6. Redacta el informe con estas secciones:
   - Resumen ejecutivo (2–3 frases: tendencia general del mes).
   - Top movimientos: keywords que más suben y que más bajan, con posición anterior → actual.
   - Rendimiento en Search Console: mejores consultas por clics e impresiones.
   - Oportunidades: keywords a un empujón del top 10 y acciones concretas (contenido, enlazado interno, intención).
   - Próximos pasos priorizados.

Reglas:
- Haz las llamadas MCP de una en una.
- Sé concreto con los números (posiciones, clics, CTR) y no inventes datos: si una tool no devuelve algo, dilo.
keyword-research1.57 KB

View saved version →

---
name: keyword-research
description: Use when the user wants to research keywords, find content ideas, analyze a competitor or decide which keywords to track for a brand.
---

Research keywords with real data and turn them into a plan. Each research call uses the brand's monthly plan quota: be efficient. Reply in the user's language.

1. Call `list_brands` and confirm the brand. Call `get_brand` for its sector and saved competitors.
2. Depending on the question:
   - **Ideas from a topic:** `keywords_search` with `seed_keyword` (optional filters for volume, competition and intent) or `keywords_suggestions`.
   - **Validating a list:** `keywords_search_volume` and `keywords_difficulty` with the list of `keywords`.
   - **Competitors:** `keywords_analyze_competitor` with the competitor's `domain` (shared keywords and gaps) or `keywords_for_site` to see what a domain ranks for.
   - **What already works:** `keywords_gsc_opportunities` (the brand's own Search Console data, no quota used).
3. Group the results by intent and topic. Prioritize by volume, difficulty and business relevance.
4. Propose the plan: which pages to create or improve for each keyword group.
5. If the user wants to track them, confirm the list and call `keywords_tracked_add` (it respects the plan limit). `keywords_generate_clusters` groups the already tracked keywords with AI.

Rules:
- Avoid repeating identical searches: every research call counts against the quota.
- Do not add keywords to tracking without confirmation.
- State the market (country and language) of the data; if it is not the brand's market, ask.
local-seo1.46 KB

View saved version →

---
name: local-seo
description: Use when the user asks about a brand's local SEO or Google Business Profile listing: views on Google Maps and Search, calls, direction requests, reviews or map rankings.
---

Analyze a brand's local presence on Google. Read-only flow. Reply in the user's language.

1. Call `list_brands` and confirm the brand.
2. Call `gbp_overview` with `days` (7–90, 30 by default): views on Search and Maps, website clicks, calls, direction requests, a review summary and the keywords people use to find the listing, with the change against the previous period.
3. Call `gbp_reviews` with `only_unanswered = true` for reviews awaiting a reply (or without the filter to see the latest ones).
4. Call `gbp_geogrid` for map rankings per keyword: average position, % of grid points in the top 3 and the trend. It is an estimate (requires the Growth or Pro plan).
5. Write the analysis:
   - Visibility and customer actions, with the change.
   - Reviews: average rating, volume, unanswered ones and recurring themes. If the user asks, draft replies for them to post.
   - Map rankings: where the brand is strong and where it is weak.
   - Prioritized actions (reply to reviews, complete the listing, post updates, work on weak keywords).

Rules:
- Make MCP calls one at a time.
- The connector does not reply to reviews or edit the listing: the user posts the draft replies.
- The data comes from the nightly sync; if a tool says a connection or plan is missing, explain it.
monthly-seo-report1.76 KB

View saved version →

---
name: monthly-seo-report
description: Use when the user asks for a monthly SEO report, the evolution of keyword rankings, organic traffic or Search Console opportunities for a brand.
---

Produce a clear, actionable SEO report for a brand. The whole flow is read-only. Reply in the user's language.

1. Call `list_brands` and confirm the brand and the period (by default the last full month, dates as `YYYY-MM-DD`).
2. Call `gsc_search_analytics` for the period: clicks, impressions, CTR and average position. Repeat for the previous period of the same length to compute the change.
3. Call `gsc_top_queries` for the main queries with their position and impressions.
4. Call `keywords_tracked_list` and `keywords_snapshots` for the evolution of tracked keywords: what rises, what drops and what stalls.
5. Call `keywords_gsc_opportunities` for queries with impressions in improvable positions (11–30 by default).
6. If the brand has Google Analytics connected, call `ga4_report` with `dimensions = ["page"]` for the most viewed pages in the period.
7. Write the report:
   - Executive summary (2–3 sentences with the month's trend and key figures).
   - Search Console: clicks, impressions, CTR and position, with the change against the previous period.
   - Keyword movements: biggest gains and losses (previous position → current).
   - Most viewed pages (if Analytics data is available).
   - Opportunities: queries one push away from page one, with a concrete action for each (content, internal linking, search intent).
   - Prioritized next steps.

Rules:
- Make MCP calls one at a time.
- Use the numbers the tools return and never invent data; if a source is not connected or returns nothing, say so.
- Analytics users cannot be added up across rows: use the total the tool returns.
publicar-carrusel1.78 KB

View saved version →

---
name: publicar-carrusel
description: Úsala cuando el usuario quiera publicar o programar una imagen o un carrusel en redes sociales (Instagram, Facebook, LinkedIn, TikTok) para una de sus marcas. Sube el contenido y crea la publicación en Abency.
---

Sigue este flujo para publicar una imagen única o un carrusel. El servidor es organization-scoped, así que SIEMPRE necesitas resolver la marca primero y pasar `brand_id` en las llamadas.

1. Llama a `list_brands` y confirma con el usuario sobre qué marca publica (si no lo ha dicho ya).
2. Llama a `get_connections` con ese `brand_id` y localiza el `connection_id` de la plataforma destino (p. ej. Instagram).
3. Pide o confirma: el texto (caption), las imágenes y, si es programada, la fecha/hora (`scheduled_at` en ISO 8601 con zona horaria).
4. Llama a `get_media_upload_url` pasando el ARRAY con TODOS los nombres de archivo de una sola vez (una llamada → una URL por archivo). Sube cada archivo por HTTP directo a su URL firmada y guarda cada `media_path` devuelto.
5. Llama a `create_post` con `connection_ids`, el caption, `scheduled_at` si aplica y el media:
   - 1 imagen → `media_path` = la ruta.
   - Carrusel → `media_type = "carousel"` y `media_path` = array JSON de rutas en orden `["uploads/a.jpg", "uploads/b.jpg", ...]`.
6. Llama a `get_post_status` para confirmar el resultado y comunícalo al usuario.

Reglas importantes:
- NUNCA pases imágenes como base64 dentro de una llamada: se corrompen. Súbelas siempre con `get_media_upload_url` + HTTP. Si no puedes subir archivos, dile al usuario que suba las imágenes al compositor de Abency.
- Haz las llamadas MCP de una en una, no en paralelo.
- Publicar es una acción de cara al público: confirma el texto, las imágenes y la fecha con el usuario ANTES de llamar a `create_post`.
publish-social-post2.45 KB

View saved version →

---
name: publish-social-post
description: Use when the user wants to publish or schedule an image, video or carousel on social media (Instagram, Facebook, LinkedIn, TikTok, YouTube) for one of their brands, including a Canva design. Prepares the content and creates the post in Abency.
---

Follow this flow to publish an image, a video or a carousel. The server is organization-scoped: ALWAYS resolve the brand first and pass `brand_id` in every call. Reply in the user's language.

1. Call `list_brands` and confirm the brand with the user (unless they already named it). Call `get_brand` to learn its sector, tone and identity before writing the copy.
2. Call `get_connections` with that `brand_id` and find the `connection_id` of each target network.
3. Get the visual content in one of these ways:
   - **Canva design:** `canva_list_designs` (filter by title with `query`), then `canva_export_design` with the `design_id` and the format (`png`, `jpg`, `mp4` or `gif`). It returns a `media_path` ready to use.
   - **The user's own files, if your environment can make HTTP requests:** `get_media_upload_url` with the ARRAY of ALL file names in a single call; upload each file to its signed URL and keep each returned `media_path`.
   - **If you cannot upload files** (for example in ChatGPT): ask the user to upload the images in the Abency composer, or create the post as a draft with the copy so they can add the image there.
4. Write the copy in the brand's tone and confirm it with the user, together with the images, networks and date and time.
5. Call `create_post` with `connection_ids`, the copy and the media:
   - 1 image or video → `media_path` = the path.
   - Carousel → `media_type = "carousel"` and `media_path` = a JSON array of paths in order `["uploads/a.jpg", "uploads/b.jpg"]`.
   - To schedule, pass `scheduled_at` in ISO 8601 with a time zone (e.g. `2026-11-05T10:00:00+01:00`). **Without `scheduled_at` the post stays as a draft and is never published**: tell the user.
6. Call `get_post_status` and report the result. If a network fails, explain why (`platforms[].error_message`).

Rules:
- Publishing is public and cannot be undone from here: confirm copy, images, networks and date BEFORE calling `create_post`.
- Never send images as base64 inside a call; use Canva or the signed upload.
- Make MCP calls one at a time, not in parallel.
- To change an already scheduled post use `update_post` (only while it is not being published); changing only the date keeps the copy.
resum-rendiment-social1.19 KB

View saved version →

---
name: resum-rendiment-social
description: Úsala cuando el usuario pida un resumen del rendimiento en redes sociales (alcance, interacciones, mejores publicaciones) de una o varias marcas en un periodo.
---

Resume el rendimiento social de forma útil para reporting de agencia. Flujo de solo lectura.

1. Llama a `list_brands`. Si el usuario no especifica marca, pregunta si quiere una marca concreta o el conjunto de la organización.
2. Para cada marca relevante, llama a `social_metrics_summary` con `brand_id` para alcance, interacciones y seguidores por plataforma en el periodo.
3. Llama a `social_post_metrics` para identificar las publicaciones con mejor rendimiento (engagement, alcance, guardados).
4. Redacta el resumen:
   - Titular con las cifras clave del periodo (alcance total, interacciones, variación vs. periodo anterior si está disponible).
   - Desglose por plataforma (Instagram, Facebook, LinkedIn, TikTok).
   - Top 3 publicaciones y por qué funcionaron.
   - 2–3 recomendaciones accionables para el próximo periodo.

Reglas:
- Haz las llamadas MCP de una en una (si hay varias marcas, secuencialmente).
- No inventes métricas que la tool no devuelva; indícalo si faltan datos.
social-performance-summary1.34 KB

View saved version →

---
name: social-performance-summary
description: Use when the user asks for a summary of social media performance (reach, engagement, best posts) for one or more brands over a period.
---

Summarize social performance in a way that is useful for agency reporting. Read-only flow. Reply in the user's language.

1. Call `list_brands`. If the user does not name a brand, ask whether they want a specific one or all brands in the organization.
2. For each brand, call `social_metrics_summary` with `brand_id` and `days` (30 by default). It returns the period's KPIs with the change against the previous period, a breakdown by network and content type, and precomputed insights.
3. Call `social_post_metrics` with `order_by = "engagement"` for the best performing posts (and with `order_by = "reach"` if reach matters).
4. Write the summary:
   - Headline with the key figures (reach, engagement, video views) and their change.
   - Breakdown by network: Instagram, Facebook, LinkedIn, TikTok and YouTube, as connected.
   - Top 3 posts, with links, and why they worked (format, topic, timing).
   - 2–3 actionable recommendations for the next period, backed by the tool's insights.

Rules:
- Make MCP calls one at a time (for several brands, one after another).
- The data comes from daily snapshots, not real time; if a network has no data, say so instead of guessing.
web-traffic-analysis1.36 KB

View saved version →

---
name: web-traffic-analysis
description: Use when the user asks about a brand's website traffic in Google Analytics: views, users, most viewed pages or daily trend, overall or for a specific section.
---

Analyze a brand's website traffic with Google Analytics 4. Read-only flow. Reply in the user's language.

1. Call `list_brands`, confirm the brand and the period (`start_date` and `end_date` as `YYYY-MM-DD`).
2. Call `ga4_report` depending on the question:
   - Period totals: `dimensions = []`.
   - Most viewed pages: `dimensions = ["page"]`.
   - Daily trend: `dimensions = ["date"]`.
   - A specific section: add `page_filter` with a fragment of the path (e.g. `/blog/`).
   - If there are more results, page through them with the `next_offset` the tool returns.
3. To compare, repeat the query for the previous period of the same length.
4. If organic traffic sources matter, add `gsc_search_analytics` (`dimensions = ["page"]` or `["query"]`).
5. Write the analysis:
   - Key figures (views and users) and their change.
   - Pages that grow and drop the most, with their share of the total.
   - Spikes or drops in the daily trend and their likely cause.
   - Concrete recommendations.

Rules:
- Users cannot be added up across rows (pages or days): use the total the tool returns.
- If the brand has no Google Analytics connected, say so and suggest connecting it in Abency.
wordpress-content1.67 KB

View saved version →

---
name: wordpress-content
description: Use when the user wants to write, review or improve content or on-page SEO on one of their brands' WordPress sites (posts, pages or custom post types), including the SEO title and meta description.
---

Work on a brand's WordPress content without ever changing published content directly. Reply in the user's language.

1. Call `list_brands` and confirm the brand. Call `get_brand` for its tone.
2. To find content:
   - `wp_list_post_types` for the available types (posts, pages and custom types).
   - `wp_list_posts` (with `type`, `status` and `search`) or `wp_list_pages`.
   - `wp_get_post` for the full content and `wp_get_seo_meta` for the SEO title, meta description and focus keyword.
3. **New content:** write it, show it to the user and call `wp_create_draft` with `title`, `content` (HTML) and, where relevant, `categories`/`tags` (from `wp_list_terms`) and the SEO meta. It is always saved as a draft.
4. **Improving existing content:** propose the changes, confirm them and use `wp_update_post` (content and SEO) or `wp_update_seo_meta` (SEO only). Send only the fields that change.
   - On a draft, the change is applied directly.
   - On published content, the live site is not touched: a proposal is created (`action = proposal_created`) that a person approves inside WordPress. Explain this to the user.
5. Summarize what was created or proposed and where to review it.

Rules:
- The connector never publishes: publishing is done by a person in WordPress or Abency.
- Each `wp_update_post` call on published content creates a new proposal; do not repeat it once it has been created.
- For keyword ideas, combine it with the `keyword-research` skill.
Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Abency
Keywords
See keywords

Declared capabilities

  • Read
  • Write

Package observed Nov 6, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Nov 6, 2026 · 12:00 UTC
Latest observed change
Oct 24, 2026 · 13:01 UTC
Collection status
Collected

plugin_asdk_app_6a7b2e44dbf48191a30e7f8098a4c94e

Download plugin data (JSON)

Plugin details: served from cache. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.