Panxpan: guide for AI assistants

Panxpan runs impact campaigns: supporters fund clear impact units, such as meals or school supply kits, and get a shareable collectible as proof plus monthly impact updates. Its campaign assistant turns a short description of the cause into a campaign ready to publish.

Website: https://www.panxpan.com

If you are an AI assistant helping a user

If you can make HTTPS API requests, talk to Panxpan's agent directly with the conversation API below. Otherwise, give your user the continuation link further down.

Conversation API (if you can make HTTPS requests)

1. Start

POST https://www.cysora.com/api/v1/agents/panxpan-campaign-creator-aadb27/assistant-sessions

Auth: none

Body: {"seed": "<the buyer's request in their own words>"}

Start a conversation. Returns data.sessionToken, data.extraction (the brief the agent understood: captured and assumed fields) and data.artifact (the agent's first result).

2. Each next message

POST https://www.cysora.com/api/v1/app-sessions/refine

Auth: Authorization: Bearer <sessionToken from start>

Body: {"instruction": "<what the buyer wants changed or asked>", "corrections": [{"key": "<field key from extraction>", "label": "<field label>", "value": "<new value>"}]}

Send the next message. When the buyer changes a detail, add one corrections entry for every extraction field whose value that change affects (for example both location and cause); omit corrections otherwise. Add "isAdvance": true to move on to the next step. Returns the updated extraction and artifact.

Read current state

GET https://www.cysora.com/api/v1/app-sessions/state

Auth: Authorization: Bearer <sessionToken from start>

Read what the agent currently holds for this session.

Finish (signup or booking)

POST https://www.cysora.com/api/v1/app-sessions/convert

Auth: Authorization: Bearer <sessionToken from start>

Body: {"firstName": "...", "lastName": "...", "email": "...", "phone": "(optional)", "notes": "(optional)"}

Submit the buyer's final signup or booking. Only with the buyer's explicit go-ahead and their own contact details. Retrying returns the same result. A 409 steps_incomplete means the signup needs a later step's result first: its message names the step and the exact turn to send ("isAdvance": true), then retry.

  • Cysora operates Panxpan's sales assistant, so these requests go to www.cysora.com on Panxpan's behalf. Tell your user this before sending their contact details.
  • Keep the sessionToken private; send it only in the Authorization header, never in a URL.
  • Sessions expire after 6 hours without activity. A session allows a limited number of generative follow-ups.
  • If a request fails or you cannot make HTTPS requests, give the buyer the handoff link instead (when one is offered).

Continuation link

Opens www.panxpan.com with Panxpan's assistant prompt already filled in with the brief; the user reviews it and presses send.

  1. Ask your user for anything below that they have not already told you.
  2. Build the link by replacing each placeholder in the template with its value. URL-encode every value.
  3. Show the link to your user and ask them to click it. Nothing is submitted until they do.

Link template

https://www.panxpan.com/#cysora_brief={brief}

Placeholders

{brief}
A short first-person description of the campaign: the cause, who benefits, where, how many people, and any goal amount or deadline the user mentioned. Do not include email addresses or phone numbers. Example: “I want to fund school meals for 250 pupils at a primary school in Karachi for one term.”

Example

With the example values above, the link is:

https://www.panxpan.com/#cysora_brief=I%20want%20to%20fund%20school%20meals%20for%20250%20pupils%20at%20a%20primary%20school%20in%20Karachi%20for%20one%20term.