You can create objectives with the Create Objectives API, or build them in PAL Maker. Charlie can walk you through it there.
- Plan your entire ideal workflow. This will help create a robust branching structure that successfully takes the participant from start to finish.
- Think through the possible answers a participant might give, and ensure the workflow covers these cases.
- Ensure your PAL’s system prompt does not conflict with the objectives. For example, a system prompt, “You are a tutor,” would not perform well with the objectives workflow of a sales associate.
Attaching objectives to a PAL
To attach objectives to a PAL, you can either:- Add them during PAL creation like this:
- Add them by editing the PAL like this:
For the best results, try creating unique objectives for different conversation purposes or business outcomes.For example, a customer onboarding PAL might use objectives focused on data collection, while a support PAL might use objectives focused on issue resolution.
Parameters
objective_name
A desciptive name for the objective.
Example: "check_patient_status"
This must be a string value without spaces.
objective_prompt
A text prompt that explains what the goals of this objective are. The more detail you can provide, the better.
Example: "Ask the patient if they are new or are returning."
confirmation_mode
Whether the LLM or the participant confirms that the objective is complete.
Allowed values:
"auto"(default) - the LLM decides when the objective is complete"manual"- the platform sendsconversation.objective.pending; the participant confirms withconversation.objective.confirm(and can review collected values for accuracy)
output_variables (optional)
This is a list of string variables that should be collected as a result of the objective being successfully completed.
Example: ["patient_status", "patient_group"]
modality
Whether this objective is completed from the participant’s spoken responses or from what Raven sees.
Allowed values:
"verbal"(default) - completed from the participant’s verbal responses"visual"- completed only from visual / perception cues Raven observes
next_conditional_objectives
This represents a mapping of objectives (identified by objective_name), to conditions that must be satisfied for that objective to be triggered after the completion of the current objective.
Example:
next_required_objective
The name of the next required objective (identified by objective_name) that will be activated once the current objective is completed. Use this to define a single next objective without conditions.
Example: "get_patient_name"
callback_url (optional)
A URL that you can send notifications to when a particular objective has been completed.
Example: "https://your-server.com/objectives-webhook"
When completed, the callback payload includes the conversation_id, the name of the objective, and any collected output variables:

