add_campaign_exceptional_approvers
ChatGPTAdds exceptional approvers to a campaign, so people beyond the configured approver can approve it. Approvers already listed are skipped, and newly added approvers are notified. When the campaign is pending approval each new approver also receives a pending approval request; in any other status they are only recorded on the campaign.
add_deal_additional_approvers
ChatGPTAdds approvers to a deal that is pending approval so more people must sign off before it can proceed. Requires approval-management rights. Approvers already assigned to the deal are ignored; the notification to the new approvers cannot be recalled.
approve_campaign
ChatGPTApproves a campaign that is pending approval, optionally recording an approval reason and adding exceptional approvers. The campaign owner, creator and approver are notified.
approve_deal
ChatGPTApproves a deal that is pending approval, either by resolving the caller's own pending approver request or, for users with approval-management rights, by resolving all pending requests at once. Only a submitted deal that is currently pending can be approved, and a deal already approved cannot be approved a second time — an edited submitted deal re-enters approval on its own.
assign_partner_classifications
ChatGPTSets the full classification set of one partner card. The given IDs replace the card's current classifications — an empty list clears them. Look up or define the classification first, then assign its ID; unknown IDs are rejected.
bulk_link_campaign_deals
ChatGPTLinks several deals to an ACTIVE campaign in one request, each with its own attribution type and evidence note. The same deal and attribution type cannot appear twice in one request, and SOURCED attribution requires a deal sourced from Campaigns plus a non-empty evidence note. The campaign's creator, owner and approver are notified.
cancel_campaign
ChatGPTCancels an ACTIVE campaign, optionally recording a reason. The campaign is kept with its history rather than deleted, and its participants are notified.
change_campaign_status
ChatGPTWrites a campaign's status directly to any of DRAFT, PENDING_APPROVAL, ACTIVE, COMPLETED or CANCELLED, for vendor admins only. This is a direct administrative write: no approval step runs, no status transition is rejected as invalid, and nobody is notified. The dedicated submit, approve, reject, complete, cancel and reactivate operations run those workflow checks and do notify campaign participants.
complete_campaign
ChatGPTMarks an ACTIVE campaign complete, optionally recording a reason. A campaign that requires approval can only be completed by a vendor admin. Deals stay linked and keep their attribution, and the campaign participants are notified.
complete_deal_pov
ChatGPTCloses a deal's Proof of Value, recording whether the evaluation succeeded and optional outcome notes, and optionally attaching up to five evidence files. Requires an existing POV that has not been completed; completion is final and cannot be repeated.
create_account
ChatGPTCreates a customer (end-customer) account with name and domain, plus optional address, industry, owner, size and phone numbers. Only CUSTOMER accounts can be created here — vendor and partner organizations are created through organization management. Creation notifies the account stakeholders and enqueues an outbound CRM sync, so the side effects cannot be recalled afterwards.
create_arap_claim
ChatGPTCreates an ARAP claim (submitted) with a category, currency, claimed amount, primary approver, and at least one PAYER partner map. Optional: collaborators, linked sources, and documents based on claim category requirements.
create_campaign
ChatGPTCreates a campaign with name, type, dates, budget, owner, sharing settings and an optional approver. The status may be DRAFT, PENDING_APPROVAL or ACTIVE, so a campaign can be created straight into an active state without a separate submission step. Participants and the approver are notified, which cannot be recalled, and the campaign joins the shared campaign list of any partner it is shared with.
create_channl_note
ChatGPTCreates a note on a deal, MDF request, or account, attributed to the caller. Participants named on the note are emailed, which cannot be recalled.
create_customer_contact
ChatGPTCreates a customer (end-customer) contact with name and email, plus optional account association, address, company, role, visibility, and phone numbers. The contact type is always CUSTOMER — vendor and partner contacts come from the partner's own organization record. Creating a contact records a contact event, notifies the people involved, and enqueues an outbound CRM sync, so the side effects cannot be recalled afterwards.
create_deal
ChatGPTCreates a deal with optional partner mappings, product selections, customer account and contact association, tags, and approval workflow configuration. A submitted (non-draft) deal starts the approval workflow, notifies the approver and anyone copied on the deal, and enqueues an outbound CRM sync; a draft deal records the deal without notifying anyone and can be submitted later with update_deal. Proof of Value is not configured here — request_deal_pov creates it on a deal that has none.
create_ecosystem_checklist
ChatGPTCreates a checklist on a partner card (PartnerMap) with a label and sort order.
create_ecosystem_partner
ChatGPTAdds one partner card to the caller's ChannlViz ecosystem beneath a parent node, mirroring the Add Partner form. The parent must allow the category (vendor root accepts all; terminal categories accept none) and, when it is a partner card, must have accepted its invitation. Contact name/phone and the address block are required; the website (domain) is required except for Consultant. The card starts in Pre-Qualification stage. The parent node's nodeId comes from the ecosystem graph. Classifications are not part of card creation: the classification is resolved or defined first, then assigned to the new card by its ID.
create_ecosystem_sub_checklist
ChatGPTCreates a sub-checklist item under a checklist, optionally requiring a file and carrying notes.
create_mdf_request
ChatGPTCreates a Market Development Fund (MDF) request for the caller's organization, with a purpose and amount, optional event details, dates, and an approval workflow configuration. Fields are conditional on purpose: non-cash purposes require purposeValue NON-CASH and a code, cash purposes require a percentage, and event purposes require eventName and expectedOutcomes. A submitted request notifies its approver and collaborators, which cannot be recalled; a draft request can be submitted later.
create_partner_classifications
ChatGPTDefines new partner classifications in a batch; names that already exist are reported as duplicates instead of being created twice. Define a classification only after the existing list confirms it is missing.
create_program
ChatGPTCreates a partner program with configurable tiers. Each tier defines requirements (revenue targets, certifications, location coverage, etc.) and benefits (margin settings, MDF allocations). A new program starts in DRAFT status and accepts no enrollments until its status is set to ACTIVE; creating it notifies nobody.
decline_channlsign_document
ChatGPTDeclines the CALLER's signature on a ChannlSign document awaiting them, with a reason of at least 5 characters that the document's creator sees. This only declines the caller's own signature: the document becomes DECLINED only when every signer has declined, becomes PARTIALLY_SIGNED when someone has signed and none are pending, and otherwise stays AWAITING_SIGNATURE with the other signers still able to act. The response's documentStatus reports the document's state right now — report that to the user, not an assumption.
delete_channlsign_document
ChatGPTDeletes a ChannlSign document that has not been sent yet — only the document's creator may delete, and only while it is in DRAFT or UPLOADED status. A sent document can no longer be deleted; void_channlsign_document cancels it.
delete_deal
ChatGPTPermanently deletes a deal and its partner mappings, tags and POV records. Requires deal management rights. Deals that carry a renewal reminder or are submitted renewals cannot be deleted.
delete_ecosystem_checklist
ChatGPTDeletes a checklist and its sub-checklists by ID.
delete_ecosystem_partner
ChatGPTDeletes an ecosystem partner card by nodeId after the same validation the viz delete modal runs. The vendor card cannot be deleted, and partner-side logins may not delete. Child cards under the deleted card are re-parented to targetId when provided, otherwise to the vendor root. Deletion is soft: connections are removed immediately and remaining data cleanup continues in the background.
delete_ecosystem_sub_checklist
ChatGPTDeletes a sub-checklist item by its ID and removes it from its parent checklist.
enroll_in_program
ChatGPTEnrolls the caller's partner organization in an ACTIVE program, creating the enrollment record and starting compliance tracking against the program's tiers. Available to partner users for vendor-run programs; only a program in ACTIVE status accepts enrollments, and an organization cannot enroll in a program it created itself.
get_all_customer_accounts
ChatGPTReturns a paginated list of customer (end-customer) accounts, filterable by search text or a single account ID, and sortable. Read-only. Partner organizations are a separate population, listed by get_all_ecosystem_accounts.
get_all_customer_contacts
ChatGPTReturns a paginated list of customer contacts — contacts recorded at end-customer accounts — with free-text search and sorting. Read-only. Partner-side contacts are a separate population, listed by get_all_ecosystem_contacts.
get_all_ecosystem_accounts
ChatGPTReturns a paginated list of ecosystem accounts — CRM account records for partners whose ChannlViz card is connected — filterable by search text or a single account ID and sortable. Read-only. These are account records, not the partner cards themselves; added-but-unconnected partners appear only in get_ecosystem_relations. Customer accounts are a separate population, listed by get_all_customer_accounts.
get_all_ecosystem_contacts
ChatGPTReturns a paginated list of ecosystem contacts — contacts belonging to the partner organizations the caller works with — with free-text search and sorting. Read-only. Customer contacts at end-customer accounts are a separate population, listed by get_all_customer_contacts.
get_all_partners_compliance
ChatGPTReturns the partner organizations enrolled in a program with each partner's ID and name, assigned tier ID and name, and tier display color. Read-only.
get_arap_claim
ChatGPTFetches full details for a single ARAP claim by its UUID, including category, requirements, documents, partner maps, and linked sources.
get_campaign_approval_history
ChatGPTReturns a campaign's approval history, including each approver's status and resolution. Read-only.
get_campaign_dashboard_summary
ChatGPTReturns a cross-campaign summary across the caller's visible campaigns: total counts, sourced and influenced pipeline, won revenue, and status and type distributions. Read-only.
get_campaign_deals
ChatGPTReturns the deals linked to a campaign. Read-only. Partners see only the deals their own organization linked; vendor admins see every linked deal.
get_campaign_details
ChatGPTReturns one campaign in full: status and approval state, dates, budget and currency, creator, owner, approver, collaborators, expected outcomes, shared partners, connected deal count, and sourced/influenced pipeline with won revenue. Read-only.
get_campaign_logs
ChatGPTReturns a campaign's audit timeline: created, approved, rejected, completed, cancelled, reactivated and deal link/unlink events with their actors and timestamps. Read-only.
get_campaign_mdf_summary
ChatGPTReturns the MDF request totals for a campaign — amount requested and amount approved. Read-only.
get_campaign_metrics
ChatGPTReturns a campaign's aggregated metrics: pipeline, revenue and deal counts broken down by attribution type. Read-only.
get_campaign_partner_maps
ChatGPTReturns the partner maps (tenant relationships) a campaign is shared with. Read-only.
get_campaigns
ChatGPTReturns a paginated list of campaigns with optional filtering by status, type, and search term. Read-only; visibility respects RBAC and partner sharing rules.
get_channl_note_by_note_id
ChatGPTReturns one note with its header, content, author, participant list and note date. Read-only. The comments on the note are listed by get_channl_note_comments_by_note_id.
get_channl_notes_by_module_id
ChatGPTReturns the notes attached to one record, newest first. moduleType selects the record family the notes hang off: Deals, MDF, or Accounts, and moduleRefId is that record's ID. Read-only. Comments on an individual note are listed by get_channl_note_comments_by_note_id.
get_channlsign_document
ChatGPTFetches one ChannlSign document by ID — creator-only — including every signer with their name, email, signing order, decline reason, and signature status (PENDING, VIEWED, SIGNED, DECLINED, VOIDED), so it answers who has and has not signed. Also returns a signed URL to the document's current PDF for the user to open.
get_channlsign_documents
ChatGPTLists ChannlSign e-sign documents for the caller's tenant with pagination, optional status filter (DRAFT, UPLOADED, AWAITING_SIGNATURE, COMPLETED, PARTIALLY_SIGNED, DECLINED, VOIDED), title search, and sorting. ChannlSign is the e-sign feature inside the Channlworks web app, not a separate app: documents are created and sent in the Channlworks app, and these tools read and act on existing documents. Row shape mirrors the ChannlSign dashboard.
get_channlsign_final_copy
ChatGPTReturns a signed download URL for a ChannlSign document's final PDF — available to the creator or any signer once the document is COMPLETED, PARTIALLY_SIGNED, VOIDED, or DECLINED. Hand the URL to the user to open; it expires.
get_channlsign_metrics
ChatGPTReturns the caller's ChannlSign document counts grouped by lifecycle state: draft, awaitingSignature, completed, partiallySigned, declined, and voided, plus the total.
get_channlsign_pending_signatures
ChatGPTLists ChannlSign documents that are awaiting the CALLER's signature — the user's personal signing queue, with the same pagination, search, and sorting as the document list.
get_channlsign_signing_link
ChatGPTReturns the CALLER's own signing link for a sent ChannlSign document — the same external signing page URL the email notification carries. Once a document is sent the link always opens for its signers, even after signing, declining, or voiding; signerStatus and documentStatus in the response report the current state. The user opens the URL and passes the OTP emailed to them to sign; the link alone cannot sign. Refuses only when the caller is not a signer or the document has not been sent. Hand the URL to the user; never open or submit it yourself.
get_deal_approval_history
ChatGPTReturns a deal's approval history: each approver request with its sequence, status and resolution. Read-only.
get_deal_by_id
ChatGPTReturns full detail for one deal: its fields, partner mappings, accounts, contacts, products, tags, approval statuses and Proof of Value state. Read-only.
get_deal_logs
ChatGPTReturns a deal's activity timeline, newest first: created, updated, submitted, approved, rejected, POV and renewal events. Read-only.
get_deal_product_options
ChatGPTReturns the active product SKUs the caller may attach to a deal, each with catalog metadata, list price and minimum order quantity. Read-only. Typical use is to resolve the productSkuId values that create_deal and update_deal accept.
get_deals
ChatGPTReturns a paginated list of deals visible to the caller, with optional filters on stage, approval status, tags and draft state, plus free-text search. Read-only; visibility follows the caller's partner mappings and role.
get_ecosystem_approval_request_details
ChatGPTReturns the approval email behind a bulk invite request — sent email data, sender, recipients, and assigned approver — by the emailId from get_ecosystem_approval_requests.
get_ecosystem_approval_requests
ChatGPTLists bulk partner-invite requests pending action, grouped by bulkUploadId with each request's partner rows, approved/rejected IDs, and comments. The caller needs a request's partner row IDs and emailId to approve or resend it.
get_ecosystem_checklists
ChatGPTReturns a partner card's checklists with their sub-checklists by PartnerMap ID.
get_ecosystem_relations
ChatGPTLists the partner cards on the caller's ChannlViz canvas — every partner organization added to the ecosystem, including added-but-not-yet-connected cards — with node IDs, names, categories, and connection status. Read-only. These are the ecosystem partners; CRM account records for connected partners live in get_all_ecosystem_accounts, and companies with no relationship yet live in the public partner directory (search_public_partners).
get_ecosystem_sub_checklist_files
ChatGPTLists the files attached to a sub-checklist with signed download URLs, and reports whether the sub-checklist requires a file, so a completed upload or completion readiness can be verified.
get_mdf_requests
ChatGPTReturns a paginated list of Market Development Fund (MDF) requests visible to the caller, filterable by approval status, vendor, partner, state, purpose and MDF ID, with search and sorting. Read-only.
get_partner_classifications
ChatGPTReturns the partner classification definitions for the caller's organization with their UUIDs, filterable by name — the same set the viz shows as a card's classifications. Check this list before defining a new classification.
get_program_details
ChatGPTReturns one program with its tiers, requirements, benefits, and the caller's own enrollment status where applicable. Read-only.
get_tenants
ChatGPTReturns the organizations available to the authenticated user, each with the user's role and login type for it. With no type it lists the organizations the user is already a member of; JOINABLE_TENANTS lists organizations the user can join, and CONNECTED_TENANTS lists the user's connected organizations. These are the user's own organizations, not partner organizations — partner organizations are listed by get_all_ecosystem_accounts. Read-only.
get_user_details
ChatGPTReturns the authenticated user's session record: name, email, phone, role, admin flag, membership status, login type, onboarding flags, the active organization with its partner map IDs, and every organization the user belongs to with the per-organization role. Pass activeTenantId to scope the session to one organization the user belongs to; omitting it uses the caller's currently active organization. Read-only.
get_user_identity_profile
ChatGPTReturns the authenticated user's identity-provider profile: display name, username, avatar image URL, email addresses, and account created/updated/last-sign-in timestamps. Read-only. This is the profile record itself, which carries fields the session record from get_user_details does not (username, avatar, per-address emails, sign-in history), while roles, organizations and admin status live on that session record.
import_ecosystem_partners
ChatGPTCreates multiple partner cards from a JSON row list attached to one parent node — the MCP counterpart of the XLSX import. Each row is validated and duplicates are skipped; the response separates created cards (nodeId + contact) from invalid rows with reasons.
invite_ecosystem_partner
ChatGPTEmails a partner invitation for one added ChannlViz card, the MCP counterpart of the card's Invite action. When the card already carries an invitation the email is re-sent and the existing invitation is returned.
link_campaign_deal
ChatGPTLinks a deal to an ACTIVE campaign with an attribution type, an optional manual percentage split, and an optional evidence note. The deal must be visible to the caller's organization, and SOURCED attribution additionally requires a deal sourced from Campaigns and a non-empty evidence note. The campaign's creator, owner and approver are notified.
linked_vp_contacts
ChatGPTReturns the contacts linked to the given partner map IDs as names, email addresses, tenant IDs, user-view labels, and approver flags. Omitting partnerMapIds returns the contacts already visible in the caller's active organization. Read-only. This read is scoped by partner relationship; get_all_ecosystem_contacts and get_all_customer_contacts are the paginated, searchable listings of the same contact population.
list_arap_claim_categories
ChatGPTReturns all claim categories with their requirements for your active tenant, or for a tenant linked to it through a partner map. Categories define the document requirements for claims.
list_arap_claims
ChatGPTReturns a paginated list of ARAP claims visible to the caller. Supports filtering by direction (outgoing/incoming), status, category, partner map IDs, and full-text search on claim ID.
list_industry_segments
ChatGPTReturns the industry segments the caller's organization can assign to a deal or account, each with its UUID and, for a sub-segment, its parent segment's UUID. Read-only. Typical use is to resolve the industrySegmentId value that create_deal, update_deal and create_account accept; a submitted deal requires one.
list_programs
ChatGPTReturns a paginated list of partner programs, filterable by enrollment status (enrolled/available), vendor, and program status (DRAFT/ACTIVE/ARCHIVED), with search and sorting. Read-only. Visibility follows the caller's login type and organization.
list_tags
ChatGPTReturns the tags defined for the caller's active organization, each with its UUID, filterable by module and by tag name. Read-only. The UUIDs it returns are the values the tags.attach and tags.detach fields on the deal and ARAP claim tools accept — tag names are resolved to UUIDs here rather than accepted inline.
process_arap_claim
ChatGPTProcesses a submitted claim with one of three actions: APPROVE (with approved amount, if amount is changed reason required), REJECT (with reason), or ESCALATE (adds an exceptional approver with a reason).
reactivate_campaign
ChatGPTReturns an expired campaign to ACTIVE, optionally recording a reason. The campaign participants are notified.
reactivate_deal
ChatGPTReturns an expired, lost or rejected deal to active work at the stage given in the request, keeping the existing deal data. A dropped deal cannot be reactivated, and reactivation re-enters the deal's approval workflow.
record_arap_claim_payment
ChatGPTRecords an externally completed payment against an APPROVED or PARTIALLY_PAID claim. The funds have already moved outside Channlworks — this tool does not initiate, authorize, exchange, or transfer money. It stores the payment reference, date, method, paid amount, and payment proof documents, updates the claim to PARTIALLY_PAID or PAID, and notifies the claim parties. Only the PAYER party can record a payment.
reject_campaign
ChatGPTRejects a campaign that is pending approval, with a required rejection reason. The reason is recorded in the campaign's approval history and the campaign participants are notified.
reject_deal
ChatGPTRejects a deal that is pending approval, as the pending approver or with approval-management rights. Rejection is final for the submission: every pending approver request is closed, the deal is marked rejected, a running Proof of Value is cancelled, and an unfulfilled renewal schedule is withdrawn. Rejected deals can be corrected and resubmitted for approval again.
request_deal_pov
ChatGPTCreates the Proof of Value period for a deal that does not have one yet, recording the scheduled start and end dates and an optional credit code. Fails if the deal already has a POV; moving an existing POV's end date later is the POV extension operation. On a deal that is already approved this re-triggers the approval workflow, and a POV cannot be removed afterwards, only completed.
request_deal_pov_extension
ChatGPTMoves the scheduled end date of a deal's existing Proof of Value later, with a required reason. Requires a POV that is not already marked successful, and the new end date must be after the current one and within the deal's expiry. Re-triggers the approval workflow when the deal is approved.
request_ecosystem_invite_approval
ChatGPTStages partner rows as a bulk invite request and emails the approver for sign-off. No cards are created yet. Pass bulkId alone to resend an existing request. The approver then uses review_ecosystem_partner_request, and the requester sends invites with send_ecosystem_bulk_invites.
resubmit_arap_claim
ChatGPTResubmits a REJECTED claim back to SUBMITTED status. The CLAIMANT or PAYER can resubmit.
review_ecosystem_partner_request
ChatGPTApproves or rejects the listed partner rows of a bulk invite request. Only the assigned approver may act. With comments, every unlisted row of the batch is also rejected; without comments unlisted rows stay pending.
save_ecosystem_checklist
ChatGPTSaves a partner card's checklist progress: marks sub-checklists complete or incomplete and reorders checklists in one call. A sub-checklist that requires a file cannot be marked complete until upload_ecosystem_sub_checklist_file has attached one.
search_public_partners
ChatGPTSearches a public directory of companies for potential partners, using a natural-language query that may combine technology focus, industry, geography or a specific company name. Read-only, and outside the caller's own data: results are public directory entries, not the partner organizations the caller has a relationship with (those are returned by get_all_ecosystem_accounts and get_ecosystem_relations), and a result does not imply any existing relationship or contact. Appropriate for prospecting and market research. Each page returns 10 results in relevance order; increase page to continue through them.
send_ecosystem_bulk_invites
ChatGPTCreates partner cards for approved rows of a bulk request and emails each partner an invite. Only the caller who is the assigned approver may run this. Partners whose email sends successfully are marked INVITED; per-recipient failures are reported.
set_ecosystem_partner_tags
ChatGPTApplies a tag diff — attach, create, detach — to a partner card's linked account, the same write the viz edit form's tag chips perform. Tag IDs come from list_tags with module ECOSYSTEM_ACCOUNTS; cards without a linked account cannot be tagged.
submit_campaign
ChatGPTSubmits a DRAFT campaign for approval, moving it from DRAFT to PENDING_APPROVAL. Available to partner callers only, and the campaign's approver is notified.
unlink_campaign_deal
ChatGPTRemoves the link between a deal and a campaign, so the deal stops counting toward the campaign's attributed pipeline. Only the organization that created the link can remove it, and links cannot be removed from a completed or cancelled campaign. The deal itself is not deleted; the campaign's creator, owner and approver are notified.
update_arap_claim
ChatGPTUpdates fields on an existing ARAP claim — amount, currency, approvers, collaborators, partner maps (only COLLABORATOR), documents, and status transitions.
update_campaign
ChatGPTUpdates an existing campaign: description, venue notes, virtual link, budget, dates, owner, collaborators and sharing. Fields that a non-DRAFT campaign locks cannot be changed, and collaborators and participants are notified of the update.
update_campaign_deal_attribution
ChatGPTChanges how an already linked deal is credited to a campaign — its attribution type, manual percentage split, or evidence note. The deal stays linked; the link is removed with unlink_campaign_deal.
update_deal
ChatGPTUpdates an existing deal. Omitted fields are left unchanged; partners and products are replaced wholesale when supplied, and the clear* flags remove a previously set value. Moving a deal to LOST requires lostReason, and editing a submitted deal re-triggers its approval workflow, notifies approvers, and enqueues an outbound CRM sync.
update_ecosystem_checklist
ChatGPTRenames a checklist by its ID without touching its sub-checklists or the checklist order.
update_ecosystem_partner
ChatGPTUpdates an existing ecosystem partner card by nodeId with only the changed fields, mirroring the edit form's PATCH. Editable: name, domain, logoURL, address, city, state, country, contactName, contactEmail, contactPhoneNumber, and category (switch-category only — current and target must both be one of Reseller, Referral_Partner, Global_System_Integrator, System_Integrator, Managed_Service_Providers). Stage, checklist, and label are server-owned. On the vendor card only logoURL may change. Contact name and phone are read-only while they come from the contact's account profile and the email is unchanged — change the email first. Avoid category changes while a partner migration is queued or running.
update_ecosystem_sub_checklist
ChatGPTUpdates a sub-checklist's label, notes, or file requirement by ID.
update_program_status
ChatGPTAdvances a program through its workflow: DRAFT → ACTIVE → ARCHIVED. Moving to ACTIVE requires every tier to have at least one requirement and one benefit; a DRAFT program cannot be archived directly. Only the program's vendor organization, or the partner organization that created it, can change its status. Archiving stops new enrollments but leaves existing enrollment records in place.
upload_ecosystem_sub_checklist_file
ChatGPTAttaches a file to a sub-checklist — required before a requiresFile sub-checklist can be marked complete. The file content is base64-encoded (a data-URI prefix is tolerated) and must stay under 3 MB; the server stores it in the same location the ChannlViz upload flow uses. Prefer PDF or image formats for review documents.
void_channlsign_document
ChatGPTVoids a sent ChannlSign document — only the document's creator may void it, with a reason of at least 5 characters. All signers are notified, the document status becomes VOIDED, and no further signatures are accepted.