All skills
wix avatar

/wix-manage

@4895cc9 official
by Wix.comwix/skills33 stars
33

REST recipes to configure and manage a Wix site's business solutions — stores, bookings, payments, CMS, and more. Open the matching recipe for the exact endpoint, method, and payload before calling — never guess a Wix API, never write Wix dashboard URL from memory. Routes to: stores, bookings, get-paid, CMS, contacts, forms, media, app-installation, pricing-plans, restaurants, ricos rich-content, sites, blog, calendar, domains, events, site-properties, ecommerce, marketing, google-ads, google-business-profile, analytics, accessibility, seo, dashboard-navigation.

Use this Skill: https://skilld.dev/gh/wix/skills/wix-manage

This session only. Nothing lands on disk.

referencesgoogle-adsmanage-campaign-success-guide.md

≈6.4k tokens on demand. Your agent reads this file only when SKILL.md points to it.

RECIPE: Manage a Campaign Success Guide

A campaign success guide is a prioritized list of improvements for an existing Google Ads PERFORMANCE_MAX_LEADS campaign. Offer it as a useful next step after creating a Performance Max campaign. Once Create Campaign returns the campaign ID, ask whether the user wants to retrieve the guide; call the API only after they approve. The guide does not use campaign performance metrics. It evaluates landing-page content, campaign configuration, and Wix site connections, so LEARNING status and an empty analytics history do not block it.

A direct request to improve a campaign, see what to fix next, or show its success guide is itself approval to retrieve the guide once the campaign is identified. Do not ask whether the user wants the guide after they have already made one of those requests. Separate approval is needed only when you proactively offer the guide after campaign creation.

Treat a broad request such as "How can I improve my Google Ads campaign?" as a Campaign Success Guide request for an existing campaign. Route here before offering generic optimization advice, querying analytics, or generating the pre-campaign inputs covered by Get AI Campaign Suggestions. If the conversation does not identify a Wix site or campaign, explain that you will use the guide and ask one focused question that resolves the missing identity; do not probe site-scoped APIs first.

This differs from Get AI Campaign Suggestions, which generates keywords, budgets, locations, copy, images, and other inputs used while building a campaign. Do not route pre-campaign keyword, budget, creative, or targeting generation here.

Present every guide as an actionable plan

Every response that presents a retrieved or supplied guide must use the actionable structure below. Do not wait for the user to ask for links, more detail, or a richer guide.

  1. On the first batch, start with the campaign name when known and link campaignSuccessGuide.url as the analyzed landing page when present. Do not repeat that context on later batches in the same conversation.
  2. Filter to OPEN suggestions and preserve their API priority order. Hide COMPLETED suggestions and tracking-status words unless the user explicitly asks what they completed.
  3. Show at most three not-yet-shown OPEN suggestions in a single-column numbered list under Start here, with a user-facing label and one concrete next step each.
  4. When at least one suggestion in the visible batch has supported agent work, add one I can help block that groups what the agent can perform after approval.
  5. When at least one suggestion in the visible batch has a navigation destination that should be shown now, finish with a Next actions block containing each destination exactly once. Use an absolute Markdown link when its exact URL is available. When an Editor URL cannot be resolved through the single attempt described below, write Go to the Editor once as plain guidance instead of omitting the destination or guessing a URL.
  6. If unshown OPEN suggestions remain, close by saying this batch contains the highest-priority remaining tasks and invite the user to see the next batch. A request for more is approval to show the next three; do not ask another confirmation question first.

Fast path when the guide is already supplied

When the user supplies or paraphrases the guide recommendations, build the response from that information before doing any other discovery:

  1. Treat “still need to” and equivalent wording as OPEN, and anything the user says is marked complete as COMPLETED.
  2. Hide completed items, select the first three open items in the supplied order, and note only whether more open items remain. Do not name a later-batch item in the invitation.
  3. Do not resolve the campaign, list campaigns, retrieve or create the guide, query analytics, inspect action APIs, or read linked action recipes. Those calls cannot improve a guide the user already supplied. The only exception is the campaign identity resolution required by Google Ads Dashboard Navigation after the user explicitly chooses to manage Search Themes manually.
  4. Resolve only navigation needed by the visible batch, using existing site context or the single site-metadata attempt below, then return the actionable plan immediately.

Track which suggestion types have been shown during the current conversation so later batches continue instead of repeating. When a refreshed guide contains a newly opened suggestion, place it among the unshown items by the API's current priority order. When a suggestion changes from COMPLETED back to OPEN, treat it as unshown so the reopened task appears again.

