const API_KEY = "YOUR_API_KEY";
async function createAIWorkflows(urls, options) {
const results = [];
for (const url of urls) {
const workflowData = {
urls: [url],
navigationMode: "agentic-navigation",
userPrompt: options.prompt,
name: `${options.namePrefix} - ${url}`,
entity: options.entity,
fields: options.fields,
interval: options.interval || "DAILY",
};
try {
const response = await fetch("https://api.kadoa.com/v4/workflows", {
method: "POST",
headers: {
"x-api-key": API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify(workflowData),
});
const result = await response.json();
if (response.ok) {
console.log(`✅ ${url}: ${result.workflowId}`);
results.push({ url, workflowId: result.workflowId });
} else {
console.log(`❌ ${url}: ${result.error}`);
results.push({ url, error: result.error });
}
} catch (error) {
console.log(`❌ ${url}: ${error.message}`);
results.push({ url, error: error.message });
}
}
return results;
}
// Create workflows for multiple job sites
const jobSites = [
"https://company1.com/careers",
"https://company2.com/jobs",
"https://company3.com/openings"
];
const workflows = await createAIWorkflows(jobSites, {
prompt: "Navigate to job listings and extract all open positions",
namePrefix: "Job Monitor",
entity: "Jobs",
fields: [
{ name: "title", dataType: "STRING", description: "Job title", example: "Senior Software Engineer" },
{ name: "location", dataType: "STRING", description: "Job location", example: "San Francisco, CA" },
{ name: "department", dataType: "STRING", description: "Department", example: "Engineering" },
],
interval: "DAILY",
});
console.log(workflows);