πŸš€ More Vendrato tools: FunnelDupe β€’ GHL Utils
πŸ”„

Update Redirect

n8n-nodes-base.httpRequest

Update an existing URL redirect in the system. Modify redirect source, target, or type.

gohighlevel redirects urls update crm
App GoHighLevel
Category api integration
Version 1.0.0
Author Community
Credentials GoHighLevel OAuth2 API

πŸ’‘ Use Cases

πŸ“š API Documentation

Reference documentation for this API endpoint:

πŸ”— https://marketplace.gohighlevel.com/docs/ghl/links/update-redirect β†—

πŸ“‹ Node Configuration

{
  "nodes": [
    {
      "parameters": {
        "content": "## ✏️ Update Redirect\n\n**Usage:**\nUpdate an existing URL redirect in GoHighLevel.\n\n**Required Input:**\n- `redirectId`: Unique redirect identifier\n- `locationId`: Location ID\n- `source`: Source URL path (e.g., /old-page)\n- `target`: Target URL (full URL or path)\n- `type`: Redirect type (301 or 302)\n\n**Optional Fields:**\nNone\n\n**Setup:**\n1. Configure HTTP Header Auth with GHL Private Token\n2. Pass required fields in incoming data\n3. Node returns updated redirect object\n\n**Output:**\nReturns updated redirect with all current settings\n\n**Credential Setup (HTTP Header Auth):**\n1. In n8n, go to Credentials β†’ Add Credential\n2. Select \"Header Auth\"\n3. Set Name: `Authorization`\n4. Set Value: `Bearer YOUR_ACCESS_TOKEN`\n5. Get your token from GHL Settings β†’ Integrations β†’ Private Integrations",
        "height": 238,
        "width": 389,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        332
      ],
      "typeVersion": 1,
      "id": "sticky-ghl-update-redirect",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "method": "PUT",
        "url": "=https://services.leadconnectorhq.com/funnels/redirects/{{ $json.redirectId }}",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Version",
              "value": "2021-07-28"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"locationId\": \"{{ $json.locationId }}\",\n  \"source\": \"{{ $json.source }}\",\n  \"target\": \"{{ $json.target }}\",\n  \"type\": \"{{ $json.type }}\"\n}",
        "options": {}
      },
      "id": "ghl-api-update-redirect-001",
      "name": "GHL Update Redirect",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        368,
        400
      ],
      "credentials": {
        "httpHeaderAuth": {
          "id": "GHL_Private_Token",
          "name": "GoHighLevel Private Integration"
        }
      }
    }
  ],
  "connections": {},
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "751aeba95f3d1aebe5a6ebe9d20293dd6c0f61b00ef369c580f0dc54913f5fcb"
  }
}
[
  {
    "id": "36d040e3-cf21-4e9b-aea0-e2bbf1683146",
    "meta": {
      "name": "API Call Node",
      "id": "api-call",
      "icon": {
        "svg": "",
        "type": "SVG"
      },
      "description": "## ✏️ Update Redirect  **Usage:**"
    },
    "label": "GHL Update Redirect",
    "dependencies": {
      "node-fetch": "3.3.2"
    },
    "script": "import fetch from \"node-fetch\";\nexport default async function apiCall({\n    url,\n    method,\n    contentType,\n    authorization,\n    body,\n    shouldAwait,\n    queryParams,\n    customHeaders\n}: NodeInputs, {\n    logging\n}: NodeScriptOptions) : NodeOutput  {\n    const headers = {\n        \"Content-Type\": contentType,\n        ...customHeaders\n    };\n    if (authorization) headers[\"Authorization\"] = authorization;\n\n    let queryParamsString = '';\n    if (queryParams) {\n        queryParamsString = '?' + new URLSearchParams(queryParams).toString();\n    }\n\n    const fetchOptions = {\n        method,\n        headers\n    };\n\n    if (method !== 'GET') {\n        fetchOptions.body = JSON.stringify(body);\n    }\n\n    const fetchPromise = fetch(url + queryParamsString, fetchOptions);\n\n    if (!shouldAwait) {\n        return {\n            data: null\n        };\n    }\n\n    const response = await fetchPromise;\n    const data = await response.json();\n    return {\n        status: response.status,\n        data\n    };\n}",
    "inputs": {
      "properties": {
        "method": {
          "type": "string",
          "description": "The HTTP method to use for the API call",
          "enum": [
            "GET",
            "POST",
            "PUT",
            "DELETE",
            "PATCH"
          ],
          "default": "PUT",
          "title": "HTTP Method",
          "buildship": {
            "options": [
              {
                "label": "GET",
                "value": "GET"
              },
              {
                "value": "POST",
                "label": "POST"
              },
              {
                "value": "PUT",
                "label": "PUT"
              },
              {
                "label": "DELETE",
                "value": "DELETE"
              },
              {
                "label": "PATCH",
                "value": "PATCH"
              }
            ],
            "index": 0,
            "sensitive": false
          }
        },
        "url": {
          "description": "The URL of the API endpoint",
          "title": "URL",
          "type": "string",
          "buildship": {
            "index": 1
          }
        },
        "authorization": {
          "description": "The authorization header for the API call, if required (e.g., Bearer or Basic token)",
          "type": "string",
          "title": "Authorization",
          "buildship": {
            "sensitive": true,
            "index": 2
          }
        },
        "queryParams": {
          "default": {},
          "description": "The query parameters for the API call",
          "type": "object",
          "title": "Query Parameters",
          "buildship": {
            "index": 3,
            "sensitive": false
          }
        },
        "body": {
          "type": "object",
          "buildship": {
            "index": 4
          },
          "description": "The body to send with the API call",
          "title": "Body"
        },
        "contentType": {
          "enum": [
            "application/json",
            "application/x-www-form-urlencoded",
            "multipart/form-data",
            "text/plain"
          ],
          "description": "The content type of the API call",
          "title": "Content Type",
          "buildship": {
            "index": 5,
            "options": [
              {
                "label": "application/json",
                "value": "application/json"
              },
              {
                "value": "application/x-www-form-urlencoded",
                "label": "application/x-www-form-urlencoded"
              },
              {
                "label": "multipart/form-data",
                "value": "multipart/form-data"
              },
              {
                "label": "text/plain",
                "value": "text/plain"
              }
            ]
          },
          "type": "string"
        },
        "shouldAwait": {
          "description": "Whether to wait for the request to complete or not",
          "title": "Await?",
          "type": "boolean",
          "buildship": {
            "sensitive": false,
            "index": 6
          }
        },
        "customHeaders": {
          "type": "object",
          "description": "Additional custom headers for the API call",
          "title": "Custom Headers",
          "buildship": {
            "index": 7,
            "sensitive": false
          }
        }
      },
      "type": "object",
      "required": [
        "url",
        "shouldAwait",
        "method"
      ]
    },
    "integrations": [],
    "name": "API Call Node",
    "output": {
      "buildship": {},
      "properties": {
        "status": {
          "buildship": {
            "index": 0
          },
          "type": "number",
          "description": "The HTTP status of the API response",
          "title": "Status"
        },
        "data": {
          "buildship": {
            "index": 1
          },
          "title": "Data",
          "type": "object",
          "description": "The data object from the API response"
        }
      },
      "type": "object"
    },
    "isCollapsed": false,
    "type": "script",
    "values": {
      "method": "PUT",
      "url": {
        "_$expression_": "`https://services.leadconnectorhq.com/funnels/redirects/${ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].redirectId}`",
        "type": "javascript",
        "hasErrors": false
      },
      "authorization": {
        "_$expression_": "`Bearer ${(await getSecret(\"ANONYMIZED_SECRET\"))}`",
        "type": "javascript",
        "hasErrors": false
      },
      "queryParams": {},
      "body": {
        "_$expression_": "{\n  \"locationId\": ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].locationId,\n  \"source\": ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].source,\n  \"target\": ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].target,\n  \"type\": ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].type\n}",
        "type": "javascript",
        "hasErrors": false
      },
      "contentType": "application/json",
      "shouldAwait": true,
      "customHeaders": {
        "Version": "2021-07-28",
        "Content-Type": "application/json"
      }
    }
  }
]
{
  "subflows": [
    {
      "flow": [
        {
          "id": 355,
          "module": "http:ActionSendDataBasicAuth",
          "version": 3,
          "parameters": {
            "key": "ANONYMIZED_CREDENTIALS",
            "handleErrors": false,
            "useNewZLibDeCompress": true
          },
          "mapper": {
            "ca": "",
            "qs": [],
            "url": "https://services.leadconnectorhq.com/funnels/redirects/{{1.redirectId}}",
            "data": "{\n  \"locationId\": {{1.locationId}},\n  \"source\": {{1.source}},\n  \"target\": {{1.target}},\n  \"type\": {{1.type}}\n}",
            "gzip": true,
            "method": "put",
            "headers": [
              {
                "name": "Version",
                "value": "2021-07-28"
              },
              {
                "name": "Content-Type",
                "value": "application/json"
              },
              {
                "name": "Authorization",
                "value": "Bearer {{ANONYMIZED_TOKEN}}"
              }
            ],
            "timeout": "",
            "useMtls": false,
            "bodyType": "raw",
            "contentType": "application/json",
            "serializeUrl": false,
            "shareCookies": false,
            "parseResponse": true,
            "followRedirect": true,
            "useQuerystring": false,
            "followAllRedirects": false,
            "rejectUnauthorized": true
          },
          "metadata": {
            "designer": {
              "x": 300,
              "y": 300,
              "name": "Update Redirect"
            },
            "restore": {
              "expect": {
                "qs": {
                  "mode": "chose",
                  "items": []
                },
                "method": {
                  "mode": "chose",
                  "label": "PUT"
                },
                "headers": {
                  "mode": "chose",
                  "items": [
                    null,
                    null,
                    null
                  ]
                },
                "bodyType": {
                  "label": "Raw"
                },
                "contentType": {
                  "label": "JSON (application/json)"
                }
              },
              "parameters": {
                "key": {
                  "label": "ANONYMIZED_CREDENTIALS"
                }
              }
            },
            "parameters": [
              {
                "name": "key",
                "type": "keychain:basicauth",
                "label": "Credentials",
                "required": true
              },
              {
                "name": "handleErrors",
                "type": "boolean",
                "label": "Evaluate all states as errors (except for 2xx and 3xx )",
                "required": true
              },
              {
                "name": "useNewZLibDeCompress",
                "type": "hidden"
              }
            ],
            "expect": [
              {
                "name": "url",
                "type": "url",
                "label": "URL",
                "required": true
              },
              {
                "name": "serializeUrl",
                "type": "boolean",
                "label": "Serialize URL",
                "required": true
              },
              {
                "name": "method",
                "type": "select",
                "label": "Method",
                "required": true,
                "validate": {
                  "enum": [
                    "get",
                    "head",
                    "post",
                    "put",
                    "patch",
                    "delete",
                    "options"
                  ]
                }
              },
              {
                "name": "headers",
                "spec": [
                  {
                    "name": "name",
                    "type": "text",
                    "label": "Name",
                    "required": true
                  },
                  {
                    "name": "value",
                    "type": "text",
                    "label": "Value"
                  }
                ],
                "type": "array",
                "label": "Headers"
              },
              {
                "name": "qs",
                "spec": [
                  {
                    "name": "name",
                    "type": "text",
                    "label": "Name",
                    "required": true
                  },
                  {
                    "name": "value",
                    "type": "text",
                    "label": "Value"
                  }
                ],
                "type": "array",
                "label": "Query String"
              },
              {
                "name": "bodyType",
                "type": "select",
                "label": "Body type",
                "validate": {
                  "enum": [
                    "raw",
                    "x_www_form_urlencoded",
                    "multipart_form_data"
                  ]
                }
              },
              {
                "name": "parseResponse",
                "type": "boolean",
                "label": "Parse response",
                "required": true
              },
              {
                "name": "contentType",
                "type": "select",
                "label": "Content type",
                "validate": {
                  "enum": [
                    "text/plain",
                    "application/json",
                    "application/xml",
                    "text/xml",
                    "text/html",
                    "custom"
                  ]
                }
              },
              {
                "name": "data",
                "type": "buffer",
                "label": "Request content"
              }
            ]
          }
        }
      ]
    }
  ],
  "metadata": {
    "version": 1
  }
}
← Browse all nodes