Omit I can help or Next actions when that section would be empty.

Use Markdown that reads top to bottom. Never use a table, grid, columns, or side-by-side layout for suggestions. Suggestion labels and next steps are content, not controls: do not turn them into links or conversational actions. A manual task stays plain text and points to the shared destination in Next actions.

Keep navigation and delegated work distinct:

  • Navigation opens a destination and uses an absolute Markdown link such as [Go to Editor](https://...) when the exact URL is known. The plain Go to the Editor fallback is destination guidance, not a link or a suggested follow-up message.
  • Delegated work asks the agent to do something it actually supports. Group these offers in prose. If suggesting a conversational follow-up, include at most one for the highest-priority supported OPEN item and phrase it as an explicit request, such as Draft FAQ content for me or Inspect my site speed, never as the bare task label Add an FAQ section.
  • Only suggestions in the visible OPEN batch create navigation or offers. Do not offer work or add a destination for a hidden later-batch or COMPLETED suggestion.

If there are no OPEN suggestions, say that nothing currently needs attention without listing completed items, and omit I can help and Next actions. If all open suggestions have already been shown in this conversation, say that every currently open task has been covered.

Resolve the campaign

The guide endpoints require a campaign UUID, but users often provide only a campaign name or say "my campaign." Google Ads calls operate on the current Wix site from the call context; the site is not a request-body field. Use an already-selected site context without asking the user to repeat it. If there is no unambiguous current site, ask which site to use instead of probing several sites. Follow the rest of this resolution flow only when retrieving or updating a guide. If the conversation already contains the guide recommendations and the user only wants them presented, do not block the action plan on campaign identity; resolve only the site context needed for relevant navigation. When the user explicitly chooses manual Search Themes management, resolve its campaign-scoped destination through Google Ads Dashboard Navigation, not this guide-retrieval flow.

Site listing is for resolving navigation metadata only. Never use account-wide site listing to hunt for a campaign before retrieving or updating a guide. A current-site ID in the available context counts as an unambiguous selected site even when the user's prompt does not repeat its name. If no current-site ID is available, ask which site to use.

  1. If the campaign UUID is known, use it in the current site context.

  2. Otherwise, list campaigns once for the current site using the Campaign API's public serverless route:

    curl -X GET 'https://www.wixapis.com/_serverless/pa-google/v1/campaigns' \
      -H 'Authorization: <AUTH>'

    Use this full URL exactly once. The /_serverless/pa-google prefix is part of the public endpoint. Do not retry with a relative URL or another service prefix, or probe another site when the documented call returns an error.

    Read each campaign's id, name, campaignType, and status.

  3. Select a campaign only when one result clearly matches the user's wording. If several campaigns on that site plausibly match, show concise campaign choices and ask the user to choose; never guess.

  4. Continue only for campaignType: "PERFORMANCE_MAX_LEADS". If the selected campaign has another type, explain that campaign success guides currently support Google Ads Performance Max Leads campaigns only. For a supported campaign, do not gate guide retrieval on status or query analytics first: LEARNING and missing performance metrics are not reasons to wait.

The common flow always sends platformType: "GOOGLE"; do not ask the user to provide it.

Retrieve or create the guide

Skip this call when the conversation already contains a retrieved guide or its recommendations; immediately present the supplied result using the next section instead of retrieving it again or asking for campaign identity. When the user paraphrases recommendation labels, map them to the closest unambiguous suggestion types in the translation table. Wording such as "still need to" or "still to do" means those items are OPEN.

When the user only wants a supplied guide presented, this article already contains the response behavior. Do not read the linked action recipes until the user accepts an offer to perform that action; unnecessary recipe reads delay the answer and can prevent the navigation block from being returned.

curl -X POST \
  'https://www.wixapis.com/pa-platform/suggestions/v1/campaign-success-guides/get-or-create' \
  -H 'Authorization: <AUTH>' \
  -H 'Content-Type: application/json' \
  -d '{
    "campaignId": "7d4a9c2e-86f1-4b37-a2d5-9e18c6f043ab",
    "platformType": "GOOGLE"
  }'
{
  "campaignSuccessGuide": {
    "id": "7d4a9c2e-86f1-4b37-a2d5-9e18c6f043ab",
    "url": "https://www.example.com/request-a-quote",
    "suggestions": [
      {
        "id": "131b82f1-44f5-4f32-8cf1-f783a5f35222",
        "type": "CLEAR_CTA_COPY",
        "status": "OPEN"
      }
    ]
  }
}

