Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.partneros.ai/llms.txt

Use this file to discover all available pages before exploring further.

PartnerOS workflows automate repetitive partner lifecycle tasks — sending welcome emails when a partner joins, triggering enablement training after an agreement is signed, or notifying your team when a deal closes. The workflow picker endpoints let you retrieve the building blocks (specializations, training modules, and tags) that are referenced when building or triggering workflow automations programmatically. All workflow picker endpoints require authentication. Responses are always scoped to the active organization and filtered to published records only.

Workflow trigger types

Workflows in PartnerOS can be triggered by the following events. These trigger types are defined in the workflow schema and are used when creating workflows through the workflow builder:
Trigger typeDescription
partner_createdFires when a new partner record is created.
partner_joined_platformFires when a partner completes the partner portal onboarding.
deal_registeredFires when a deal registration is submitted.
deal_registration_approvedFires when a deal registration is approved.
deal_registration_declinedFires when a deal registration is declined.
application_submittedFires when a partner application form is submitted.
partner_stage_changedFires when a partner’s lifecycle stage changes.
partner_agreement_signedFires when a partner signs an agreement.
partner_certification_completedFires when a partner completes a certification.
partner_tier_changedFires when a partner’s tier is updated.
mdf_request_submittedFires when a market development fund request is submitted.
contract_renewal_approachingFires on a schedule before a contract renewal date.
partner_inactiveFires when a partner is flagged as inactive.
deal_closed_wonFires when a deal is marked closed-won.
deal_closed_lostFires when a deal is marked closed-lost.
partner_payment_madeFires when a partner payment is recorded.
contact_added_to_partnerFires when a contact is linked to a partner.
manualNo automatic trigger; the workflow is invoked on demand.

List specializations

Returns all published enablement specializations for your organization, ordered alphabetically by title. Specializations are used in workflow builders to target training programs at specific partner competency tracks. GET /api/workflow-pickers/specializations

Response fields

specializations
object[]
required
Array of published specialization records.

Example

curl --request GET \
  --url "https://app.partneros.com/api/workflow-pickers/specializations" \
  --header "Content-Type: application/json" \
  --header "Cookie: session_token=<your-session-token>"
This endpoint returns only specializations with isPublished = true. Draft specializations are excluded.

List training modules

Returns all published training modules for your organization, ordered alphabetically by title. Training modules represent individual learning units that can be assigned to partners as steps in a workflow automation. GET /api/workflow-pickers/trainings

Response fields

trainings
object[]
required
Array of published training module records.

Example

curl --request GET \
  --url "https://app.partneros.com/api/workflow-pickers/trainings" \
  --header "Content-Type: application/json" \
  --header "Cookie: session_token=<your-session-token>"

List training tags

Returns a deduplicated, sorted list of all tags that appear on your organization’s published training modules. Tags are used in workflow builders to filter or target training assignments by topic or audience. GET /api/workflow-pickers/training-tags

Response fields

tags
string[]
required
Alphabetically sorted array of unique tag strings drawn from all published trainings.

Example

curl --request GET \
  --url "https://app.partneros.com/api/workflow-pickers/training-tags" \
  --header "Content-Type: application/json" \
  --header "Cookie: session_token=<your-session-token>"

PPTX export stream

Streams progress for a premium PowerPoint export of an enablement lesson. Connect to this Server-Sent Events (SSE) endpoint after dispatching an export action. The server polls at 1.5-second intervals and emits a completed event as soon as the generated file is ready. GET /api/exports/pptx/stream This endpoint returns Content-Type: text/event-stream. Keep the connection open until you receive a completed or error event. A hard timeout of 5 minutes applies; after that the server emits an error event and closes the stream.

Query parameters

lessonId
string
required
UUID of the enablement lesson whose PPTX export you are waiting for.
cacheKey
string
Optional cache key for the export job. When provided, the server only emits completed for an export whose cache key matches. Omit to accept any fresh export for the lesson.

SSE events

EventDescription
completedThe PPTX file is ready. The data object contains url, costCents, and model.
errorExport failed or timed out. The data object contains a message field.
:hbHeartbeat comment emitted every 15 seconds to keep the connection alive.
: connectedEmitted immediately on connection to confirm the stream is open.

Example

curl --request GET \
  --url "https://app.partneros.com/api/exports/pptx/stream?lessonId=lesson_01hx..." \
  --header "Accept: text/event-stream" \
  --header "Cookie: session_token=<your-session-token>"
In JavaScript, consume this endpoint with the browser EventSource API or a Node.js eventsource library. Parse the data field of each event as JSON.