Guides
Outils
Appeler un à un les outils des agents, avec leurs scopes et leurs entrées.
Les agents de Piqline travaillent avec des outils : lire le corpus, chercher en direct, écrire, agir. L’API expose chacun d’eux sous la même forme. 84 outils sont appelables ; le catalogue les liste avec leurs scopes, et la référence décrit les paramètres de chacun, avec des exemples d’appel.
Lister les outils#
GET https://piqline.com/api/v1/tools
GET https://piqline.com/api/v1/tools?agent=linkedin
GET https://piqline.com/api/v1/tools/{nom}agent accepte all (par défaut), piqline, facebook, linkedin, upwork ou onboarding. Chaque outil de la liste porte :
| Champ | Sens |
|---|---|
name | nom de l’outil, tel qu’on l’appelle |
description | ce que l’outil fait, en anglais, telle que l’agent la lit |
agents | agents qui disposent de l’outil |
requires | scopes exigés |
callable | true si votre clé peut l’appeler |
missing_scopes | scopes que la clé n’a pas |
confirmation_in_chat | true si le chat demande une confirmation avant l’outil |
read_only | true si l’outil ne modifie rien |
input_schema | JSON Schema de l’entrée |
Les outils que votre clé ne peut pas appeler restent listés, avec callable: false et missing_scopes. GET/api/v1/tools/{nom} renvoie la même fiche pour un seul outil, sans confirmation_in_chat ni read_only.
Appeler un outil#
POST https://piqline.com/api/v1/tools/{nom}
Content-Type: application/jsonLe corps JSON est l’entrée de l’outil, telle que input_schema la décrit. Un outil sans entrée accepte un corps vide.
curl -s https://piqline.com/api/v1/tools/searchItems \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"levée de fonds","limit":5}'const response = await fetch("https://piqline.com/api/v1/tools/searchItems", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ query: "levée de fonds", limit: 5 }),
});
const data = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/searchItems",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={"query": "levée de fonds", "limit": 5},
)
data = response.json()La réponse porte le nom de l’outil et sa sortie, qui est celle que l’agent lit :
{
"tool": "searchItems",
"output": {
"count": 1,
"hasMore": true,
"items": [
{
"id": "5a0e9c1f-2b7d-4e63-8f14-d3c8a6b92e70",
"sourceId": "e1f4b2a8-6c3d-4957-b0a1-82d5c7f3e964",
"title": "Titre de l’article",
"excerpt": "Début du texte…",
"itemType": "article",
"platform": "rss",
"sourceName": "Blog du secteur",
"sourceBadge": null,
"occurredAt": "2026-10-27T08:14:00.000+00:00",
"url": "https://exemple.fr/article",
"language": "fr"
}
]
}
}occurredAt est la date d’affichage de l’item. getItem donne en plus detectedAt (la première observation par Piqline), lastSeenAt (la dernière vue) et publishedAt.
Une erreur revient en application/problem+json : voir Erreurs.
Qui peut appeler quoi#
- Le rôle du créateur borne la clé. Un outil que ce rôle n’ouvre pas répond
403 forbidden. Les outils d’écriture, les outils d’action et l’agentonboardingsont réservés aux owners et aux admins. - Les cartes du chat n’existent pas en API.
askUser,proposeSources,proposeBoardet leurs équivalents s’affichent à une personne et n’exécutent rien : ils répondent404 not_found. Pour obtenir ce dialogue, lancez un agent. - Les outils d’action n’attendent pas de confirmation. Le chat en demande une. L’appel direct avec le scope
actl’exécute aussitôt. - Les lectures en direct coûtent. Les outils du scope
exploreconsomment des crédits fournisseurs (Firecrawl, Scrape Creators…) : ladescriptionde l’outil indique le coût quand il existe.
Catalogue#
Lire le corpus et le workspace#
Outils de l’agent Piqline. Ils lisent ce que le workspace a déjà collecté : aucun crédit fournisseur, aucune écriture.
| Outil | Type | Scopes | Rôle |
|---|---|---|---|
getCoverageStats | Lecture | read | Volumes et santé de la collecte : totaux, répartition par plateforme et par nature, série d’ingestion sur la fenêtre d’analyse (1h, 24h, 7d ou 30d). |
listSources | Lecture | read | Sources suivies par le workspace, avec le nombre d’items, l’état de santé et la dernière lecture. |
searchItems | Lecture | read | Recherche d’items (posts, vidéos, articles, annonces, offres) avec filtres : texte, plateforme, nature, source. Sans filtre, renvoie les plus récents (40 au plus). |
getItem | Lecture | read | Détail d’un item : texte, transcription, OCR, thèmes détectés, items proches par le sens, et ses dates d’observation. |
searchPassages | Lecture | read | Recherche par le sens dans les documents longs (PDF lus par le Motor) : passages les plus proches d’une question, avec l’item, la page et le titre de section. |
citeItem | Lecture | read | Vérifie qu’un passage est écrit mot pour mot dans un item et rend un numéro de citation ; sinon le passage le plus proche. Base du mode « Citations » du chat. |
drawDiagram | Lecture | read | Dessine la réponse en un schéma SVG (frise, matrice, flux, arbre…) : couleurs par rôle du thème, SVG nettoyé avant affichage. Base du mode « Diagramme » du chat. |
createCanvas | Lecture | read | Compile un canvas (fichier TSX qui n’importe que le SDK piqline/canvas, même API que cursor/canvas) et rend le code prêt à afficher, ou l’erreur à corriger. Base des modes Canvas et Rapport du chat. |
getTopics | Lecture | read | Thèmes détectés avec leur part de voix, et récits (le même sujet vu sur plusieurs sources). |
getSignals | Lecture | read | Signaux ouverts, déclenchés par les règles de persistance du workspace, avec leur avance et leur statut. |
listWorkspaceTables | Lecture | read | Tables déjà créées dans le workspace : nom, commentaire, nombre de colonnes et de lignes, et si la table se remplit toute seule. |
getWorkspaceTable | Lecture | read | Une table du workspace en JSON : schéma, colonnes et lignes. Sert de base ou de feed pour un site, une appli ou un agent (scope read). |
listBookmarks | Lecture | read | Signets et dossiers du coffre du workspace : titre, type, dossier, statut, admission. Filtre optionnel par mot, statut ou type. |
listEntities | Lecture | read | Entités suivies (entreprises, marques, comptes publics) et items liés sur la période. |
listWatchContracts | Lecture | read | Contrats de veille posés sur les sources : intention, termes gardés et exclus, événement. |
checkInvestigation | Lecture | read | État de la dernière enquête Edge, ou d’une enquête donnée : en attente, en cours, terminée avec ses candidats, ou en échec. |
planSourcePack | Lecture | read | Propose un ensemble cohérent de sources à suivre pour un objectif. Ne crée rien. |
listWidgets | Lecture | read | Widgets proposables pour un board de ce workspace, classés pour la personne, avec leurs raisons. |
listCollectedAds | Lecture | read | Collectes publicitaires du workspace (Meta, TikTok, Google, LinkedIn), déjà lues : la liste, ou, avec le nom d’une collecte, ses répartitions (angles, offres, tons, formats), son rythme, ses annonces les plus longues et ses annonces filtrables par bibliothèque, statut, angle ou mot. Aucun crédit. |
Explorer le web et les registres en direct#
Lectures en direct sur des sites et des fournisseurs tiers. Elles consomment des crédits fournisseurs ; rien n’est stocké dans le workspace.
| Outil | Type | Scopes | Rôle |
|---|---|---|---|
readPage | Lecture en direct | explore | Lit une page web publique : titre, texte principal (6 000 caractères), flux découverts et 30 liens. |
searchWeb | Lecture en direct | explore | Recherche sur le web public pour trouver des URL candidates. |
browserRead | Lecture en direct | explore | Lit une page dynamique ou protégée avec un navigateur forcé. Même forme que readPage. |
waybackHistory | Lecture en direct | explore | Captures Wayback Machine d’une URL : première capture et captures récentes. |
registryLookup | Lecture en direct | explore | Recherche une entreprise dans un registre public : Sirene (France), EDGAR (États-Unis), Companies House (Royaume-Uni) ou OpenCorporates. |
socialCatalog | Lecture en direct | explore | Liste les endpoints Scrape Creators disponibles (40 au plus), filtrables par plateforme. |
socialCall | Lecture en direct | explore | Appelle un endpoint Scrape Creators et renvoie jusqu’à 20 items compacts. |
previewSource | Lecture en direct | explore | Échantillon en direct (5 à 10 items) d’une source, avant de s’y abonner. |
whoSaidItFirst | Lecture en direct | explore | Qui a publié une information en premier sur le web, page par page, et quand vos sources l’ont vue. Part d’un sujet ou d’un item ; gardée comme frise privée du workspace. |
Facebook#
Outils de l’agent Facebook : annonces Marketplace et groupes publics, lus en direct via Scrape Creators.
| Outil | Type | Scopes | Rôle |
|---|---|---|---|
findMarketplaceLocation | Lecture en direct | explore | Convertit un nom de ville ou de zone en coordonnées Marketplace. |
searchMarketplace | Lecture en direct | explore | Cherche des annonces Marketplace publiques par mot-clé autour d’un lieu (ville ou coordonnées), sur 3 pages au plus. |
getMarketplaceListing | Lecture en direct | explore | Détail d’une annonce : description, attributs, photos, livraison, date exacte quand Facebook la donne. |
getMarketplaceListings | Lecture en direct | explore | Détail de 2 à 6 annonces à la fois, sous forme de tableau comparatif. |
getFacebookGroup | Lecture en direct | explore | Fiche publique d’un groupe : confidentialité, taille, activité, catégories, règles. |
getFacebookGroupPosts | Lecture en direct | explore | Publications d’un groupe public, par pages de 3 (6 pages au plus). |
getFacebookPost | Lecture en direct | explore | Détail d’une publication ou d’un reel public : texte, auteur, date, réactions, vues. |
getFacebookPostComments | Lecture en direct | explore | Commentaires d’une publication publique, filtrables par mots-clés (3 pages au plus). |
LinkedIn#
Outils de l’agent LinkedIn : posts, pages entreprise et publicités publics, lus en direct via Scrape Creators. Aucune coordonnée n’est jamais lue.
| Outil | Type | Scopes | Rôle |
|---|---|---|---|
searchLinkedinPosts | Lecture en direct | explore | Recherche de posts publics par mots-clés (index Google, pas en temps réel), avec des signaux calculés par le code : recrutement, levée, lancement, expansion, réorganisation, disponibilité, départ. |
probeLinkedinWatch | Lecture en direct | explore | Sonde 1 à 3 variantes de requête avant de s’abonner à une veille LinkedIn, et renvoie le ticket d’enquête à joindre à l’abonnement. |
getLinkedinPost | Lecture en direct | explore | Lit un post ou un article public : texte, auteur, date, réactions, commentaires avec leurs signaux. |
getLinkedinPostTranscript | Lecture en direct | explore | Transcription de la vidéo d’un post public, facturée seulement si elle existe. |
getLinkedinCompany | Lecture en direct | explore | Page entreprise publique : description, effectif, secteur, financement, derniers posts avec leurs signaux. |
getLinkedinCompanyPosts | Lecture en direct | explore | Posts plus anciens d’une page entreprise, avec un résumé des signaux (recrutement, financement, lancements). |
searchLinkedinAds | Lecture en direct | explore | Recherche dans la bibliothèque publicitaire : annonceur, format, dates, impressions. |
getLinkedinAd | Lecture en direct | explore | Détail d’une publicité de la bibliothèque : ciblage, impressions par pays, durée. |
matchLinkedinPosts | Lecture en direct | explore | Rapproche des personnes disponibles et des opportunités à partir de posts publics (deux recherches). |
getLinkedinProfile | Lecture en direct | explore | Lecture bornée d’un profil /in/ public, uniquement à partir d’un post public qui désigne la personne. Réservé aux workspaces qui ont activé cette option. |
Upwork#
Outils de l’agent Upwork : offres publiques lues, notées et rédigées depuis la base de connaissances du workspace. Rien n’est envoyé à Upwork.
| Outil | Type | Scopes | Rôle |
|---|---|---|---|
searchUpworkJobs | Lecture en direct | explore | Lit une page de résultats publics (une dizaine d’offres) et note chaque offre selon la base de connaissances. Les offres sont ajoutées au pipeline du workspace. |
getUpworkJob | Lecture en direct | explore | Lit une offre : description, compétences, budget, activité, client. Ajoute un instantané daté au pipeline. |
scoreUpworkJobs | Écriture | write | Note à nouveau les offres du pipeline après un changement de la base de connaissances. Aucune page n’est lue. |
getUpworkRadar | Lecture en direct | explore | Radar de marché : volume par jour, quartiles de tarif et de budget, compétences, concurrence, pays des clients. |
listUpworkLeads | Lecture | read | Pipeline Upwork : compte par statut, meilleures offres d’abord, issue de chacune. |
updateUpworkLead | Écriture | write | Change le statut d’une offre du pipeline (envoyée, réponse, entretien, gagnée, perdue, ignorée) et garde une note. |
getUpworkKnowledge | Lecture | read | Base de connaissances Upwork du workspace : services, outils, projets à éviter, tarifs plancher, études de cas, ton, signature. |
updateUpworkKnowledge | Écriture | write | Met à jour la base de connaissances. Les listes envoyées remplacent les listes stockées. |
listUpworkTemplates | Lecture | read | Modèles de proposition enregistrés, avec leurs emplacements et leurs règles de questions. |
upsertUpworkTemplate | Écriture | write | Crée ou met à jour un modèle de proposition. |
draftUpworkProposal | Écriture | write, explore | Rédige une proposition pour une offre à partir d’un modèle. Le texte reste à coller soi-même sur Upwork. |
listUpworkCampaigns | Lecture | read | Campagnes enregistrées : recherche, score minimum, statut, dernière actualisation, santé de la source. |
saveUpworkCampaign | Écriture | write | Crée ou met à jour une campagne : nom, recherche, score minimum, modèle. |
simulateUpworkCampaign | Lecture en direct | explore | Simule une campagne sur de vraies offres avant de la suivre. Rien n’est enregistré. |
followUpworkCampaign | Action | act | Demande au Motor de suivre une campagne enregistrée, à son rythme de collecte. |
pauseUpworkCampaign | Action | act | Arrête le suivi d’une campagne par le Motor. Les offres déjà vues restent dans le pipeline. |
refreshUpworkCampaigns | Écriture | write, explore | Actualise les campagnes suivies : fusionne les offres collectées par le Motor, relit la première page en direct, note les nouvelles offres. |
checkUpworkOutcomes | Écriture | write, explore | Relit les pages des candidatures en cours pour dater leur issue : clôturée, entretiens commencés, sans réponse. |
syncUpworkReplies | Écriture | write | Lit les e-mails de notification Upwork des boîtes connectées du créateur de la clé et fait avancer le statut des offres du pipeline. |
Écrire dans le workspace#
Outils de l’agent Piqline qui créent ou modifient des objets du workspace. Ils demandent le scope write.
| Outil | Type | Scopes | Rôle |
|---|---|---|---|
updateWorkspaceProfile | Écriture | write | Enregistre le profil de besoin du workspace : objectifs, sujets, entités, langues, zones, niveau, rythme. |
followEntity | Écriture | write | Suit une entreprise, une marque ou un compte public (jamais une personne privée) pour lier ses items et ses mentions. |
unfollowEntity | Suppression | write | Arrête de suivre une entité. Ses liens existants restent. |
saveBookmark | Écriture | write | Enregistre un signet dans le coffre du workspace. Une URL http(s) est mise en file pour lecture, persistance et vectorisation. |
setWatchContract | Écriture | write | Pose un contrat de veille sur une source : la page de veille n’affiche plus que les items qui correspondent. Déterministe, sans modèle. |
removeWatchContract | Suppression | write | Retire le contrat de veille d’une source : tous les items réapparaissent. |
initReaderInterview | Écriture | write | Enregistre les deux réponses de l’entretien de lecture (essentiel ou détail, intention principale) sur le profil de lecture. |
applyBoardChange | Écriture | write | Applique à un board des modifications déjà validées. |
buildDashboard | Écriture | write | Assemble un board directement, sans passer par le panneau de choix de widgets. |
saveWorkspaceTable | Écriture | write | Crée une table du workspace, remplie des colonnes utiles. |
setTableFeed | Action | act, write | Fait vivre une table : dès qu’un item du corpus correspond à la règle, il s’ajoute, après confirmation. status=paused arrête le remplissage. |
Agir sur les sources et les règles#
Outils d’action de l’agent Piqline. Dans le chat, chacun demande une confirmation. Par l’API, l’appel direct avec le scope act vaut confirmation : n’appelez ces outils qu’après l’accord de la personne concernée.
| Outil | Type | Scopes | Rôle |
|---|---|---|---|
subscribeSource | Action | act | S’abonne à une nouvelle source. Lance une vraie collecte (jobs de lecture, quotas des plateformes). |
subscribeSources | Action | act | S’abonne à plusieurs sources en un appel et renvoie un résultat par source. |
unsubscribeSource | Action | act | Arrête le suivi d’une source. Les items déjà collectés restent dans le corpus. |
setHomeDashboard | Action | act | Définit un board enregistré comme accueil du workspace. |
upsertSignalRule | Action | act | Crée ou met à jour une règle de signal de persistance : elle se déclenche quand un item reste en ligne plus longtemps que le seuil. |
upsertQuestionRule | Action | act | Crée ou met à jour une question permanente : une phrase en langage courant que Jev pose sur chaque nouvel item des sources du workspace. Le seuil de probabilité fait le signal. |
startInvestigation | Action | act | Met en file une enquête Edge en arrière-plan pour ce workspace (owner ou admin). |
startAdCollection | Action | act, write, explore | Lance une collecte publicitaire sur un annonceur (nom ou domaine) ou un mot-clé : lit Meta, TikTok, Google et LinkedIn, met chaque annonce au même format, puis lit l’angle, l’offre, l’audience et le ton. Dépense des crédits (une page par bibliothèque, plus la résolution de l’annonceur) ; confirmation dans le chat, owner ou admin. |