Hello, good afternoon. I've been facing a problem for the past 2 days that I can't seem to resolve. I'm creating a GPT agent and configuring its actions, following the guide on actions.zapier.com.
The goal of the agent is to access a Notion database through Zapier and perform queries or modifications based on user requests. Following the guide on the actions.zapier.com website, I created the actions in Zapier, enabled them, and granted the necessary permissions.
I created the agent and added the schema code generated by Zapier, but when I test it, it gets stuck asking me to log in to Zapier, and the button doesn't work.
I'm not sure if it's a configuration problem in the code or in the authentication section, but I would appreciate it if someone could help me resolve this issue.
I've already tried clearing the cache, changing browsers, logging out, etc.
I'll leave the code below for anyone who wants to take a look, along with screenshots. I hope someone can help me resolve it or guide me in the right direction.
SCHEMA:
{
"openapi": "3.0.2",
"info": {
"title": "Zapier AI Actions for GPT (Dynamic)",
"version": "1.0.0",
"description": "Equip GPTs with the ability to run thousands of actions via Zapier. (703dcca4c2e24c5ea5e2c717eba11029)",
"x-openai-verification-token": "703dcca4c2e24c5ea5e2c717eba11029"
},
"servers":
{
"url": "https://actions.zapier.com"
}
],
"paths": {
"/gpt/api/v1/available/": {
"get": {
"operationId": "list_available_actions",
"summary": "List Available Actions",
"parameters":
{
"in": "query",
"name": "apps",
"schema": {
"title": "Apps",
"description": "Filter actions to a comma separated list of Zapier app names.",
"type": "string"
},
"required": false,
"description": "Filter actions to a comma separated list of Zapier app names."
},
{
"in": "query",
"name": "exact_search",
"schema": {
"title": "Exact Search",
"description": "Filter actions to exact search string of the description (case insensitive).",
"type": "string"
},
"required": false,
"description": "Filter actions to exact search string of the description (case insensitive)."
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AvailableActionResponseSchema"
}
}
}
}
},
"description": "List all the currently available actions for the user. If you try to run an action and receive an error that it does not exist, try refreshing this list first.",
"security":
{
"AccessPointOAuth": ]
}
]
}
},
"/gpt/api/v1/available/{available_action_id}/run/": {
"post": {
"operationId": "run_action",
"summary": "Run Action",
"parameters":
{
"in": "path",
"name": "available_action_id",
"schema": {
"title": "Available Action Id",
"type": "string",
"pattern": "^^A-Z0-9]{26}$",
"example": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
},
"required": true,
"example": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"description": "Run an available action using plain English instructions. You may also include associated params from list_available_actions in the body of the request.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunRequest"
}
}
},
"required": true
},
"security":
{
"AccessPointOAuth": ]
}
]
}
}
},
"components": {
"schemas": {
"AvailableActionSchema": {
"title": "AvailableActionSchema",
"type": "object",
"properties": {
"id": {
"title": "Id",
"description": "The unique ID of the available action.",
"type": "string"
},
"operation_id": {
"title": "Operation Id",
"description": "The operation ID of the available action.",
"type": "string"
},
"description": {
"title": "Description",
"description": "Description of the action.",
"type": "string"
},
"params": {
"title": "Params",
"description": "Available hint fields for the action.",
"type": "object"
}
},
"required": "id", "operation_id", "description", "params"]
},
"AvailableActionResponseSchema": {
"title": "AvailableActionResponseSchema",
"type": "object",
"properties": {
"results": {
"title": "Results",
"type": "array",
"items": {
"$ref": "#/components/schemas/AvailableActionSchema"
}
},
"configuration_link": {
"title": "Configuration Link",
"description": "Guide the user to set up new actions with the configuration_link. You can optionally add ?setup_action=... onto configuration_link to set up a specific Zapier app and action. For example: https://actions.zapier.com/gpt/start?setup_action=gmail find email",
"type": "string"
}
},
"required": "results", "configuration_link"]
},
"RunResponse": {
"title": "RunResponse",
"description": "This is a summary of the results given the action that was run.",
"type": "object",
"properties": {
"id": {
"title": "Id",
"description": "The id of the run log.",
"type": "string"
},
"action_used": {
"title": "Action Used",
"description": "The name of the action that was run.",
"type": "string"
},
"input_params": {
"title": "Input Params",
"description": "The params we used / will use to run the action.",
"type": "object"
},
"review_url": {
"title": "Review Url",
"description": "The URL to run the action or review the AI choices the AI made for input_params given instructions.",
"type": "string"
},
"result": {
"title": "Result",
"description": "A trimmed-down result of the first item of the full results. Ideal for humans and language models!",
"type": "object"
},
"additional_results": {
"title": "Additional Results",
"description": "The rest of the full results. Always returns an array of objects",
"type": "array",
"items": {
"type": "object"
}
},
"result_field_labels": {
"title": "Result Field Labels",
"description": "Human readable labels for some of the keys in the result.",
"type": "object"
},
"status": {
"title": "Status",
"description": "The status of the action run.",
"default": "success",
"enum": "success", "error", "empty", "preview"],
"type": "string"
},
"error": {
"title": "Error",
"description": "The error message if the action run failed.",
"type": "string"
},
"assistant_hint": {
"title": "Assistant Hint",
"description": "A hint for the assistant on what to do next.",
"type": "string"
},
"full_results": {
"title": "Full Results",
"description": "The full results, not summarized, if available. Always returns an array of objects.",
"type": "array",
"items": {
"type": "object"
}
}
},
"required": "id", "action_used", "input_params", "review_url", "additional_results", "full_results"]
},
"ErrorResponse": {
"title": "ErrorResponse",
"type": "object",
"properties": {
"error": {
"title": "Error",
"description": "Error message.",
"type": "string"
}
},
"required": "error"]
},
"RunRequest": {
"title": "RunRequest",
"description": "Try to stuff as much relevant information into the instructions as possible. Set any necessary AvailableActionSchema params. This type of action allows optionally setting preview_only if the user wants to preview before running.",
"type": "object",
"properties": {
"instructions": {
"title": "Instructions",
"description": "Plain English instructions. Provide as much detail as possible, even if other fields are present.",
"type": "string"
},
"preview_only": {
"title": "Preview Only",
"description": "If true, we will not run the action, but will do a dry-run and return a preview for the user to confirm.",
"default": false,
"type": "boolean"
}
},
"required": "instructions"]
}
},
"securitySchemes": {
"AccessPointOAuth": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"authorizationUrl": "/oauth/authorize/",
"tokenUrl": "/oauth/token/",
"scopes": {
"nla:exposed_actions:execute": "Run AI Actions"
}
}
}
}
}
}
}
Please let me know if you need another screenshot or info. Thanks!