# ai_mentor_orgs_users_periodic_agents_retrieve Endpoint to create and view, update and delete periodic agents. Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent. Access to these are restricted to platform admins and tenant administrators Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent. A Periodic Agent is allowed to have a and . When a is set for a Periodic Agent, a post request with data entries containing the log and timestamp of the run will be made to the callback_url provided. Here is the payload structure: The payload is encrypted using the provided. You can validate the payload using the X-Hub-Signature-256 signature header for request data. This is a Sha256 encoded HMAC hex digest of the payload body. Endpoint: GET /api/ai-mentor/orgs/{org}/users/{user_id}/periodic-agents/{id}/ Version: 3.59.0-ai-plus Security: PlatformApiKeyAuthentication ## Path parameters: - `id` (integer, required) A unique integer value identifying this periodic agent. - `org` (string, required) - `user_id` (string, required) ## Response 200 fields (application/json): - `id` (integer, required) - `mentor` (object, required) - `mentor.name` (string, required) - `mentor.unique_id` (string) - `mentor.flow` (any, required) The langflow json for the mentor - `mentor.slug` (string) - `mentor.platform` (string) - `mentor.allow_anonymous` (boolean) - `mentor.metadata` (any,null) - `mentor.enable_moderation` (boolean) - `mentor.enable_post_processing_system` (boolean) - `mentor.enable_openai_assistant` (boolean) (Deprecated) Set template mentor to openai-agent instead. - `mentor.enable_total_grounding` (boolean) Whether to force mentor to only use information within the provided documents. - `mentor.enable_suggested_prompts` (boolean) Whether to show suggested prompts for the mentor or not. Note: Suggested prompts are created by tenant admins. - `mentor.enable_guided_prompts` (boolean) Whether to show suggested prompts for the mentor or not. Note: Guided prompts are created with an llm based on chat history. - `mentor.guided_prompt_instructions` (string) Instructions to determine how prompt suggestions are generated. - `mentor.google_voice` (integer,null) - `mentor.openai_voice` (integer,null) - `mentor.categories` (array, required) - `mentor.categories.description` (string,null) - `mentor.categories.category_group` (integer,null) - `mentor.categories.audience` (object, required) - `mentor.categories.audiences` (array, required) - `mentor.proactive_prompt` (string) Prompt template used to start a conversation with the user when greeting_type is proactive_prompt. This will be sent to the LLM so it can respond naturally - `mentor.moderation_system_prompt` (string) The prompt for the moderation system. This prompt must clearly distinguish between 'Approapriate' and 'Not Appropriate' queries. - `mentor.post_processing_prompt` (string) Prompt to be used to alter or modify final llm response into any desired form. - `mentor.moderation_response` (string) Desired feedback to return to the user when their prompt is deemed inappropriate. - `mentor.safety_system_prompt` (string) Prompt to check whether the models response is appropriate or not. - `mentor.safety_response` (string) Feedback given to the user when a model generates an inappropriate response - `mentor.enable_safety_system` (boolean) - `mentor.proactive_response` (string) Response to start a conversation with a user. - `mentor.greeting_method` (string) How the mentor should greet the user. proactive_prompt: Allow the LLM to respond to proactive_prompt msg. proactive_response: use proactive_response template without performing an LLM call. * - Proactive Prompt * - Proactive Response Enum: "proactive_prompt", "proactive_response" - `mentor.call_configuration` (object) - `mentor.call_configuration.mode` (string) * - Realtime * - Inference Enum: "realtime", "inference" - `mentor.call_configuration.tts_provider` (string) * - Openai * - Google * - Elevenlabs Enum: "openai", "google", "elevenlabs" - `mentor.call_configuration.stt_provider` (string) * - Openai * - Google * - Deepgram * - Cartesia Enum: "openai", "google", "deepgram", "cartesia" - `mentor.call_configuration.llm_provider` (string) * - Openai * - Google Enum: "openai", "google" - `mentor.call_configuration.use_function_calling_for_rag` (boolean) Whether to use function calls in the agent or force RAG calls before LLM generation - `mentor.call_configuration.openai_voice_id` (integer,null, required) - `mentor.call_configuration.google_voice_id` (integer,null, required) - `mentor.call_configuration.enable_video` (boolean) Whether to enable video for the call. (applicable only for realtime mode) - `mentor.call_configuration.platform_key` (string, required) - `mentor.mcp_servers` (array, required) - `mentor.mcp_servers.url` (string, required) The url of the MCP server. - `mentor.mcp_servers.transport` (string) * - Sse * - Websocket Enum: "sse", "websocket" - `mentor.mcp_servers.headers` (any) Headers to send to the MCP server. Useful for authentication, - `mentor.mcp_servers.created_at` (string, required) - `mentor.mcp_servers.updated_at` (string, required) - `mentor.last_accessed_by` (integer,null) edX user ID - `mentor.recently_accessed_at` (string,null) - `mentor.created_by` (string,null) - `title` (string, required) - `username` (string, required) - `prompt` (string) Prompt for the periodic agent if any. - `task` (object, required) - `task.name` (string, required) Short Description For This Task - `task.crontab` (object, required) - `task.crontab.minute` (string) Cron Minutes to Run. Use "*" for "all". (Example: "0,30") - `task.crontab.hour` (string) Cron Hours to Run. Use "*" for "all". (Example: "8,20") - `task.crontab.day_of_week` (string) Cron Days Of The Week to Run. Use "*" for "all", Sunday is 0 or 7, Monday is 1. (Example: "0,5") - `task.crontab.day_of_month` (string) Cron Days Of The Month to Run. Use "*" for "all". (Example: "1,15") - `task.crontab.month_of_year` (string) Cron Months (1-12) Of The Year to Run. Use "*" for "all". (Example: "1,12") - `task.one_off` (boolean) If True, the schedule will only run the task a single time - `task.start_time` (string,null) Datetime when the schedule should begin triggering the task to run - `task.enabled` (boolean) Set to False to disable the schedule - `modified_at` (string, required) - `enabled` (boolean, required) - `one_off` (boolean, required) - `pathway` (string) - `callback_url` (string) - `callback_secret` (string) - `parent_session_id` (string) - `parent_mentor_id` (integer,null) - `previous_agent` (integer,null) Agent that needs to run before the current agent runs. - `previous_agent_status` (string) The status that the previous agent must be in before this agent gets scheduled. * - Success * - Error * - Running * - Pending Enum: "success", "error", "running", "pending" - `previous_agent_output` (string, required) This will be fed into the run of this agent as part of its input prompt.