The first call may analyze the landing page, campaign configuration, and relevant site connections and can take up to 120 seconds. Later calls normally return the saved guide unless campaign changes require another analysis. Wait for the request; do not retry prematurely. If execution times out with an unknown outcome, report the uncertainty and retrieve the guide later instead of immediately triggering another analysis.

Present only the suggestions the API returns. suggestions is already in priority order: preserve the relative order of the visible OPEN batch. An empty array means no currently detected items need attention, not an API failure.

OPEN means pending action. COMPLETED means the user marked the item completed; it does not mean the API changed the site or campaign for them.

Resolve supported work and navigation

The navigation block is part of each batch, including when the user supplied or paraphrased the recommendations. Before responding, resolve only the destinations required by the visible batch and appropriate at that point in the flow. Resolving navigation is read-only and does not require approval, including when the user says not to change anything yet.

Use the selected site's id and editUrl from available site context first. If the current-site ID is known but editUrl is absent and a read-only site-listing capability is available, make at most one lookup using Query Sites. Query that exact ID with the verified REST filter below:

curl -X POST 'https://www.wixapis.com/site-list/v2/sites/query' \
  -H 'Authorization: <ACCOUNT_AUTH>' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": {
      "filter": {
        "id": {
          "$in": ["<metaSiteId>"]
        }
      },
      "cursorPaging": {
        "limit": 1
      }
    }
  }'

The id filter requires the Wix Query Language operator object shown above. Do not send primitive equality such as "id": "<metaSiteId>"; the endpoint rejects that shape as a malformed filter. Read editUrl and editorType only from the returned site whose id exactly matches the current-site ID. This is the only navigation lookup: do not count or paginate sites, search by name, inspect other sites for campaigns, read alternative navigation docs, or try another endpoint. If the lookup is unavailable, returns no exact site, or returns no usable Editor URL, continue with plain Go to the Editor guidance instead of doing more discovery.

When no current-site ID is known, present the tasks that do not require navigation immediately and ask which site's CTA to add. Do not enumerate an account to guess the site.

Which action to offer

Suggestion types Response behavior
CLEAR_CTA_COPY, ABOVE_THE_FOLD_CTA, HEADER_MATCH, CONVERSION_POINT, GOOGLE_REVIEWS, TESTIMONIAL, CONTACT_AND_CREDIBILITY, FAQ_SECTION, MINIMIZE_FORM_FIELDS, SOCIAL_CHANNELS These change visible landing-page content. Briefly describe the edit and point to the single Go to Editor CTA after the suggestions. When the agent can safely prepare useful material such as FAQ content, CTA copy, or a heading, offer to draft it after approval and explain that the user applies the final change in the Editor. Do not imply that marking the suggestion complete will edit the page.
MOBILE_OPTIMIZATION, SITE_SPEED Offer to inspect the problem and recommend a concrete fix first, then explain that the user applies the resulting site change. These broad findings are not safe one-click mutations. Include the single Editor destination when the resulting work belongs there. Do not promise an improvement before identifying the actual cause.
GOOGLE_ADS_SEARCH_THEMES Offer first to generate relevant search themes, show the proposed set, and apply the approved set to the existing campaign by following Get AI Campaign Suggestions and Manage Campaign Lifecycle. Updating the campaign is a mutation, so wait for approval of the proposed set. Do not show a navigation link while this agent-performed offer is pending. If the user explicitly prefers to add the themes manually, provide the campaign-scoped Add Search Themes link described below instead.
GOOGLE_MERCHANT_CENTER_CONNECTION Offer to link the Merchant Center account using the account flow below. Reuse an already-linked Merchant Center account ID when present; otherwise ask the user for the ID. Get approval before the account update. Explain that the link begins as PENDING and its owner may still need to approve it in Google.
GOOGLE_BUSINESS_PROFILE_CONNECTION Offer to check the connection and start it by following Connect a Wix Site to Google Business Profile. Be explicit that the agent can initiate the flow and provide its authorization URL, but the site owner must finish Google's consent in their browser.

After the tasks, make one closing offer that groups the supported actions you can take; do not append a separate approval question to every item or turn every suggestion into a follow-up action.

For a Merchant Center connection, first read the selected site's Google Ads account:

curl -X GET 'https://www.wixapis.com/_serverless/pa-google/v1/accounts/current-site' \
  -H 'Authorization: <AUTH>'

