Référence des outils
Action
Agir sur les sources et les règles. 8 outils, avec leurs paramètres et des exemples d’appel.
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.
Chaque appel est une requête POST avec la clé en Authorization: Bearer. Le corps JSON est l’entrée de l’outil, et la réponse a la forme { "tool": "nom", "output": … }. Les exemples ne portent que les paramètres requis. Les descriptions des paramètres sont celles que lisent les agents, en anglais.
subscribeSource#
S’abonne à une nouvelle source. Lance une vraie collecte (jobs de lecture, quotas des plateformes).
POSThttps://piqline.com/api/v1/tools/subscribeSource
Type : Action. Scopes : act.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
platform | instagram | tiktok | youtube | twitter | x | threads | linkedin | reddit | … | Oui | |
target | string | Non | Handle, URL, mot-clé Marketplace, ou communauté. Une recherche LinkedIn peut s’appuyer sur query. |
title | string | Non | |
facebookKind | page | group | marketplace | Non | Facebook : page publique, groupe public, ou recherche Marketplace. |
tiktokKind | profile | live | Non | TikTok only. live = /v1/tiktok/user/live probe, not profile posts. |
linkedinKind | company | search | Non | LinkedIn only. search = recurring public-post search on query. |
location | string | Non | Marketplace : ville ou zone. |
lat | number | Non | |
lng | number | Non | |
radiusKm | number | Non | |
minPrice | number | Non | |
maxPrice | number | Non | |
sortBy | string | Non | |
condition | string | Non | |
dateListed | string | Non | |
categoryId | string | Non | |
delivery | string | Non | |
availability | string | Non | |
datePosted | last-hour | last-day | last-week | last-month | last-year | Non | LinkedIn search only. Window of each run, default last-week. |
query | string | Non | Marketplace keyword or LinkedIn search query. |
intent | string | Non | LinkedIn search: the user's ask, kept on the source. |
detectionEvent | hiring | funding | launch | expansion | reorg | open_to_work | leaving | interested_comment | … | Non | |
detectionRounds | array<pre_seed | seed | series_a | series_b | series_c | series_d | bridge | extension | …> | Non | |
detectionSectors | array<string> | Non | |
detectionGeos | array<string> | Non | |
detectionVocabulary | array<string> | Non | |
investigation | object | Non | Lot 7: pass the investigation object from probeLinkedinWatch unchanged. |
trackItemVariations | boolean | Non | Marketplace / listing only. True only if the user explicitly asked to follow price, text or presence on the same item (T8). Default false: new items only. |
enrichFromUrl | boolean | Non | Listing / web only. Open each item URL to read the page text. Default false. One credit per opened page. Set true only if the user explicitly asked. |
curl -s https://piqline.com/api/v1/tools/subscribeSource \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"instagram"}'const response = await fetch("https://piqline.com/api/v1/tools/subscribeSource", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"platform": "instagram"
}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/subscribeSource",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={
"platform": "instagram",
},
)
output = response.json()["output"]subscribeSources#
S’abonne à plusieurs sources en un appel et renvoie un résultat par source.
POSThttps://piqline.com/api/v1/tools/subscribeSources
Type : Action. Scopes : act.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
sources | array<object> | Oui |
curl -s https://piqline.com/api/v1/tools/subscribeSources \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sources":[{"platform":"instagram"}]}'const response = await fetch("https://piqline.com/api/v1/tools/subscribeSources", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"sources": [
{
"platform": "instagram"
}
]
}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/subscribeSources",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={
"sources": [
{
"platform": "instagram",
},
],
},
)
output = response.json()["output"]unsubscribeSource#
Arrête le suivi d’une source. Les items déjà collectés restent dans le corpus.
POSThttps://piqline.com/api/v1/tools/unsubscribeSource
Type : Action. Scopes : act.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
sourceId | string | Oui | |
label | string | Non | Nom lisible de la source (celui de listSources). Obligatoire pour la carte de confirmation. |
curl -s https://piqline.com/api/v1/tools/unsubscribeSource \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sourceId":"5a0e9c1f-2b7d-4e63-8f14-d3c8a6b92e70"}'const response = await fetch("https://piqline.com/api/v1/tools/unsubscribeSource", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"sourceId": "5a0e9c1f-2b7d-4e63-8f14-d3c8a6b92e70"
}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/unsubscribeSource",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={
"sourceId": "5a0e9c1f-2b7d-4e63-8f14-d3c8a6b92e70",
},
)
output = response.json()["output"]setHomeDashboard#
Définit un board enregistré comme accueil du workspace.
POSThttps://piqline.com/api/v1/tools/setHomeDashboard
Type : Action. Scopes : act.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
dashboardId | string | Oui | |
title | string | Non | Titre du tableau, pour la carte de confirmation. Jamais l’identifiant seul. |
curl -s https://piqline.com/api/v1/tools/setHomeDashboard \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"dashboardId":"5a0e9c1f-2b7d-4e63-8f14-d3c8a6b92e70"}'const response = await fetch("https://piqline.com/api/v1/tools/setHomeDashboard", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"dashboardId": "5a0e9c1f-2b7d-4e63-8f14-d3c8a6b92e70"
}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/setHomeDashboard",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={
"dashboardId": "5a0e9c1f-2b7d-4e63-8f14-d3c8a6b92e70",
},
)
output = response.json()["output"]upsertSignalRule#
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.
POSThttps://piqline.com/api/v1/tools/upsertSignalRule
Type : Action. Scopes : act.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
ruleId | string | Non | |
thresholdDays | integer | Non | |
staleGraceDays | integer | Non | |
itemTypes | array<post | video | article | listing | job_offer> | Non | |
enabled | boolean | Non |
curl -s https://piqline.com/api/v1/tools/upsertSignalRule \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'const response = await fetch("https://piqline.com/api/v1/tools/upsertSignalRule", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/upsertSignalRule",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={},
)
output = response.json()["output"]upsertQuestionRule#
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.
POSThttps://piqline.com/api/v1/tools/upsertQuestionRule
Type : Action. Scopes : act.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
ruleId | string | Non | |
question | string | Oui | |
minProbability | number | Non | |
itemTypes | array<post | video | article | listing | job_offer> | Non | |
enabled | boolean | Non |
curl -s https://piqline.com/api/v1/tools/upsertQuestionRule \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"question":"texte"}'const response = await fetch("https://piqline.com/api/v1/tools/upsertQuestionRule", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"question": "texte"
}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/upsertQuestionRule",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={
"question": "texte",
},
)
output = response.json()["output"]startInvestigation#
Met en file une enquête Edge en arrière-plan pour ce workspace (owner ou admin).
POSThttps://piqline.com/api/v1/tools/startInvestigation
Type : Action. Scopes : act.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
intent | string | Oui | Need in one sentence, from sujets / zones / langues already noted |
perimeter | object | Non | Optional sectors, geos, accounts, seed URLs from the need profile |
curl -s https://piqline.com/api/v1/tools/startInvestigation \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"intent":"texte"}'const response = await fetch("https://piqline.com/api/v1/tools/startInvestigation", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"intent": "texte"
}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/startInvestigation",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={
"intent": "texte",
},
)
output = response.json()["output"]startAdCollection#
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.
POSThttps://piqline.com/api/v1/tools/startAdCollection
Type : Action. Scopes : act, write, explore.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
query | string | Oui | Nom ou domaine de l'annonceur (kind advertiser), ou mot-clé (kind keyword). |
kind | advertiser | keyword | Non | |
libraries | array<meta | tiktok | google | linkedin> | Non | Bibliothèques à lire. Google ne cherche pas par mot-clé. |
country | string | Non | Code pays ISO. Restreint Meta et LinkedIn, choisit l'entité annonceur de Google (FR par défaut). Courants : FR, BE, CH, LU, DE, ES, IT, NL, GB, IE, US, CA, MA, SN, CI, AU, BR, JP. |
depth | apercu | large | Non | apercu : une page par bibliothèque. large : jusqu'à quatre pages (plus long). |
curl -s https://piqline.com/api/v1/tools/startAdCollection \
-H "Authorization: Bearer $PIQLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"levée de fonds"}'const response = await fetch("https://piqline.com/api/v1/tools/startAdCollection", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.PIQLINE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"query": "levée de fonds"
}),
});
const { output } = await response.json();import os
import requests
response = requests.post(
"https://piqline.com/api/v1/tools/startAdCollection",
headers={"Authorization": "Bearer " + os.environ["PIQLINE_API_KEY"]},
json={
"query": "levée de fonds",
},
)
output = response.json()["output"]