Claim Lead
n8n-nodes-base.httpRequest
Claim an unclaimed lead through Follow Up Boss First To Claim system
π‘ Use Cases
- Auto-claim leads for specific agents
- Build lead distribution workflows
- First-to-claim automation
- Lead assignment automation
π API Documentation
Reference documentation for this API endpoint:
π https://docs.followupboss.com/reference/leads-id-claim-post βπ Node Configuration
{
"nodes": [
{
"parameters": {
"content": "## π― Claim Lead\n\n**Usage:**\nClaim an unclaimed lead through Follow Up Boss First To Claim system.\n\n**Required Input:**\n- `personId`: The ID of the unclaimed lead to claim\n\n**Setup:**\n1. Configure HTTP Basic Auth with your Follow Up Boss API key as username (leave password blank)\n2. Pass the personId of the lead to claim\n3. Node claims the lead for the API key owner\n\n**Note:**\nReturns 409 Conflict if lead was already claimed by another user.\n\n**Output:**\nReturns the full lead details on successful claim, including contact info and assignment details",
"height": 238,
"width": 389,
"color": 4
},
"type": "n8n-nodes-base.stickyNote",
"position": [
96,
332
],
"typeVersion": 1,
"id": "sticky-claim-lead-001",
"name": "Sticky Note"
},
{
"parameters": {
"method": "POST",
"url": "https://api.followupboss.com/v1/people/claim",
"authentication": "genericCredentialType",
"genericAuthType": "httpBasicAuth",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"personId\": {{ $json.personId }}\n}",
"options": {}
},
"id": "node-claim-lead-001",
"name": "Claim Lead",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
368,
400
]
}
],
"connections": {},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "7d82075663a12ad66d395372bb9782d960a46404608b30dbbdaa56ce12c7ad50"
}
}
[
{
"id": "58e71fae-1b03-4a2a-90ce-c3aecb46adfe",
"meta": {
"name": "API Call Node",
"id": "api-call",
"icon": {
"svg": " ",
"type": "SVG"
},
"description": "## π― Claim Lead **Usage:**"
},
"label": "Claim Lead",
"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": "POST",
"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": "POST",
"url": "https://api.followupboss.com/v1/people/claim",
"authorization": {
"_$expression_": "`Bearer ${(await getSecret(\"ANONYMIZED_SECRET\"))}`",
"type": "javascript",
"hasErrors": false
},
"queryParams": {},
"body": {
"_$expression_": "{\n \"personId\": ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].personId\n}",
"type": "javascript",
"hasErrors": false
},
"contentType": "application/json",
"shouldAwait": true,
"customHeaders": {
"Content-Type": "application/json"
}
}
}
]
{
"subflows": [
{
"flow": [
{
"id": 509,
"module": "http:ActionSendDataBasicAuth",
"version": 3,
"parameters": {
"key": "ANONYMIZED_CREDENTIALS",
"handleErrors": false,
"useNewZLibDeCompress": true
},
"mapper": {
"ca": "",
"qs": [],
"url": "https://api.followupboss.com/v1/people/claim",
"data": "{\n \"personId\": {{1.personId}}\n}",
"gzip": true,
"method": "post",
"headers": [
{
"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": "Claim Lead"
},
"restore": {
"expect": {
"qs": {
"mode": "chose",
"items": []
},
"method": {
"mode": "chose",
"label": "POST"
},
"headers": {
"mode": "chose",
"items": [
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
}
}