Read account.id, account.merchantCenterAccountId, and account.merchantCenterAccountLinkStatus. If merchantCenterAccountId is present, use it as the existing connection context. If it is absent, ask the user for the account ID shown in Google Merchant Center; the Google Ads account API does not list candidate Merchant Center accounts. After the user confirms the ID and approves the mutation, follow Install Google Ads and Create an Account and update merchantCenterAccountId on account.id.

Build destination-specific CTAs

  • Editor: Include this only when at least one suggestion in the visible batch requires landing-page or mobile editing. Use the exact editUrl from the selected site context or the single matching result from the site-navigation lookup described above; prefix a relative value with https://manage.wix.com. Never construct or guess an Editor URL, substitute the public landing-page URL, or attach a loosely related Help Center article. If the single lookup is unavailable, returns no exact match, or returns EDITORLESS or no editUrl, write Go to the Editor once as plain text in Next actions. Do not say that the link is unavailable, retry, or keep searching. Label a resolved link Go to Editor or name the more specific editing action; do not label it Open in Wix.
  • Search Themes: Do not add a Google Ads link merely because GOOGLE_ADS_SEARCH_THEMES is open. Offer the agent-performed update first. Only after the user explicitly chooses the manual path, follow Google Ads Dashboard Navigation to resolve and link the campaign's Keywords Manager. Reuse the campaign ID already established in the Success Guide conversation. Label the link Add Search Themes. If the user states that manual preference in the initial request, include the link in that batch; if they choose it later, return the link then.
  • Other destinations: Include a destination only when an OPEN item has a verified existing URL. Name the page or action precisely, such as Open Forms dashboard or Review site speed. Never make unrelated links look like the same generic action.
  • Connection flows: Google Business Profile and Merchant Center recommendations create an offer in I can help, not an initial navigation link. Return a task-specific authorization URL only after the user accepts the offer and the connection flow creates it.
  • Include only destinations appropriate for suggestions in the visible batch and list each URL once.

Example with several Editor tasks, supported connection work, and a completed campaign task:

## Campaign success guide — Request a Quote campaign
Landing page: [Request a quote](https://www.example.com/request-a-quote)

### Start here
1. **Add contact details**
   Show a phone number and email address where visitors can easily find them.
2. **Add an FAQ section**
   Answer the questions prospective customers ask before contacting you.
3. **Connect Google Business Profile**
   Link the profile so campaign and business signals stay connected.

### I can help
I can draft the FAQ content and check and start the Business Profile connection after you approve. You will need to finish Google's consent in your browser. I can start with the FAQ draft.

### Next actions
- [Go to Editor]({absoluteEditUrl})

These are the highest-priority open tasks. Would you like to see the next batch?

The Editor URL appears once even though several recommendations use it. If the exact URL cannot be resolved in one attempt, replace that linked line with plain Go to the Editor guidance. Merchant Center is deferred to the next batch, the completed Search Themes item is hidden, and the Business Profile recommendation creates an agent offer rather than an unverified navigation link.

Translate suggestion types for the user

Keep the enum value unchanged in API calls, but use these labels when explaining the guide:

Enum User-facing meaning
CLEAR_CTA_COPY Clarify the primary call-to-action button's conversion intent.
ABOVE_THE_FOLD_CTA Put a call-to-action where visitors can see it without scrolling.
HEADER_MATCH Align the landing-page heading with the campaign's ad headlines.
CONVERSION_POINT Add a visible lead form or booking action.
GOOGLE_REVIEWS Display Google reviews or ratings.
TESTIMONIAL Add customer testimonials attributed to named people.
CONTACT_AND_CREDIBILITY Display a phone number and email address.
FAQ_SECTION Add a visible FAQ section.
MINIMIZE_FORM_FIELDS Limit the lead form to four visible fields.
SOCIAL_CHANNELS Add a visible social profile link.
GOOGLE_MERCHANT_CENTER_CONNECTION Connect Google Merchant Center.
GOOGLE_BUSINESS_PROFILE_CONNECTION Connect a Google Business Profile.
GOOGLE_ADS_SEARCH_THEMES Configure Google Ads search themes.
MOBILE_OPTIMIZATION Improve mobile optimization.
SITE_SPEED Improve site speed.

Mark an item completed or reopen it

The update endpoint identifies the suggestion by its type, not its suggestion id. A clear statement that the user completed a specific guide recommendation—for example, "I made the call-to-action button clearer as the success guide recommended"—is an actionable request to mark that item COMPLETED, not merely an FYI. Do not require the user to turn it into a question or ask for redundant confirmation.

Before executing an update:

  1. Identify the campaign and a suggestion type currently present in its latest guide. Use the current-site ID directly and follow the campaign-resolution flow above; listing that site's campaigns once is valid context resolution, but account-wide site listing is not. Ask one focused site or campaign question only when the current context or campaign results leave more than one plausible target. Do not probe several sites or guess, because the same recommendation type can exist on multiple campaigns.
  2. Match the user's wording to one returned suggestion and infer the requested status only when it is clear: a statement that they completed the recommendation means COMPLETED; a request to reopen it means OPEN.
  3. Execute immediately when the campaign, suggestion, and status are unambiguous. The completion statement is approval for this tracking-status update; do not ask a redundant confirmation question. Ask one targeted clarification only when identity, suggestion, or intended status is unclear; never guess.

Mark an item completed:

curl -X POST \
  'https://www.wixapis.com/pa-platform/suggestions/v1/campaign-success-guides/7d4a9c2e-86f1-4b37-a2d5-9e18c6f043ab/update-suggestion-status' \
  -H 'Authorization: <AUTH>' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "CLEAR_CTA_COPY",
    "status": "COMPLETED"
  }'
{
  "campaignSuccessGuide": {
    "id": "7d4a9c2e-86f1-4b37-a2d5-9e18c6f043ab",
    "suggestions": [
      {
        "type": "CLEAR_CTA_COPY",
        "status": "COMPLETED"
      },
      {
        "type": "FAQ_SECTION",
        "status": "OPEN"
      }
    ]
  }
}

