### Setup Source API Source: https://docs.go.v7labs.com/reference/inbound-trigger-create This endpoint allows for the setup of a new source with Pipedream metadata. It requires details about the component, configured properties, and integration connection. ```APIDOC ## POST /api/triggers/sources ### Description Sets up a new source with Pipedream metadata. ### Method POST ### Endpoint /api/triggers/sources ### Parameters #### Request Body - **metadata** (object) - Required - Pipedream source configuration details. - **component_key** (string) - Required - Pipedream component key. - **configured_props** (object) - Required - User-configured properties. - **dynamic_props_id** (string) - Required (nullable) - Dynamic props ID for editing. - **integration_connection_id** (string) - Required - Integration connection ID for auth resolution. ### Request Example ```json { "metadata": { "component_key": "my_component", "configured_props": { "key1": "value1" }, "dynamic_props_id": null, "integration_connection_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } } ``` ### Response #### Success Response (200) - **id** (string) - Unique identifier for the trigger. - **workspace_id** (string) - The ID of the workspace. - **backing_project_id** (string) - The ID of the backing project. - **target_project_id** (string) - The ID of the target project. - **webhook_url** (string) - Secure webhook URL for receiving data. - **status** (string) - The current status of the trigger. - **created_at** (string) - Timestamp when the trigger was created (RFC3339 format). - **updated_at** (string) - Timestamp when the trigger was last updated (RFC3339 format). #### Response Example ```json { "id": "f4a3b2c1-d0e9-8765-4321-0fedcba98765", "workspace_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "backing_project_id": "b2c3d4e5-f6a7-8901-2345-67890abcdef0", "target_project_id": "c3d4e5f6-a7b8-9012-3456-7890abcdef01", "webhook_url": "https://webhooks.example.com/trigger/xyz", "status": "active", "created_at": "2023-10-27T10:00:00Z", "updated_at": "2023-10-27T10:05:00Z" } ``` #### Error Response (400) - **code** (string) - Error code (e.g., "bad_request"). - **message** (string) - Error message. #### Error Response Example ```json { "code": "bad_request", "message": "Invalid input provided." } ``` ``` -------------------------------- ### Starts an Import Source: https://docs.go.v7labs.com/reference/import-start Starts a new import process for LLM text data after the import file has been successfully uploaded. ```APIDOC ## POST /llmstxt/go_v7labs_llms_txt ### Description Starts a new import that already has an import file uploaded. ### Method POST ### Endpoint /llmstxt/go_v7labs_llms_txt ### Parameters #### Query Parameters - **import_id** (string) - Required - The ID of the import to start. ### Request Example ```json { "message": "Starting import process for import_id: abc123xyz" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the status of the import process. - **message** (string) - A confirmation message. #### Response Example ```json { "status": "success", "message": "Import process started successfully." } ``` ``` -------------------------------- ### GET /llmstxt/go_v7labs_llms_txt/imports Source: https://docs.go.v7labs.com/reference/import-list-project Fetches a paginated list of all imports for the specified project. ```APIDOC ## GET /llmstxt/go_v7labs_llms_txt/imports ### Description Returns details of all imports in a given project. Supports pagination using limit/offset or cursors. Maximum page size is 1000. ### Method GET ### Endpoint /llmstxt/go_v7labs_llms_txt/imports ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of imports to return per page. - **offset** (integer) - Optional - The number of imports to skip before starting to collect the result set. - **cursor** (string) - Optional - A cursor for fetching the next page of results. ### Request Example ``` GET /llmstxt/go_v7labs_llms_txt/imports?limit=100&offset=200 ``` ### Response #### Success Response (200) - **imports** (array) - A list of import objects. - **id** (string) - The unique identifier of the import. - **name** (string) - The name of the import. - **createdAt** (string) - The timestamp when the import was created. - **nextCursor** (string) - A cursor to fetch the next page of results, if available. #### Response Example ```json { "imports": [ { "id": "import_abc123", "name": "Example Import", "createdAt": "2023-10-27T10:00:00Z" } ], "nextCursor": "cursor_xyz789" } ``` ``` -------------------------------- ### Setup Trigger Source Source: https://docs.go.v7labs.com/reference/inbound-trigger-setup-source Configures the trigger source (provider configuration) and activates the trigger. When enabled, webhooks automatically create entities in the backing project. ```APIDOC ## POST /trigger/source ### Description Sets up the trigger source (provider configuration) and activates the trigger. When enabled, webhooks create entities in the backing project automatically. ### Method POST ### Endpoint /trigger/source ### Parameters #### Request Body - **provider** (string) - Required - The name of the trigger source provider (e.g., "pipedream", "other"). - **provider_metadata** (object) - Optional - Metadata specific to the provider. - **component_key** (string) - Required for Pipedream - The Pipedream component key. - **configured_props** (object) - Required for Pipedream - The configured properties for the Pipedream trigger. - **integration_connection_id** (string) - Required for Pipedream - The ID of the integration connection. - **dynamic_props_id** (string) - Optional (nullable) for Pipedream - The ID for dynamic properties. ### Request Example ```json { "provider": "pipedream", "provider_metadata": { "component_key": "my-pipedream-component", "configured_props": { "url": "https://my.pipedream.net/webhook/123" }, "integration_connection_id": "conn_abc123", "dynamic_props_id": null } } ``` ```json { "provider": "other" } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating the trigger source was set up successfully. #### Response Example ```json { "message": "Trigger source configured and activated successfully." } ``` ``` -------------------------------- ### Start Agent Builder Workflow Source: https://docs.go.v7labs.com/reference/agent-builder-start Starts an agent builder workflow. This endpoint takes a user prompt and an optional PDF file. It streams a structured plan via WebSocket to agent_builder:{workspace_id}:{request_id} and creates properties in the target project. If no project_id is provided, a new project will be created upon plan execution. ```APIDOC ## POST /llmstxt/go_v7labs_llms_txt ### Description Starts an agent builder workflow. Takes a user prompt and optional PDF, streams structured plan via WebSocket to agent_builder:{workspace_id}:{request_id}, and creates properties in the target project. If no project_id is provided, a new project will be created when the plan is executed. ### Method POST ### Endpoint /llmstxt/go_v7labs_llms_txt ### Parameters #### Query Parameters - **project_id** (string) - Optional - The ID of the target project. If not provided, a new project will be created. #### Request Body - **user_prompt** (string) - Required - The prompt provided by the user to guide the agent builder. - **pdf_file** (file) - Optional - A PDF file to be used as context for the agent builder. ### Request Example ```json { "user_prompt": "Create a marketing plan for a new product launch.", "pdf_file": "" } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating the workflow has started. - **workspace_id** (string) - The ID of the workspace for the WebSocket stream. - **request_id** (string) - The ID of the request for the WebSocket stream. #### Response Example ```json { "message": "Agent builder workflow started successfully.", "workspace_id": "ws-12345", "request_id": "req-abcde" } ``` ``` -------------------------------- ### LLM Extraction Instructions Source: https://docs.go.v7labs.com/reference/template-export-projects Defines instructions for extracting data using a natural language prompt for LLM-based extraction. It specifies the prompt to guide the LLM and provides an example of how to retrieve a value from a nested dictionary. ```python """ For type: llm - Natural language prompt describing what to extract, e.g.: "Extract the user's email address from the payload" """ result = data.get('user', {}).get('email') ``` -------------------------------- ### Define AgentFixer Start Request Schema Source: https://docs.go.v7labs.com/reference/agent-fixer-start Defines the structure for initiating an agent fixer workflow. It includes optional parameters for user confirmation and a natural language prompt to guide the fixing process. ```json { "additionalProperties": false, "description": "Request to start an agent fixer workflow", "properties": { "confirm_required": { "description": "Whether to pause for user confirmation before applying fixes. Defaults to false.", "nullable": true, "type": "boolean", "x-struct": null, "x-validate": null }, "prompt": { "description": "Natural language description of what to fix. Defaults to 'Fix any issues with this agent'.", "nullable": true, "type": "string", "x-struct": null, "x-validate": null } }, "title": "AgentFixer.StartRequest", "type": "object", "x-struct": "Elixir.AgiDbWeb.Schemas.AgentFixer.StartRequest", "x-validate": null } ``` -------------------------------- ### Create Project Source: https://docs.go.v7labs.com/reference/project-create Creates a new project with specified details including name, icon, and parent folder. ```APIDOC ## POST /projects ### Description Creates a new project. ### Method POST ### Endpoint /projects ### Parameters #### Request Body - **name** (string) - Required - The name of the project. - **icon** (string) - Optional - The icon identifier for the project. - **icon_color** (string) - Optional - The color of the project icon. Must be one of: red, vermilion, orange, amber, lime, green, mint, cyan, sky, blue, cobalt, indigo, violet, purple, magenta, rose, gray. - **parent_folder_id** (UUID) - Optional - The ID of the parent folder for this project. ### Request Example ```json { "name": "My New Project", "icon": "folder", "icon_color": "blue", "parent_folder_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } ``` ### Response #### Success Response (201 Created) - **id** (UUID) - The unique identifier of the created project. - **name** (string) - The name of the project. - **icon** (string) - The icon identifier for the project. - **icon_color** (string) - The color of the project icon. - **parent_folder_id** (UUID) - The ID of the parent folder for this project. #### Response Example ```json { "id": "f0e9d8c7-b6a5-4321-0987-654321fedcba", "name": "My New Project", "icon": "folder", "icon_color": "blue", "parent_folder_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } ``` ``` -------------------------------- ### Not Started Connection Response Source: https://docs.go.v7labs.com/reference/integration-connection-resume-sync Detailed response for a connection that has not yet started. ```APIDOC ## Schema Integrations.NotStartedConnectionResponse ### Description Represents a connection that has not yet been initiated. ### Properties - **id** (Common.UUID) - The unique identifier for the connection. - **integration_id** (Integrations.IntegrationId) - The ID of the integration. - **local_metadata** (Integrations.ConnectionLocalMetadata) - Local metadata associated with the connection. - **provider** (Integrations.ProviderResponse) - Information about the integration provider. - **public** (Integrations.ConnectionPublic) - Indicates if the connection is public within the workspace. - **status** (Integrations.ConnectionStatus) - The current status of the connection. - **user_id** (Common.UUID) - The ID of the user associated with the connection. - **workspace_id** (Common.UUID) - The ID of the workspace the connection belongs to. ``` -------------------------------- ### POST /api/workspaces/{workspace_id}/integrations/{integration_id}/connections/{connection_id}/start_file_picker_session Source: https://docs.go.v7labs.com/reference/integration-connection-start-file-picker-session Starts a file picker session for the given connection. Returns all data required to open an integration-specific file picker. ```APIDOC ## POST /api/workspaces/{workspace_id}/integrations/{integration_id}/connections/{connection_id}/start_file_picker_session ### Description Starts a file picker session for the given connection. Returns all data required to open an integration-specific file picker. ### Method POST ### Endpoint /api/workspaces/{workspace_id}/integrations/{integration_id}/connections/{connection_id}/start_file_picker_session ### Parameters #### Path Parameters - **workspace_id** (string) - Required - UUID of the workspace. - **integration_id** (string) - Required - The type of the integration that Go supports. Possible values: airtable, asana, box, crunchbase, discord, dropbox, github, gmail, gong, google_ads, google_analytics, google_calendar, google_docs, google_drive, google_sheets, google_slides, hubspot, intercom, jira, linear, linkedin, mailchimp, microsoft_excel, microsoft_onedrive, microsoft_outlook, microsoft_outlook_calendar, microsoft_teams, microsoft_word, monday, notion, quickbooks, salesforce, sharepoint_online, slack, slack_bot, zendesk. - **connection_id** (string) - Required - UUID of the connection. ### Request Example ```json { "example": "request body not provided in schema" } ``` ### Response #### Success Response (200) - **access_token** (string) - Access token to use for 3rd party file picker session - **type** (string) - Type of the access token. Possible values: oauth2. - **expires_at** (string) - Expiration date-time of the access token (ISO 8601) #### Response Example ```json { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "type": "oauth2", "expires_at": "2024-01-01T12:00:00Z" } ``` #### Error Response (400, 401, 403, 404, 500) - **code** (string) - Error code. - **message** (string) - Error message. #### Error Response Example ```json { "code": "bad_request", "message": "Invalid input provided." } ``` ``` -------------------------------- ### POST /api/workspaces/{workspace_id}/projects/{project_id}/entities/{entity_id}/properties/{property_id_or_slug}/start_file_upload Source: https://docs.go.v7labs.com/reference/entity-start-file-upload Initiates the file upload process for a specified entity property. After uploading the file using the provided `file_upload_url`, confirm the upload with the `confirm_upload_url`. This confirmation step is crucial as it may redirect to a different sub-project. ```APIDOC ## POST /api/workspaces/{workspace_id}/projects/{project_id}/entities/{entity_id}/properties/{property_id_or_slug}/start_file_upload ### Description Start the file upload process for a given entity property. Use the retrieved `file_upload_url` to upload the file to the storage. After the file is uploaded, use the returned `confirm_upload_url` to confirm the upload. Be sure to use the provided confirm URL as this request may redirect you to a different sub-project as a result of upload initiation. ### Method POST ### Endpoint /api/workspaces/{workspace_id}/projects/{project_id}/entities/{entity_id}/properties/{property_id_or_slug}/start_file_upload ### Parameters #### Path Parameters - **workspace_id** (string) - Required - The UUID of the workspace. - **project_id** (string) - Required - The UUID of the project. - **entity_id** (string) - Required - The UUID of the entity. - **property_id_or_slug** (string) - Required - Property ID or slug #### Request Body - **filename** (string) - Required - The name of the file to be uploaded. ### Request Example ```json { "filename": "example.png" } ``` ### Response #### Success Response (200) - **file_upload_url** (string) - The URL to upload the file to. - **confirm_upload_url** (string) - The URL to confirm the file upload. #### Response Example ```json { "file_upload_url": "https://example.com/upload", "confirm_upload_url": "https://example.com/confirm" } ``` #### Error Response (400) - **code** (string) - An error code (e.g., "bad_request"). - **message** (string) - A human-readable error message. ``` -------------------------------- ### Not Started Connection Response Schema Source: https://docs.go.v7labs.com/reference/integration-connection-pause-sync Detailed schema for a connection that has not yet started. ```APIDOC ## Schema: Integrations.NotStartedConnectionResponse ### Description A not started connection. ### Properties - **id** (Common.UUID) - The unique identifier for the connection. - **status** (Integrations.ConnectionStatus) - The current status of the connection. - **user_id** (Common.UUID) - The ID of the user associated with the connection. - **integration_id** (Integrations.IntegrationId) - The ID of the integration. - **workspace_id** (Common.UUID) - The ID of the workspace. - **provider** (Integrations.ProviderResponse) - Information about the integration provider. - **public** (Integrations.ConnectionPublic) - Indicates if the connection is public within the workspace. - **local_metadata** (Integrations.ConnectionLocalMetadata) - Local metadata associated with the connection. ``` -------------------------------- ### Integrations API - Not Started Connection Response Source: https://docs.go.v7labs.com/reference/integration-connection-confirm-legacy Response object for a connection that has not yet started. ```APIDOC ## Integrations.NotStartedConnectionResponse ### Description A not started connection. ### Type object ### Properties - **id** (Common.UUID) - The unique identifier for the connection. - **integration_id** (Integrations.IntegrationId) - The identifier for the integration. - **local_metadata** (Integrations.ConnectionLocalMetadata) - Local metadata associated with the connection. - **provider** (Integrations.ProviderResponse) - The integration provider. - **public** (Integrations.ConnectionPublic) - Indicates if the connection is public within the workspace. - **status** (Integrations.ConnectionStatus) - The current status of the connection. - **user_id** (Common.UUID) - The identifier of the user associated with the connection. - **workspace_id** (Common.UUID) - The identifier of the workspace. ``` -------------------------------- ### Start upload Source: https://docs.go.v7labs.com/reference/files-start-upload Given a list of upload sources, creates file records. Depending on the source, the records will be created in a different state. ```APIDOC ## POST /upload ### Description Given a list of upload sources, creates file records. Depending on the source, the records will be created in a different state. ### Method POST ### Endpoint /upload ### Parameters #### Query Parameters - **sources** (array[object]) - Required - A list of upload sources. Each source object should contain a 'type' field (e.g., 'url', 'file') and other relevant details based on the type. ### Request Body ```json { "sources": [ { "type": "url", "url": "http://example.com/file.pdf" }, { "type": "file", "fileName": "document.docx" } ] } ``` ### Response #### Success Response (200) - **files** (array[object]) - A list of created file records. - **id** (string) - The unique identifier for the file record. - **status** (string) - The current status of the file record (e.g., 'processing', 'uploaded'). - **sourceType** (string) - The type of the source used for upload. #### Response Example ```json { "files": [ { "id": "file-123", "status": "processing", "sourceType": "url" }, { "id": "file-456", "status": "uploaded", "sourceType": "file" } ] } ``` ``` -------------------------------- ### Basic Python Extraction Examples Source: https://docs.go.v7labs.com/reference/inbound-trigger-create Provides basic Python code examples for extracting data from the webhook payload. These examples cover simple field access, nested field access, array access, and conditional extraction. ```python # Simple field access result = data.get('user_name') # Nested field access result = data.get('user', {}).get('email') # Array access result = data.get('items', [])[0].get('id') if data.get('items') else None # Conditional extraction if data.get('status') == 'active': result = data.get('user_id') else: result = None ``` -------------------------------- ### Create Project Source: https://docs.go.v7labs.com/reference/project-create Creates a new project with the specified details. ```APIDOC ## POST /projects ### Description Creates a new project. ### Method POST ### Endpoint `/projects` ### Parameters #### Request Body - **description** (string) - Optional - A description for the project. - **name** (string) - Required - The name of the project. ### Request Example ```json { "name": "My New Project", "description": "This is a project for testing purposes." } ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier of the newly created project. - **name** (string) - The name of the project. - **description** (string) - The description of the project. #### Response Example ```json { "id": "proj_abc123", "name": "My New Project", "description": "This is a project for testing purposes." } ``` ``` -------------------------------- ### Get Trigger by ID Source: https://docs.go.v7labs.com/reference/inbound-trigger-get Retrieves a specific trigger by its unique identifier. Use this endpoint to get detailed information about a single trigger. ```APIDOC ## GET /triggers/{id} ### Description Retrieves a specific trigger by its unique identifier. Use this endpoint to get detailed information about a single trigger. ### Method GET ### Endpoint /triggers/{id} ### Parameters #### Path Parameters - **id** (UUID) - Required - The unique identifier of the trigger to retrieve. ### Request Example ```json { "example": "No request body for GET requests" } ``` ### Response #### Success Response (200) - **id** (UUID) - The unique identifier for the trigger. - **workspace_id** (UUID) - The ID of the workspace the trigger belongs to. - **backing_project_id** (UUID) - The ID of the backing project. - **target_project_id** (UUID) - The ID of the target project. - **webhook_url** (string) - The secure webhook URL for receiving data. - **status** (string) - The status of the trigger ('ready' or 'active'). - **created_at** (DateTime) - The timestamp when the trigger was created. - **updated_at** (DateTime) - The timestamp when the trigger was last updated. - **name** (string, nullable) - The name of the trigger. - **provider** (string, nullable) - The provider type of the trigger. - **provider_metadata** (object, nullable) - Provider-specific metadata. - **metadata** (object) - Arbitrary user metadata. - **system_property_ids** (object, nullable) - System property IDs created during deployment. #### Response Example ```json { "id": "b2c3d4e5-f6a7-8901-2345-67890abcdef0", "workspace_id": "f0e9d8c7-b6a5-4321-fedc-ba9876543210", "backing_project_id": "12345678-90ab-cdef-1234-567890abcdef", "target_project_id": "abcdef12-3456-7890-abcd-ef1234567890", "webhook_url": "https://example.com/webhook/newtrigger", "status": "ready", "created_at": "2023-10-27T11:00:00Z", "updated_at": "2023-10-27T11:00:00Z", "name": "New Notification Trigger", "provider": "pipedream", "provider_metadata": { "api_key": "secure-key-123" }, "metadata": { "priority": "high" } } ``` #### Error Response (404, 500) - **code** (string) - An error code (e.g., 'not_found'). - **message** (string) - A description of the error. #### Error Response Example ```json { "code": "not_found", "message": "Trigger with ID 'b2c3d4e5-f6a7-8901-2345-67890abcdef0' not found." } ``` ``` -------------------------------- ### POST /api/workspaces/{workspace_id}/projects/{project_id}/properties/from_prompt Source: https://docs.go.v7labs.com/reference/project-property-config-from-prompt Configures project properties from a prompt. This endpoint returns immediately with a property_id and request_id. You should subscribe to WebSocket for progress events. ```APIDOC ## POST /api/workspaces/{workspace_id}/projects/{project_id}/properties/from_prompt ### Description Returns immediately with property_id and request_id. Subscribe to WebSocket for progress events. ### Method POST ### Endpoint /api/workspaces/{workspace_id}/projects/{project_id}/properties/from_prompt ### Parameters #### Path Parameters - **workspace_id** (Common.UUID) - Required - - **project_id** (Common.UUID) - Required - #### Query Parameters None #### Request Body - **Projects.PropertyConfigFromPromptRequest** (object) - Required - ### Request Example ```json { "example": "Projects.PropertyConfigFromPromptRequest" } ``` ### Response #### Success Response (202) - **Projects.PropertyConfigFromPromptResponse** (object) - #### Response Example ```json { "example": "Projects.PropertyConfigFromPromptResponse" } ``` #### Error Response (400) - **Common.APIError** (object) - #### Error Response (401) - **Common.APIError** (object) - #### Error Response (403) - **Common.APIError** (object) - ``` -------------------------------- ### Setup Source API Source: https://docs.go.v7labs.com/reference/inbound-trigger-create Configures the source for an existing trigger. This can be used to enable a trigger with a specific provider. ```APIDOC ## POST /triggers/{trigger_id}/source ### Description Configures the source for a specified trigger. ### Method POST ### Endpoint /triggers/{trigger_id}/source ### Parameters #### Path Parameters - **trigger_id** (string) - Required - The ID of the trigger to configure. #### Request Body - **source_configuration** (object) - Required - The source configuration details. The structure depends on the source type (e.g., webhook, polling). ### Request Example ```json { "source_configuration": { "type": "webhook", "url": "https://example.com/webhook" } } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation (e.g., "configured"). #### Response Example ```json { "status": "configured" } ``` ``` -------------------------------- ### GET /workspaces/{workspace_id}/projects/{project_id}/inbound-triggers/{inbound_trigger_id} Source: https://docs.go.v7labs.com/reference/inbound-trigger-get Gets a single inbound trigger by ID. This endpoint returns the webhook URL, which is omitted in the list endpoint for security reasons. ```APIDOC ## GET /workspaces/{workspace_id}/projects/{project_id}/inbound-triggers/{inbound_trigger_id} ### Description Retrieves the details of a specific inbound trigger, including its webhook URL. ### Method GET ### Endpoint `/workspaces/{workspace_id}/projects/{project_id}/inbound-triggers/{inbound_trigger_id}` ### Parameters #### Path Parameters - **workspace_id** (UUID) - Required - The ID of the workspace. - **project_id** (UUID) - Required - The ID of the project. - **inbound_trigger_id** (UUID) - Required - The ID of the inbound trigger to retrieve. ### Response #### Success Response (200) - **id** (UUID) - The unique identifier of the inbound trigger. - **name** (string) - The name of the inbound trigger. - **url** (string) - The webhook URL for the inbound trigger. - **created_at** (string) - The timestamp when the trigger was created. - **updated_at** (string) - The timestamp when the trigger was last updated. #### Response Example ```json { "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "name": "My Inbound Trigger", "url": "https://webhooks.example.com/trigger/xyz123", "created_at": "2023-10-27T10:00:00Z", "updated_at": "2023-10-27T10:00:00Z" } ``` #### Error Response (400, 401, 403, 404, 409, 422, 500) - **code** (string) - An error code. - **message** (string) - A description of the error. #### Error Response Example ```json { "code": "NOT_FOUND", "message": "Inbound trigger not found." } ``` ``` -------------------------------- ### JSONPath Examples for Webhook Payload Extraction Source: https://docs.go.v7labs.com/reference/inbound-trigger-create Provides examples of JSONPath expressions used to extract property values from webhook payloads. JSONPath is a query language for JSON, similar to XPath for XML. ```jsonpath # JSONPath syntax examples: # - `$.user.email` - Extract the email field from a nested user object # - `$.items[0].name` - Extract the name from the first item in an items array # - `$.data.price` - Extract the price from a nested data object # - `$['user-name']` - Extract a field with special characters (use brackets notation) ``` -------------------------------- ### Setup Source Request Source: https://docs.go.v7labs.com/reference/inbound-trigger-create This endpoint is used to set up a new trigger source. It supports both Pipedream and custom webhook providers. For Pipedream, it can deploy or redeploy a trigger. For custom webhooks, it configures a generic source. ```APIDOC ## POST /api/triggers/setup_source ### Description Sets up a trigger source. Supports Pipedream (deploys/redeploys trigger) and custom webhook providers. ### Method POST ### Endpoint /api/triggers/setup_source ### Parameters #### Request Body - **provider** (string) - Required - The type of provider ('pipedream' or 'other'). - **provider_metadata** (object) - Optional - Metadata specific to the provider. Required for 'pipedream'. - **trigger_id** (string) - Required (for Pipedream) - Pipedream trigger ID. - **external_user_id** (string) - Required (for Pipedream) - External user ID. - **component_key** (string) - Required (for Pipedream) - Pipedream component key. - **auth_provision_props** (object) - Optional (for Pipedream) - Authentication provision properties. - **configured_props** (object) - Optional (for Pipedream) - User-configured properties. - **dynamic_props_id** (string) - Optional (for Pipedream) - Dynamic props ID for editing. ### Request Example ```json { "provider": "pipedream", "provider_metadata": { "trigger_id": "my-pipedream-trigger-id", "external_user_id": "user-123", "component_key": "my-component-key" } } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating successful setup. #### Response Example ```json { "message": "Trigger source setup successfully." } ``` ``` -------------------------------- ### GET /integration-connections/{id}/action-auth Source: https://docs.go.v7labs.com/reference/integration-connection-get-action-auth Retrieves authentication data for a specific integration action. This endpoint is used to get the necessary credentials or tokens required to perform actions related to an integration connection. ```APIDOC ## GET /integration-connections/{id}/action-auth ### Description Retrieves authentication data for a specific integration action. This endpoint is used to get the necessary credentials or tokens required to perform actions related to an integration connection. ### Method GET ### Endpoint `/integration-connections/{id}/action-auth` ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the integration connection. #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **Integrations.ActionAuthResponse** (object) - Contains the authentication details for the action. #### Response Example ```json { "example": "response body" } ``` #### Error Responses - **400** (Common.APIError) - Bad Request - **401** (Common.APIError) - Unauthorized - **403** (Common.APIError) - Forbidden - **404** (Common.APIError) - Not Found - **409** (Common.APIError) - Conflict - **422** (Common.APIError) - Unprocessable Entity - **500** (Common.APIError) - Internal Server Error ``` -------------------------------- ### TriggersInbound.SetupSourceWithPipedream Source: https://docs.go.v7labs.com/reference/inbound-trigger-create Configuration for setting up a source with the Pipedream provider, including provider metadata. ```APIDOC ## TriggersInbound.SetupSourceWithPipedream ### Description Setup source with Pipedream provider ### Method N/A (Schema Definition) ### Endpoint N/A (Schema Definition) ### Parameters #### Query Parameters N/A #### Request Body - **provider** (string, enum: ["pipedream"], required) - The name of the provider, must be "pipedream". - **provider_metadata** (object, required) - Metadata specific to the Pipedream provider. Expected to be of type `TriggersInbound.PipedreamSourceMetadata`. ### Request Example ```json { "provider": "pipedream", "provider_metadata": { "api_key": "your_pipedream_api_key" } } ``` ### Response #### Success Response (200) - **provider** (string) - The name of the provider. - **provider_metadata** (object) - Metadata specific to the Pipedream provider. #### Response Example ```json { "provider": "pipedream", "provider_metadata": { "api_key": "your_pipedream_api_key" } } ``` ``` -------------------------------- ### Define AgentFixer Start Response Schema Source: https://docs.go.v7labs.com/reference/agent-fixer-start Defines the structure for the response when starting an agent fixer workflow. It includes a unique request ID and the initial status of the workflow, which is 'analyzing'. ```json { "additionalProperties": false, "description": "Agent fixer workflow start response", "properties": { "request_id": { "$ref": "#/components/schemas/Common.UUID" }, "status": { "description": "Initial status of the workflow", "enum": [ "analyzing" ], "type": "string", "x-struct": null, "x-validate": null } }, "required": [ "request_id", "status" ], "title": "AgentFixer.StartResponse", "type": "object", "x-struct": "Elixir.AgiDbWeb.Schemas.AgentFixer.StartResponse", "x-validate": null } ``` -------------------------------- ### POST /api/workspaces/{workspace_id}/projects/{project_id}/triggers/inbound/{inbound_trigger_id}/source Source: https://docs.go.v7labs.com/reference/inbound-trigger-setup-source Sets up the trigger source (provider configuration) and activates the trigger. When enabled, webhooks create entities in the backing project automatically. ```APIDOC ## POST /api/workspaces/{workspace_id}/projects/{project_id}/triggers/inbound/{inbound_trigger_id}/source ### Description Sets up the trigger source (provider configuration) and activates the trigger. When enabled, webhooks create entities in the backing project automatically. ## Provider Configuration Options 1. **Pipedream source**: `{"provider": "pipedream", "provider_metadata": {...}}` - Requires `component_key`, `configured_props`, and `integration_connection_id` - `dynamic_props_id` is optional (nullable) - Automatically deploys trigger to Pipedream - If a trigger is already deployed, it will be removed and redeployed 2. **Other/Custom source**: `{"provider": "other"}` - No metadata required for custom webhooks ### Method POST ### Endpoint /api/workspaces/{workspace_id}/projects/{project_id}/triggers/inbound/{inbound_trigger_id}/source ### Parameters #### Path Parameters - **workspace_id** (string) - Required - - **project_id** (string) - Required - - **inbound_trigger_id** (string) - Required - #### Query Parameters None #### Request Body - **TriggersInbound.SetupSourceRequest** (object) - Required - ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **TriggersInbound.TriggerResponse** (object) - Description #### Response Example ```json { "example": "response body" } ``` #### Error Responses - **400**: Common.APIError - **401**: Common.APIError - **403**: Common.APIError - **404**: Common.APIError - **409**: Common.APIError - **422**: Common.APIError - **500**: Common.APIError ``` -------------------------------- ### GET /api/workspaces/{workspace_id}/projects/{project_id}/triggers/inbound Source: https://docs.go.v7labs.com/reference/inbound-trigger-list Lists all inbound triggers in a project with pagination support. Webhook URLs are not included for security reasons and must be retrieved using the GET /:id endpoint for a specific trigger. ```APIDOC ## GET /api/workspaces/{workspace_id}/projects/{project_id}/triggers/inbound ### Description Lists all inbound triggers in a project with pagination support. Note: Webhook URLs are NOT included in list responses for security. Use the GET /:id endpoint to retrieve the webhook URL for a specific trigger. ### Method GET ### Endpoint /api/workspaces/{workspace_id}/projects/{project_id}/triggers/inbound ### Parameters #### Path Parameters - **workspace_id** (string) - Required - UUID of the workspace. - **project_id** (string) - Required - UUID of the project. #### Query Parameters - **order_by** (array) - Optional - List of field names to order by. Allowed values: `id`, `name`, `updated_at`. - **order_directions** (array) - Optional - List of order directions for the fields in `order_by`. - **limit** (integer) - Optional - The maximum number of records to return when using `offset` pagination. - **offset** (integer) - Optional - The offset to use when paginating records. - **first** (integer) - Optional - The number of records to return after the provided cursor; used in combination with `after`. - **last** (integer) - Optional - The number of records to return for before the provided cursor; used in combination with `before`. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Initiate File Upload Source: https://docs.go.v7labs.com/reference/entity-start-file-upload Starts the file upload process for a given entity property and returns URLs for uploading and confirming the file. ```APIDOC ## POST /llmstxt/go_v7labs_llms_txt/upload ### Description Initiates the file upload process for a specified entity property. This endpoint provides a `file_upload_url` to which the file should be uploaded and a `confirm_upload_url` to finalize the upload process. ### Method POST ### Endpoint /llmstxt/go_v7labs_llms_txt/upload ### Parameters #### Query Parameters - **project_id** (string) - Required - The ID of the project (agent_id). - **field_name** (string) - Required - The name of the field for which the file is being uploaded. ### Request Body This endpoint does not require a request body. ### Response #### Success Response (200) - **file_upload_url** (string) - The URL to upload the file to. - **confirm_upload_url** (string) - The URL to confirm the file upload. #### Response Example ```json { "file_upload_url": "https://example.com/upload/abc123xyz", "confirm_upload_url": "https://example.com/confirm/def456uvw" } ``` ``` -------------------------------- ### JSONPath Data Extraction Examples Source: https://docs.go.v7labs.com/reference/inbound-trigger-create-and-deploy-pipedream-trigger Illustrates common JSONPath expressions used for extracting data from JSON structures. These examples cover accessing root elements, nested objects, array elements by index, and fields with special characters. ```json_path $.user.email $.items[0].id $.data.nested.value $['field-with-dash'] ``` -------------------------------- ### POST /api/workspaces/{workspace_id}/integrations/{integration_id}/connections/{connection_id}/start_sync Source: https://docs.go.v7labs.com/reference/integration-connection-resume-sync Resumes specific syncs for a given connection within a workspace. This endpoint allows for the continuation of interrupted or paused synchronization processes. ```APIDOC ## POST /api/workspaces/{workspace_id}/integrations/{integration_id}/connections/{connection_id}/start_sync ### Description Resumes specific syncs for the given connection. ### Method POST ### Endpoint /api/workspaces/{workspace_id}/integrations/{integration_id}/connections/{connection_id}/start_sync ### Parameters #### Path Parameters - **workspace_id** (UUID) - Required - - **integration_id** (IntegrationId) - Required - The type of the integration that Go supports. - **connection_id** (UUID) - Required - ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **Integrations.ConnectionResponse** (object) - Details of the connection after resuming sync. #### Response Example ```json { "example": "response body" } ``` #### Error Responses - **400** (Common.APIError) - **401** (Common.APIError) - **403** (Common.APIError) - **404** (Common.APIError) - **409** (Common.APIError) - **422** (Common.APIError) - **500** (Common.APIError) ```