Skip to main content
POST
Create agent plan

Authorizations

Authorization
string
header
required

Access token issued by gs.service.id. Its access_identity claim carries team_sid, actor_sid and actor_type, and that team scope is authoritative.

Team-SID
string
header
required

Team scope for tokens that do not carry one. Ignored when the token already names a team.

Body

application/json

Request body of create_agent_plan.

conversation_sid
string
required

The thread being planned for. Its previous live plan is superseded in the same transaction and conversations.active_plan_sid is re-pointed here.

Required string length: 18
Pattern: ^ub_cv_
goal
string
required

The plan's intent in one human-readable line, 1..255 chars. It is what the thread and the context panel render.

Required string length: 1 - 255
run_sid
string
required

The strategize run committing this plan (ub_rn_…). It is the audit anchor: the plan is later explained through this run.

Required string length: 18
Pattern: ^ub_rn_
steps
object[]
required

The ordered steps, 1 to 8. Ids and step states are assigned server-side; a plan born proposed parks every step as awaiting_approval.

Required array length: 1 - 8 elements
state
enum<string>

Default proposed. The mode gate is server-side, so a plan asked for as active under copilot is still parked for approval, and a post-goal plan, or one that carries a reach_objective step, is floored to proposed whatever is sent.

Available options:
proposed,
active
behavior
enum<string> | null

The built-in competence module that planned; null when a matched custom scenario drove the plan on its own.

Available options:
answer_interested,
meeting_request_book,
answer_info_request,
referral_capture,
not_now_defer,
ooo_delay_ping,
auto_reply_skip,
wrong_person_referral,
reschedule_meeting,
cancel_meeting,
return_to_orchestration,
close_not_interested,
handle_objection,
stoplist_do_not_contact,
vendor_pitch_skip,
acknowledge_low_signal,
followup_no_reply,
signal_followup,
followup_after_person
behavior_version
integer | null

Version of that module, taken from its manifest. Stamped for audit, never interpreted.

Required range: x >= 1
custom_scenario_sid
string | null

The custom scenario (ub_sc_…) that matched this reply, when one did.

Required string length: 18
Pattern: ^ub_sc_

Response

create success envelope.

success
enum<boolean>
required
Available options:
true
operation
enum<string>
required
Available options:
create
item
object
required
already_exists
boolean
required
meta
object
required