Reopen the same item by sending:

{
  "type": "CLEAR_CTA_COPY",
  "status": "OPEN"
}

The response wraps the updated guide as { "campaignSuccessGuide": { ... } }. Treat that returned guide as the new source of truth: confirm the changed tracking status in plain language, hide completed items from the task list, and present up to the next three not-yet-shown OPEN suggestions in priority order. Treat a reopened item as unshown so it can appear again. Do not claim the underlying recommendation was implemented. Do not update multiple items unless the user's wording clearly identifies all of them.

If a mutation times out with an unknown outcome, do not retry automatically. Retrieve the guide later to determine the current status first.

Errors

Error Response behavior
PLATFORM_NOT_SUPPORTED Use GOOGLE; do not substitute another platform value.
CAMPAIGN_TYPE_NOT_SUPPORTED Explain that success guides currently support Google Ads Performance Max Leads campaigns only.
SUGGESTION_NOT_FOUND Retrieve the latest guide and choose a type actually present; do not keep retrying stale data.
Authentication or permission error Stop after the first rejected campaign or guide call and explain that the current collaborator cannot access or modify it. Do not try alternate base URLs, infer that Google Ads is not installed, or probe other sites or endpoints to bypass authorization.

References

Source: SKILL.md on GitHub

1 warning1d4 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    The wix-manage skill is an extensive collection of management recipes for Wix sites, covering business solutions such as eCommerce, Bookings, SEO, and site provisioning. It utilizes official Wix REST endpoints and incorporates robust safety patterns, including mandatory user confirmation for sensitive operations and careful validation of site data before mutation.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 4895cc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated yesterday
compatibility
Requires Wix REST API access (API key or OAuth).
  • wix
  • rest-api
  • ecommerce
  • bookings
  • cms
  • contacts
  • blog
  • domains
  • restaurants
  • site-configuration
  • api-integration

README badge

README badge for wix/skills/wix-manage

REST API operations for configuring Wix business solutions including stores, bookings, CMS, contacts, domains, and ecommerce. Routes to site setup, entity management (products, services, staff), bulk administrative operations, and server-to-server integrations across Wix's business app ecosystem.

Generated from the current SKILL.md.

Do I need API credentials to use these recipes?
Yes. The skill requires Wix REST API access via either an API key or OAuth token to execute any management operations.
Can I use these recipes to display data on my site frontend?
No. These recipes are for backend REST API operations only — site configuration, entity management, and administrative tasks. They do not cover frontend development or displaying data to users.
What business domains do these recipes cover?
The skill covers stores, bookings, payments, CMS, contacts, forms, media, apps, pricing plans, restaurants, rich content, sites, blogs, calendars, domains, and site properties.
Do these recipes handle OAuth authentication with external services like Google Calendar?
Yes. The external calendar integration recipe covers OAuth-based setup with Google Calendar, Microsoft Outlook, and Apple Calendar for bidirectional event sync.

Generated from the current SKILL.md. These answers refresh after source changes.