POST
/
{orgId}
/
{agentId}
/
{nodeId}
/
trigger
// Node.js (using fetch)
import fetch from 'node-fetch';

const orgId = "<Org ID>";
const agentId = "<Agent ID>";
const nodeId = "<Node ID>";
const apiUrl = `https://api.joinoverlap.com/${orgId}/${agentId}/${nodeId}/trigger`;

const headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer YOUR_API_KEY"
};

const payload = {
  url: "https://youtube.com/watch?v=dQw4w9WgXcQ",
  notify: true
};

fetch(apiUrl, {
  method: "POST",
  headers,
  body: JSON.stringify(payload)
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

Endpoint

POST https://api.joinoverlap.com/{orgId}/{projectId}/{agentId}/trigger
  • Path Parameters
    • orgId — Your organization’s ID.
    • agentId — The agent to trigger.
    • nodeId — The specific node within the agent to trigger.

This URL will be provided to you by navigating to Clipping Agents -> Agent -> Trigger via API

Authentication

All requests must include a valid Bearer token:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Found by pressing Trigger via API then Generate API Key

Request Body

{
	"url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
	"notify": true,
	"title" : "Never going to give you up"
}
  • url (string, required) — The resource URL the workflow should process.
  • notify (boolean, optional) — Whether you’d like an email notification when finished. Defaults to false.
  • title (string, optional) — Override title for the video. A title will be generated if it is not provided.
// Node.js (using fetch)
import fetch from 'node-fetch';

const orgId = "<Org ID>";
const agentId = "<Agent ID>";
const nodeId = "<Node ID>";
const apiUrl = `https://api.joinoverlap.com/${orgId}/${agentId}/${nodeId}/trigger`;

const headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer YOUR_API_KEY"
};

const payload = {
  url: "https://youtube.com/watch?v=dQw4w9WgXcQ",
  notify: true
};

fetch(apiUrl, {
  method: "POST",
  headers,
  body: JSON.stringify(payload)
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

Sample Response

{
  "message": "Workflow trigger initiated successfully",
  "status": "pending",
  "triggerId": "trigger_20250624184340_3f3c921a"
}
  • message (string) — Confirmation text.
  • status (string) — Current status of the trigger (Processing, Learning, Completed, Error).
  • triggerId (string) — Unique identifier for this workflow run.