Skip to content

n8n Integration

Use Jobko tools in your n8n workflows.

Setup

1. Create a Credential

  1. Go to SettingsCredentials
  2. Click Add Credential
  3. Select Header Auth
  4. Configure:
  5. Name: Jobko API
  6. Header Name: Authorization
  7. Header Value: Bearer jk_YOUR_KEY

2. Add HTTP Request Node

  1. Add an HTTP Request node to your workflow
  2. Configure it for Jobko API calls

Basic Configuration

Field Value
Method POST
URL https://jobko.ai/api/mcp/tools/call
Authentication Header Auth → Jobko API
Body Content Type JSON

Example: Analyze a Job

Request Body

{
  "name": "analyze_job",
  "arguments": {
    "job_url": "{{ $json.job_url }}"
  }
}

Node Configuration

  1. HTTP Request node:
  2. Method: POST
  3. URL: https://jobko.ai/api/mcp/tools/call
  4. Authentication: Header Auth (Jobko API)
  5. Body: JSON with the above content

Example: Get User Profile

Request Body

{
  "name": "get_profile",
  "arguments": {}
}

Example: Generate CV

Request Body

{
  "name": "generate_cv",
  "arguments": {
    "job_id": {{ $json.job_id }},
    "format": "pdf"
  }
}

Complete Workflow Example

Job Analysis Pipeline

[Webhook] → [HTTP Request: Analyze Job] → [IF: Match Score > 70] → [HTTP Request: Generate CV] → [Email]
  1. Webhook: Receives job URL
  2. HTTP Request: Calls analyze_job
  3. IF: Checks if match score is above threshold
  4. HTTP Request: Calls generate_cv for good matches
  5. Email: Sends CV to user

Workflow JSON

{
  "nodes": [
    {
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "parameters": {
        "path": "analyze-job"
      }
    },
    {
      "name": "Analyze Job",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "method": "POST",
        "url": "https://jobko.ai/api/mcp/tools/call",
        "authentication": "headerAuth",
        "bodyContentType": "json",
        "body": "={\"name\": \"analyze_job\", \"arguments\": {\"job_url\": \"{{ $json.job_url }}\"}}"
      }
    }
  ]
}

Error Handling

Check for Errors

Add an IF node after the HTTP Request:

Condition: {{ $json.error }} is not empty
True: Handle error
False: Continue processing

Common Errors

Status Meaning Action
401 Invalid API key Check credentials
402 No credits Add credits at dashboard
429 Rate limited Add delay, retry later

Tips

Use variables

Store your API key as an n8n credential rather than hardcoding it in nodes.

Add error handling

Always add IF nodes to check for errors before processing results.

Rate limiting

Add a Wait node if making multiple requests to avoid rate limits.