v1

latestOpenAPI 3.0.32026-07-267015229.9 KB
Skills

Attach Skill to PAL

Attach a skill to a PAL, or overwrite the configuration of an existing attachment. The skill is active on the PAL's next conversation.

Skills with no configuration (like internet_search) take an empty body or {"config": {}}. See Skills for each skill's configuration fields. For magic_canvas, see Canvas configuration.

put/v2/pals/{pal_id}/skills/{skill_id}

Request body

configobject

The configuration for the skill, validated against the skill's config schema. Defaults to {}.

  • presentation: document_ids (required array), optional slides_trigger (on_demand (default) or walk_the_deck), optional prompt.
  • magic_canvas: optional sparse components overlay, plus optional usage_guidance (string, max 2048 characters) appended to the Canvas system prompt to steer when the PAL shows cards. Ignored when blank or when no Canvas component is active. See Canvas configuration.

Example request

{
  "config": {
    "document_ids": [
      "d1234567890",
      "d2468101214"
    ],
    "slides_trigger": "walk_the_deck",
    "prompt": "Walk the participant through the Q4 roadmap deck."
  }
}

Response

Successfully attached the skill

skill_idstring

The unique identifier of the attached skill.

configobject

The skill's configuration. Empty object for skills with no configuration.

Shape depends on skill_id - see Skills. For magic_canvas, config.components is a sparse overlay and config.usage_guidance is an optional string (max 2048 characters) that steers when the PAL shows cards; see Canvas configuration.

attached_atstring

ISO 8601 timestamp of when the skill was first attached to the PAL.

updated_atstring

ISO 8601 timestamp of when the attachment was last modified.

Example response

{
  "skill_id": "presentation",
  "config": {
    "document_ids": [
      "d1234567890",
      "d2468101214"
    ],
    "slides_trigger": "walk_the_deck",
    "prompt": "Walk the participant through the Q4 roadmap deck."
  },
  "attached_at": "2026-06-10T14:30:45.123456+00:00",
  "updated_at": "2026-06-10T14:30:45.123456+00:00"
}