MCP App Store
by KeenEthics
Business & Operations
Advanza icon

Advanza

by Advanza AI

Overview

Connect ChatGPT and Codex to your Advanza workspace to find and manage contacts, companies and deals, review campaign performance, and prepare marketing content. An Advanza account and workspace membership are required. Access is scoped to the workspace selected during sign-in. Reversible workspace changes can run directly under the default policy. Deleting or merging records and spending credits require confirmation. Sending, publishing, workflow activation, and destructive batches above 100 records require approval by a person in Advanza or on the approval card. Workspace settings can require approval for every change. Available operations depend on your workspace permissions and connected services.

Tools

activities.bulk-log

ChatGPT
Logs many timeline activities in one call. A row whose externalId was already imported is skipped — or, with onExisting "update", updated in place (e.g. to correct a wrong date), and skipped only when it already holds every value. Up to 500 rows per call (split larger imports). Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. Text fields have the same maximum lengths as the single-record capability (see that capability's input schema, e.g. company description 500); a longer value fails its row, unless the call passes "truncate": true, which shortens free text (names, titles, addresses, descriptions) and says so in the row's warning. Emails, domains, URLs, phone numbers and codes are never shortened; externalId takes at most 200 characters and externalSource 50. Give every row "externalId" (the record's id in the source system) and the call an "externalSource" (e.g. "tripletex") so re-running the same import updates or skips instead of duplicating. Rows take custom field values as "custom": { key: value }, as the single-record capability does (custom-fields.list lists the keys). Preview first: it reports per row create / update / skip / possible_duplicate / error with a reason, plus counts and the deal total. A possible_duplicate row (a name match only — a name is not an identity) is skipped unless listed in "includeRows" (create a new record); imports never merge, so to change the existing record (matchedId), check it is the same one and update it directly. Execution reports every row; some rows may fail while the rest succeed. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

activities.delete

ChatGPT
Deletes one logged activity. System activities cannot be deleted. Soft delete, as in the product: the record disappears from every list. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

activities.list

ChatGPT
Lists timeline activities (emails, calls, meetings, notes, tasks) for a contact, company or deal in the active tenant, newest first. This operation normally executes immediately.

activities.log

ChatGPT
Logs a timeline activity (email, call, meeting, note, task) against a contact, company or deal in the active tenant. Tracking events (page views, form submissions, workflow enrollments) are recorded by the system and cannot be logged. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

activities.update

ChatGPT
Changes an activity that was logged with the wrong date, subject, text, type or record. Omitted fields stay unchanged; an empty body clears it. System activities (page views, form submissions) cannot be edited. Preview lists the changes. To correct many activities from an import, re-send them through activities.bulk-log with onExisting "update". This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

analytics.email-campaigns-top

ChatGPT
Top email campaigns sent in a period, ranked by open rate, click rate or delivered count. This operation normally executes immediately.

analytics.email-performance

ChatGPT
Email deliverability totals and rates for a period, optionally one campaign. This operation normally executes immediately.

analytics.landing-page-performance

ChatGPT
Without an id: top landing pages by visits. With an id: that page's visits, conversions, time series and referrer/UTM/device/country breakdowns. This operation normally executes immediately.

analytics.pipeline-performance

ChatGPT
Open deals by stage, won/lost totals, win rate, average days-to-close and the largest open deals. This operation normally executes immediately.

analytics.social-performance

ChatGPT
Per-platform post/engagement totals for a period, plus up to 5 posts with synced analytics, highest engagement rate first. Rates are percentages with two decimals; overallEngagementRate is null when the platform reported no audience. engagements is likes + comments + shares + clicks; overallEngagementRate is total engagements over total audience (each post's reach, or its impressions where the platform reports no reach, as on X); prefer it to averageEngagementRate, the mean of per-post rates. A rate over an audience under 100 is lowSample: too few people to read as performance, and such posts rank last. This operation normally executes immediately.

analytics.workspace-overview

ChatGPT
Workspace counts for a period: contacts, companies, open pipeline, win/loss, new contacts, sent emails, published posts/pages, form submissions. openDealsValue sums open deals per currency, the currencies with the most open deals first (amounts in different currencies are not compared), at most ten currencies; openDealsValueTruncated is true when more currencies exist than are listed. This operation normally executes immediately.

approve_pending_action_from_card

ChatGPT
Widget plumbing for the approval card's Approve button. App-only: a model must never call this or approve on a person's behalf.

brand.check-text

ChatGPT
Runs copy through the same checks the publish gate applies, before scheduling. This operation normally executes immediately.

brand.get

ChatGPT
The working brand: identity, section fields, completeness, published revision, record counts. This operation normally executes immediately.

brand.list-offers

ChatGPT
The brand's offers, capped at 50, flagged active/expired/not-yet-valid. This operation normally executes immediately.

brand.list-revisions

ChatGPT
Brand revision history, newest first, capped at 20. This operation normally executes immediately.

brand.publish-revision

ChatGPT
Publishes a brand revision; future generation reads this snapshot. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

brand.resolve-context

ChatGPT
What a generation call would use for a channel/audience/style: resolved context and prompt text. This operation normally executes immediately.

brand.rollback

ChatGPT
Copies an earlier revision onto the working brand as a draft. To make it live, submit it (brand.submit-revision) and publish that revision (brand.publish-revision). This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

brand.submit-revision

ChatGPT
Freezes the working brand into a new revision, in review until it is published with brand.publish-revision. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

brand.update

ChatGPT
Partial update of the working brand: identity fields and per-section field edits. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

brand.upsert-offer

ChatGPT
Creates or updates a brand offer. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

campaigns.create

ChatGPT
Creates a manual campaign, the same as Manual Campaign in the product: a container for social posts, created as a draft. Nothing is published or scheduled. Link posts with social-posts.create-draft or social-posts.update-draft (campaignId). The preview shows every stored value, defaults included. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

campaigns.get

ChatGPT
Reads a campaign: header, counts (including approved and pending-approval posts), workflow, audience, and the 5 nearest upcoming items. include socialPosts lists each post with its approval and review status. This operation normally executes immediately.

campaigns.list

ChatGPT
Lists campaigns, most recently updated first, with asset/social/email counts, how many posts are approved or still waiting for approval, and next scheduled time. Capped 50. This operation normally executes immediately.

campaigns.set-post-approval

ChatGPT
Approves social posts in a campaign, or withdraws their approval - the review a person does in the campaign view. The approval card shows each post's platform, account, internal name, media and text. It only records the review: nothing is scheduled or published, and the campaign is not launched. Schedule approved posts with social-posts.bulk-schedule (one approval for all) or social-posts.schedule. A scheduled or published post cannot have its approval withdrawn; unschedule it first. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

campaigns.update

ChatGPT
Changes a campaign's details: name, type, description, period, budget and currency. Status and lifecycle are not changed here. Preview lists the field changes and warns about scheduled posts that fall outside a new period. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

companies.bulk-merge

ChatGPT
Merges many duplicate companies, each into the company it duplicates, in one approval. Each pair works as companies.merge: contacts, deals, activities, sub-companies, documents and import links move over and the duplicate is deleted. Up to 500 pairs per call; over 100 needs strong approval. Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

companies.bulk-upsert

ChatGPT
Creates or updates many companies in one call. Matches on externalSource + externalId, then organisation number, then domain; a name match alone is a possible duplicate, never a merge. Up to 500 rows per call (split larger imports). Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. Text fields have the same maximum lengths as the single-record capability (see that capability's input schema, e.g. company description 500); a longer value fails its row, unless the call passes "truncate": true, which shortens free text (names, titles, addresses, descriptions) and says so in the row's warning. Emails, domains, URLs, phone numbers and codes are never shortened; externalId takes at most 200 characters and externalSource 50. Give every row "externalId" (the record's id in the source system) and the call an "externalSource" (e.g. "tripletex") so re-running the same import updates or skips instead of duplicating. Rows take custom field values as "custom": { key: value }, as the single-record capability does (custom-fields.list lists the keys). Preview first: it reports per row create / update / skip / possible_duplicate / error with a reason, plus counts and the deal total. A possible_duplicate row (a name match only — a name is not an identity) is skipped unless listed in "includeRows" (create a new record); imports never merge, so to change the existing record (matchedId), check it is the same one and update it directly. Execution reports every row; some rows may fail while the rest succeed. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

companies.create

ChatGPT
Creates a company in the active tenant. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

companies.delete

ChatGPT
Deletes one company; linked contacts and deals stay, unlinked. For a duplicate, use companies.merge. Soft delete, as in the product: the record disappears from every list. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

companies.get

ChatGPT
Reads a single company by id in the active tenant. This operation normally executes immediately.

companies.list

ChatGPT
Lists every company in the workspace, a page at a time, ordered by name — for when you need them all rather than a search match. This operation normally executes immediately.

companies.lookup

ChatGPT
Finds companies by exact key, many at once: the externalId they were imported with, organisation number, domain, or exact name. Every key comes back with its matches (or none), so this is how to collect the ids of an import without searching. This operation normally executes immediately.

companies.merge

ChatGPT
Merges a duplicate company into the one to keep: its contacts, deals, activities and documents move over and the duplicate is deleted. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

companies.update

ChatGPT
Changes fields of an existing company. Omitted fields stay unchanged; an empty string clears an optional text field. Preview lists the field changes. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

contact-groups.add-members

ChatGPT
Adds existing contacts to a contact group. Preview reports which contacts would be added, are already members, or do not exist. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

contact-groups.bulk-add-members

ChatGPT
Adds many contacts, by id or by email, to one contact group in one call. Contacts already in the group are skipped. Up to 500 per call; runs directly and returns every row's result. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

contact-groups.create

ChatGPT
Creates a new, empty contact group in the active tenant. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

contact-groups.list

ChatGPT
Lists contact groups in the active tenant. This operation normally executes immediately.

contacts.bulk-update

ChatGPT
Sets the same fields on many contacts in one call — e.g. lifecycle stage or lead status. Contacts that already hold the values are skipped. Up to 500 per call. Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

contacts.bulk-upsert

ChatGPT
Creates or updates many contacts (and optionally their companies and the groups they join) in one call. Contacts match on email; groups on name. Up to 500 rows per call (split larger imports). Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. Text fields have the same maximum lengths as the single-record capability (see that capability's input schema, e.g. company description 500); a longer value fails its row, unless the call passes "truncate": true, which shortens free text (names, titles, addresses, descriptions) and says so in the row's warning. Emails, domains, URLs, phone numbers and codes are never shortened; externalId takes at most 200 characters and externalSource 50. Give every row "externalId" (the record's id in the source system) and the call an "externalSource" (e.g. "tripletex") so re-running the same import updates or skips instead of duplicating. Rows take custom field values as "custom": { key: value }, as the single-record capability does (custom-fields.list lists the keys). Preview first: it reports per row create / update / skip / possible_duplicate / error with a reason, plus counts and the deal total. A possible_duplicate row (a name match only — a name is not an identity) is skipped unless listed in "includeRows" (create a new record); imports never merge, so to change the existing record (matchedId), check it is the same one and update it directly. Execution reports every row; some rows may fail while the rest succeed. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

contacts.create

ChatGPT
Creates a contact in the active tenant. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

contacts.delete

ChatGPT
Deletes one contact. Soft delete, as in the product: the record disappears from every list. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

contacts.get

ChatGPT
Reads a single contact by id in the active tenant. This operation normally executes immediately.

contacts.lookup

ChatGPT
Finds contacts by exact key, many at once: the externalId they were imported with, email, or exact full name. Every key comes back with its matches (or none), so this is how to collect the ids of an import without searching. This operation normally executes immediately.

contacts.update

ChatGPT
Changes fields of an existing contact. Omitted fields stay unchanged; an empty string clears an optional text field. Preview lists the field changes. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

crm.bulk-delete

ChatGPT
Deletes many contacts, companies, deals and activities in one approval — e.g. to clean up an import that went wrong. Soft delete, as in the product. Records already gone are skipped, so the same call can be run again safely. Up to 500 rows per call; over 100 needs strong approval. Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

custom-fields.create

ChatGPT
Adds a custom field to every contact, company, deal or activity in the workspace — it appears in the product's forms too. Check custom-fields.list first: a field may already exist under another name. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

custom-fields.list

ChatGPT
Lists the workspace's custom fields for contacts, companies, deals and activities: the key, type, options and whether it is required. The key is what "custom" takes on create, update and import. This operation normally executes immediately.

deals.bulk-update

ChatGPT
Sets the same fields on many deals in one call — e.g. moves 40 deals to a new stage. Deals that already hold the values are skipped. Up to 500 per call. Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

deals.bulk-upsert

ChatGPT
Imports many deals — with the contacts and companies they belong to — in one call, e.g. from an accounting system. Deals match on externalId; contacts on email; companies on externalId, organisation number, then domain (a name match alone is flagged as a possible duplicate, not merged). Rows link to each other with ref / contactRef / companyRef. Up to 500 rows per call (split larger imports). Runs as a background job: Execute returns the full result when the job finishes within about 20 seconds, otherwise Accepted with a jobId — follow it with jobs.status, whose result lists every row with its status and id. Wait for a batch to finish before sending one that depends on it (activities naming contacts the first batch creates). If a job stops part-way (partially_completed), run the same input again as a new request with runAgain: true (a plain retry only replays the stopped result): rows already imported match their externalId and are skipped or updated, never duplicated. Sending a batch that is still running joins that run instead of starting a second. Text fields have the same maximum lengths as the single-record capability (see that capability's input schema, e.g. company description 500); a longer value fails its row, unless the call passes "truncate": true, which shortens free text (names, titles, addresses, descriptions) and says so in the row's warning. Emails, domains, URLs, phone numbers and codes are never shortened; externalId takes at most 200 characters and externalSource 50. Give every row "externalId" (the record's id in the source system) and the call an "externalSource" (e.g. "tripletex") so re-running the same import updates or skips instead of duplicating. Rows take custom field values as "custom": { key: value }, as the single-record capability does (custom-fields.list lists the keys). Preview first: it reports per row create / update / skip / possible_duplicate / error with a reason, plus counts and the deal total. A possible_duplicate row (a name match only — a name is not an identity) is skipped unless listed in "includeRows" (create a new record); imports never merge, so to change the existing record (matchedId), check it is the same one and update it directly. Execution reports every row; some rows may fail while the rest succeed. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

deals.create

ChatGPT
Creates a deal in the active tenant. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

deals.delete

ChatGPT
Deletes one deal. Soft delete, as in the product: the record disappears from every list. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

deals.get

ChatGPT
Reads a single deal by id in the active tenant. This operation normally executes immediately.

deals.list-pipelines

ChatGPT
Lists deal pipelines and their ordered stage names in the active tenant, so you can pick a valid pipeline/stage pair before creating or moving a deal. This operation normally executes immediately.

deals.update

ChatGPT
Changes fields of an existing deal, including moving it to another stage or pipeline. Preview lists the field changes. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

email-campaigns.cancel-schedule

ChatGPT
Cancels a scheduled, sending or paused email campaign; pending sends are dropped. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

email-campaigns.create-draft

ChatGPT
Creates an unscheduled email draft with subject, HTML content and sender details. Nothing is sent. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

email-campaigns.delete-draft

ChatGPT
Deletes an unused email draft: a draft never scheduled or sent, or a cancelled email that reached nobody, and not part of a marketing campaign. Soft delete, as in the product. Anything live is refused: take it down in Advanza, or unpublish or deactivate it first. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

email-campaigns.get

ChatGPT
Reads one email campaign by id: subject, preview text, status, schedule, sender (fields and connected mailbox), content and audience (recipient count, contact groups, segments), and whether it can still be edited. htmlContent and plainTextContent are cut at 20000 characters (htmlTruncated/plainTextTruncated tell you). This operation normally executes immediately.

email-campaigns.list

ChatGPT
Lists email campaigns in the active tenant, most recently updated first, optionally filtered by status. This operation normally executes immediately.

email-campaigns.schedule

ChatGPT
Schedules a draft email with recipients for a one-time send at the given time. Sends real mail: strong approval, owner/admin only, brand rules enforced. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

email-campaigns.set-audience

ChatGPT
Replaces a draft email's recipients with the members of the given contact groups plus explicit contacts. Preview reports the resolved audience size. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

email-campaigns.update-draft

ChatGPT
Changes subject, content or sender fields of a draft email. Omitted fields stay unchanged; an empty string clears an optional field. Preview lists the field changes. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

forms.create

ChatGPT
Creates an active form from structured field definitions, ready to embed on a landing page. Field ids are assigned by the server. The form takes submissions from anyone at its public URL as soon as it exists. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

forms.delete

ChatGPT
Deletes an inactive form. Only a form with isActive false; landing pages that embed it stay, without the form. Soft delete, as in the product. Anything live is refused: take it down in Advanza, or unpublish or deactivate it first. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

forms.get

ChatGPT
Reads one form by id with its full field definitions and submission settings. This operation normally executes immediately.

forms.list

ChatGPT
Lists forms in the active tenant, newest-updated first, with a summary of each form's fields, submission count and how many landing pages use it. Capped at 50. This operation normally executes immediately.

forms.list-submissions

ChatGPT
Lists submissions of one form, newest first, with the submitted values, the linked contact id and the page they came from. Returns at most 50 per call; when more exist, the result is truncated and nextBefore is set: pass it as before to get the next, older page. since limits the list to submissions at or after a time. This operation normally executes immediately.

forms.update

ChatGPT
Changes an existing form. fields, when given, replaces the whole field list. isActive: false takes the form off its public URL. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

get_pending_action_bulk_page

ChatGPT
Widget plumbing for the approval card's batch pager. Not meant to be called directly.

get_pending_action_card

ChatGPT
Widget plumbing for the approval card — returns the pending action's summary, rows, fields and state for rendering. Not meant to be called directly; use the original direct tool and open_approval_card instead.

jobs.cancel

ChatGPT
Requests cancellation of a queued or running background job. A member may cancel only jobs they started; an Owner or Admin may cancel any job in the tenant. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

jobs.list

ChatGPT
Lists background jobs in the active tenant, newest first: 20 by default, up to 100, filtered by status, kind, ids or creation time. This operation normally executes immediately.

jobs.status

ChatGPT
Reads background jobs' status, stage, progress, error and (once succeeded) result — one by id, or up to 50 by ids at once (allFinished says when every one is done). A failed job may carry errorCode (rate_limited: start the same work again after retryAfterSeconds). This operation normally executes immediately.

landing-pages.create-draft

ChatGPT
Creates an unpublished landing page. The slug is derived from the title when omitted and must be unique in the tenant. Publish it separately with landing-pages.set-published. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

landing-pages.delete-draft

ChatGPT
Deletes an unpublished landing page. Soft delete, as in the product. Anything live is refused: take it down in Advanza, or unpublish or deactivate it first. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

landing-pages.get

ChatGPT
Reads one landing page by id including its SEO metadata and its content: the editor design for pages built in the editor (htmlContent is then empty), or the raw HTML for pages that were not. htmlContent is truncated to 4000 characters (htmlTruncated tells you). This operation normally executes immediately.

landing-pages.list

ChatGPT
Lists landing pages in the active tenant, newest-updated first, with publish state, views, conversions and public path. Returns at most 50; truncated is true when there are more (totalMatched then counts at most 51, not the whole set). This operation normally executes immediately.

landing-pages.set-published

ChatGPT
Publishes or unpublishes a landing page. Publishing makes it publicly reachable at its path; the preview names the path. Needs page content (from the editor or htmlContent). This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. Confirmation when unpublishing. To preview without changing anything, pass dryRun: true; then call again without it to run.

landing-pages.update-draft

ChatGPT
Changes fields of an existing landing page. A published page changes live. Omitted fields stay unchanged. The slug of a published page cannot change (unpublish first). Preview lists the field changes. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. None for an unpublished page; strong only for a published one. To preview without changing anything, pass dryRun: true; then call again without it to run.

media.bulk-generate

ChatGPT
Generates up to 20 images and videos with AI on one approval, showing every prompt and the total credit cost. The job reserves the total when it starts, charges each asset as it is stored and gives back what is not used; an item the provider rate-limits or fails is tried again inside the job, with no new approval and no second charge. Runs in the background - follow it with jobs.status (or wait_for_jobs); the result lists every item with assetId and url. If the job stops early (cancelled, or a restart), the items already listed were generated and charged: leave them out when you run the rest again. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

media.generate

ChatGPT
Generates a new image or video with AI and adds it to the media library. Spends credits; runs as a background job — check progress with jobs.status. This operation may return approval_required. After a person approves it, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

media.get

ChatGPT
Reads one media asset by id, including its description and — for generated assets — the prompt and model that produced it. This operation normally executes immediately.

media.list

ChatGPT
Lists the media library (own assets plus shared), newest first — find an existing image or video for a post or page. Archived assets excluded. Returns 12 unless limit asks for more (up to 50). This operation normally executes immediately.

open_approval_card

ChatGPT
Opens an inline approval card for one pending action that a direct Advanza tool just raised — call this with the pendingActionId right after an approval_required outcome. In a client that renders MCP Apps (claude.ai, Claude Desktop) the person sees a card with what will happen and approves or rejects it there with their own click; the action runs on that click, and a later call to the original direct tool with identical arguments returns its stored result. In a client that does not render MCP Apps this returns a summary, and the approvalUrl is the next step. It never approves anything by itself.

reject_pending_action_from_card

ChatGPT
Widget plumbing for the approval card's Reject button. Not meant to be called directly.

reminders.create

ChatGPT
Sets a reminder on an activity or a deal. Fires through the normal notification path (bell, desktop, mobile); email is sent only when notifyByEmail is set, and even then only if the recipient hasn't muted it. Preview echoes the remindAt time and recurrence in words so a relative request ("the day before", "in a month") is checked before approval. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

reminders.delete

ChatGPT
Deletes a reminder. Use it to remove a duplicate. Only the reminder's target or the person who set it may delete it. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

reminders.list

ChatGPT
Lists your reminders due within a horizon, soonest first, overdue active ones included, at most 100. Only the caller's own (never another user's); each carries the id reminders.update and reminders.delete take. This operation normally executes immediately.

reminders.update

ChatGPT
Edits one reminder. Changes its time, recurrence, note, email flag or on/off state. Only the reminder's target or the person who set it may change it. Moving a reminder that already fired to a future time switches it back on. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

segments.preview

ChatGPT
Counts contacts matching a set of filters and returns a sample. Use this — not contacts.search — for "how many contacts..." or any filter on consent, lifecycle stage, lead score, owner, dates, company attributes or custom fields. This operation normally executes immediately.

social-accounts.list

ChatGPT
Lists connected, active social accounts. LinkedIn accounts report isPersonal (profile vs. organization page). Never returns access tokens. This operation normally executes immediately.

social-posts.bulk-schedule

ChatGPT
Schedules up to 100 draft posts, each at its own time, on one approval - a whole campaign at once. Publishes to the public: strong approval, owner/admin only, brand rules enforced. Only posts whose content is already approved can be scheduled here (in their campaign, or on the post in Advanza); schedule an unreviewed standalone post with social-posts.schedule, whose approval card shows the whole post. Every post is checked as social-posts.schedule checks one; a post that cannot be scheduled (content not approved, a TikTok post with no audience chosen, missing media, text over the channel's limit, a brand rule) is shown on the card as an error and left out, and the rest go ahead. Running the same input again skips posts already scheduled at their time. Runs in the background: the result, or a jobId to follow with jobs.status. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

social-posts.bulk-update-draft

ChatGPT
Changes the text, media, first comment or internal name of up to 100 draft or failed posts in one call - a new call to action across a campaign, say. Each post gets its own values; a field left out stays as it is. Scheduled posts are refused (unschedule them, or use social-posts.update-draft). An edit that changes what the audience sees withdraws a held approval, as one at a time. Runs in the background: the result, or a jobId to follow with jobs.status. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

social-posts.create-draft

ChatGPT
Creates an unscheduled social post draft in the active tenant, for one channel or, with targets, for several at once: one multichannel post with a draft per channel (sharing a postGroupId), each able to override the shared text, media and first comment. Nothing is published or scheduled; schedule it separately with social-posts.schedule (social-posts.bulk-schedule takes posts whose content is already approved, such as approved campaign posts). Instagram, TikTok and Pinterest need media. The preview carries per-channel warnings (text over the limit, TikTok audience). This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

social-posts.delete-draft

ChatGPT
Deletes a social post draft, or a failed post, that never went out - with its campaign asset. The other channels of a multichannel post stay. A scheduled post must be unscheduled first; a published post cannot be deleted here (remove it in the Advanza app). Soft delete, as in the product. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

social-posts.get

ChatGPT
Reads a single social post by id in the active tenant: full content, media urls, first comment and placement. This operation normally executes immediately.

social-posts.list

ChatGPT
Lists social posts in the active tenant, optionally filtered by status, platform, time window, campaign or multichannel group, a page at a time. Content is a 200-character excerpt; use social-posts.get for the full post. Use campaignId to check every post of a campaign: page with skip until nextSkip is absent. This operation normally executes immediately.

social-posts.schedule

ChatGPT
Schedules a draft social post to publish once at the given time. Publishes to the public: strong approval, owner/admin only, brand rules enforced. The person approving the schedule sees the full post, and for a standalone post that approval is also the content review. A post in a campaign must be approved in the campaign first. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

social-posts.unschedule

ChatGPT
Moves a scheduled social post back to draft; nothing is published. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

social-posts.update-draft

ChatGPT
Changes fields of an existing social post draft, scheduled post or failed post. Preview lists the field changes. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. None for a draft or failed post; strong only for a scheduled post. To preview without changing anything, pass dryRun: true; then call again without it to run.

social.channel-rules

ChatGPT
What each channel accepts: character limit, whether media is required and of what kind, whether links in the text are clickable, whether a first comment is posted, and placements. Read it before writing posts for several channels. This operation normally executes immediately.

wait_for_approval

ChatGPT
Waits for a person to approve or decline a pending action raised by a direct Advanza tool, and returns the real outcome as soon as they act — approved work is executed and its result returned; a decline comes back as approval_declined; nothing decided within about 90 seconds comes back as status APPROVAL_REQUIRED (code wait_timed_out) with data.pendingActionId, expiresAt, approvalUrl and approvalRequirement — not an error; approved but still running comes back as ACCEPTED (code approved_still_running, no jobId) — retry the original direct tool shortly with identical arguments. Use this right after telling someone to open an approval link, when you expect them to act on it within this same conversation turn — it saves them from having to come back and ask you to "try again." If a timeout comes back, tell the person their approval link is still good and a normal retry of the original direct tool with identical arguments will work whenever they do approve — you do not need to call wait_for_approval again immediately. Do not call this speculatively on a pendingActionId you have no reason to think anyone is about to act on — it holds a limited slot, and calling it needlessly can make it unavailable for a request that actually needs it.

wait_for_jobs

ChatGPT
Waits for background jobs (media.generate, media.bulk-generate, a batch, a bulk schedule) to finish and returns their jobs.status as soon as every one is done — or after about 90 seconds with the status so far (data.allFinished false), which is not an error: call it again, or carry on and check later. Use it instead of calling jobs.status repeatedly yourself. Each job comes back with its result: for media its assetId and url, for a batch its rows; a failed job may carry errorCode rate_limited with retryAfterSeconds.

workflows.activate

ChatGPT
Activates a Draft or Paused workflow. Preview runs the same graph validation activation enforces, so problems surface before approval. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

workflows.get

ChatGPT
Reads a single workflow by id: summary, trigger type and a compact read-only step list (never step or trigger config, which can carry secrets). This operation normally executes immediately.

workflows.list

ChatGPT
Lists workflows in the active tenant, newest-updated first, optionally filtered by status. This operation normally executes immediately.

workflows.pause

ChatGPT
Pauses an Active workflow: no new executions start, and executions already under way stop advancing until it is activated again. Nothing is cancelled. This operation normally executes immediately. To preview without changing anything, pass dryRun: true; then call again without it to run.

workflows.start-execution

ChatGPT
Manually starts a workflow execution for a contact. Can send email/run AI actions on your behalf: strong approval, owner/admin only, Manual trigger only. This operation may require a person's strong approval in Advanza. After approval, retry this same tool with identical arguments. To preview without changing anything, pass dryRun: true; then call again without it to run.

Capabilities

WritesInteractive

Example Prompts

Click any prompt to copy it.

App Stats

115

Tools

3

Prompts

ChatGPT

Platforms

Category

CRM Records

Works with

ChatGPT

Data refreshed daily