Server MCP

Connetti strumenti AI a Flowtly tramite il Model Context Protocol su mcp.flowtly.eu.

Connect

claude mcp add --transport http flowtly https://mcp.flowtly.eu/mcp

In questa pagina

Allocazioni_get

Strumenti

allocations_getUn'allocazione per id — la prenotazione di una singola persona su un progetto, con le sue date e percentuale. allocations_list trova l'id; questo legge il record completo. Un'allocazione senza dipendente è un ruolo APERTO (domanda non coperta), non una prenotazione. Richiede il modulo resourcing. Sola lettura.

Allocazioni_list

Strumenti

allocations_listElenca le allocazioni di resourcing — assegnazioni con intervallo di date di una posizione su un progetto a un dipendente (o a nessuno ancora, un ruolo aperto). Nessun filtro; paginazione con cursore. Ogni elemento porta employeeId/employeeName e projectId/projectName già risolti (employeeId null significa ruolo aperto); positionId è nudo — risolvi il nome tramite positions_list. source distingue le righe importate da foglio da quelle create direttamente in Flowtly. Usalo per riconciliare un import di un foglio di resourcing: rileggi cosa è arrivato e confrontalo con quanto inviato.

Conti Bancari_get

Strumenti

bankAccounts_getRecupera un conto bancario per id — nome, valuta, banca e il formato in cui vengono importati gli estratti conto.

Conti Bancari_list

Strumenti

bankAccounts_listElenca i conti bancari dell'organizzazione. Filtra per banca, oppure imposta hidden per includere quelli archiviati. Usalo per risolvere l'id bankAccount su cui filtra transactions_list.

Clienti_get

Strumenti

clients_getRecupera un cliente per id — nome, paese, valuta, partita IVA e stato.

Clienti_list

Strumenti

clients_listElenca i clienti (i clienti dell'organizzazione). Filtra per status, oppure per externalPaymentCustomerId per trovare il cliente dietro un id del provider di pagamento. Usalo per risolvere l'id client su cui filtrano invoices_list, deals_list, projects_list e contracts_list.

Chiavi Configurazione_catalog

Strumenti

configKeys_catalogElenca ogni chiave di configurazione dell'organizzazione riconosciuta dal backend, con il suo tipo e i valori consentiti. Questo è il catalogo di ciò che è configurabile — leggilo prima di configs_get o configs_update invece di indovinare il nome di una chiave. Il permesso è applicato per chiave dal backend, quindi la presenza di una chiave qui non garantisce che l'utente connesso possa scriverla.

Configurazioni_get

Strumenti

configs_getLegge un valore di configurazione dell'organizzazione per id, dove l'id è una chiave da configKeys_catalog (es. organization-logo-url, organization-icon-url).

Contratti_get

Strumenti

contracts_getRecupera un contratto per id — parti, direzione, valore, termini ciclici e date.

Contratti_list

Strumenti

contracts_listElenca i contratti. Filtra per direction (in entrata / in uscita), controparte, progetto, cyclic, nome o tag. Usalo per risolvere l'id contract letto da contracts_paymentScheduleLines e che deals_win può collegare a un affare vinto.

Contratti_righe Piano Pagamenti

Strumenti

contracts_paymentScheduleLinesElenca il piano di pagamento di un contratto — le rate in cui si prevede sia fatturato o pagato. Passa contractId da contracts_list. Questo è il piano, non i consuntivi: confrontalo con transactions_list per vedere cosa è stato realmente pagato.

Gruppi di Costo_list

Strumenti

costGroups_listElenca i cost group / centri di costo — i contenitori in cui sono archiviati costi, fornitori e fatture in entrata. Usalo per risolvere l'id costGroup richiesto da suppliers_create e proposto dai suggerimenti sulle fatture in entrata.

Controparti_get

Strumenti

counterparties_getRecupera una controparte per id.

Controparti_list

Strumenti

counterparties_listElenca le controparti — ogni soggetto con cui l'organizzazione ha rapporti. I flag supplier e client indicano quale ruolo (o ruoli) ricopre una controparte, e un record può essere entrambi. È il soggetto presente su una transazione bancaria, quindi è ciò con cui vengono abbinate le fatture in entrata e le transazioni. Filtra per type, supplier, client, cyclic o budgetNeutral.

Note CRM_get

Strumenti

crmNotes_getRecupera una nota CRM per id.

Note CRM_list

Strumenti

crmNotes_listElenca le note scritte su lead e trattative. Filtra per lead o deal per leggere il commentario progressivo su un singolo record.

Motivi Perdita Deal_get

Strumenti

dealLostReasons_getRecupera un motivo di perdita trattativa per id.

Motivi Perdita Deal_list

Strumenti

dealLostReasons_listElenca i motivi per cui un affare può essere segnato come perso, in ordine. deals_lose richiede un lostReasonId da qui.

Deal_get

Strumenti

deals_getRecupera una trattativa per id — titolo, cliente, fase, importo, responsabile, contatto, data di chiusura prevista ed effettiva.

Deal_list

Strumenti

deals_listElenca le trattative/opportunità — la pipeline di vendita. Filtra per status (open / won / lost), stage, owner, client, lead, oppure per intervalli di expectedCloseDate / closedAt. Gli importi sono espressi in unità minori con una valuta esplicita; non dare per scontata quella predefinita dell'organizzazione.

Storico Stage Deal_get

Strumenti

dealStageHistories_getRecupera un record di cambio fase trattativa per id.

Storico Stage Deal_list

Strumenti

dealStageHistories_listElenca le transizioni di stage di un affare, dalla più recente. Filtra per deal. Ogni deals_update che sposta lo stage viene registrato qui automaticamente, quindi questo è il modo per ricostruire quanto tempo un affare è rimasto in ogni stage — l'affare stesso porta solo quello corrente.

Richieste Ferie_list

Strumenti

holidayRequests_listRICHIESTE di ferie e a che punto sono — in attesa, approvate, rifiutate. Distinto da holidays_list, che sono le ferie prenotate: una richiesta ancora in attesa di decisione non è ancora un'assenza, quindi pianifica su holidays_list e usa questo per vedere cosa è in attesa di qualcuno. Fornisce l'holidayRequestId che holidays_approve e holidays_bulkApprove utilizzano. Sola lettura.

Ferie_active

Strumenti

holidays_activeChi è assente ADESSO — ogni ferie attualmente in corso, a livello di organizzazione, per tutti. Questo è lo strumento per 'chi è fuori oggi', e quello da verificare prima di trattare freePercent di resourcingBench_get come disponibilità, perché il bench non sottrae le ferie. A differenza di holidays_list non applica alcuno scoping di progetto e non richiede alcun permesso oltre l'essere autenticati, quindi la sua risposta copre l'intera organizzazione. Restituisce ogni assenza con il suo tipo e le date. Sola lettura.

Ferie_get

Strumenti

holidays_getUn record di ferie per id, con il suo tipo, date e durata. Ottieni l'id da holidays_list o holidays_active. Sola lettura.

Ferie_list

Strumenti

holidays_listFerie prenotate in un periodo — la vista di pianificazione, mentre holidays_active risponde solo per oggi. Filtra per dipendente, per intervallo di date o per progetto. COSA VEDI DIPENDE DAI TUOI PERMESSI, e un elenco corto non è prova che nessuno sia assente: un holidays manager o un accountancy viewer ottiene l'intera organizzazione, mentre un project lead o viewer DEVE passare un filtro di progetto (o chiedere di sé stesso) e viene rifiutato apertamente senza — quel rifiuto è un limite di permesso, non un calendario vuoto. Sola lettura.

Fatture in Entrata_get

Strumenti

incomingInvoices_getRecupera una fattura in entrata (fornitore) o un documento di supporto per id, con i campi estratti via OCR e lo stato di abbinamento attuale.

Fatture in Entrata_list

Strumenti

incomingInvoices_listElenca le fatture in entrata (fornitori) e i documenti di supporto — la inbox di contabilità. Una fattura in entrata È un documento allegato a una transazione bancaria, quindi exists.transaction=false è il modo per trovare documenti non ancora abbinati a un pagamento. Filtra anche per status, relatedMonth, controparte, progetto, tag o hasDetectedProblems. Ogni documento è identificato univocamente come externalId 'upload_sha256:<sha256 dei byte>' — calcola l'hash di un file e cerca quell'externalId qui PRIMA di incomingInvoices_create, altrimenti creerai un duplicato.

Fatture in Entrata_candidati Corrispondenza

Strumenti

incomingInvoices_matchCandidatesElenca le transazioni bancarie che potrebbero corrispondere al pagamento di questa fattura in entrata, classificate dal matcher del backend. Usalo quando un documento non ha una transazione allegata e devi sceglierne una; preferisci questi candidati piuttosto che indovinare tu stesso dagli importi.

Fatture in Entrata_suggestions

Strumenti

incomingInvoices_suggestionsLegge le proposte di Flowtly per una fattura in entrata — corrispondenza fornitore, cost group, transazione bancaria corrispondente, avviso di duplicato. Sono esattamente le proposte che un utente umano vede nell'app. Leggile prima, poi applica una per id con incomingInvoices_applySuggestion, oppure accettale tutte con acceptAllSuggestions. Passa refresh per ricalcolare invece di servire l'insieme in cache.

Fatture in Entrata_debug Suggestions

Strumenti

incomingInvoices_suggestionsDebugSpiega PERCHÉ i suggerimenti di una fattura in entrata sono usciti così — il punteggio del matcher, per diagnosticare un suggerimento mancante o errato. Solo diagnostico; usa incomingInvoices_suggestions per il lavoro normale.

Fatture_get

Strumenti

invoices_getRecupera una fattura in uscita (vendita) per id — cliente, righe, totali, data di vendita e di emissione, stato.

Fatture_list

Strumenti

invoices_listElenca le fatture in uscita (vendite). Filtra per cliente, tag, ricerca o un intervallo saleDate. Nota che saleDate — non la data di emissione né la data di creazione — è il campo su cui filtra invoices_export, quindi usa lo stesso qui quando riconcili un export.

Attività Lead_get

Strumenti

leadActivities_getOttiene un'attività di un lead (contatto di outreach) per id.

Attività Lead_list

Strumenti

leadActivities_listElenca i contatti di outreach di un lead — la sua timeline di attività (invito inviato, risposte, chiamate, follow-up). Filtra per lead per leggere la storia di un singolo prospect. Questo è l'equivalente strutturato di crmNotes_list: le attività sono il registro dei contatti tipizzato e datato; le note sono commenti liberi.

Contatti Lead_get

Strumenti

leadContacts_getRecupera un contatto lead per id.

Contatti Lead_list

Strumenti

leadContacts_listElenca le persone di contatto associate ai lead. Filtra per lead per leggere i contatti di un singolo prospect, oppure per email per trovare da quale lead proviene un messaggio.

Appartenenze a Liste Lead_get

Strumenti

leadListMemberships_getRecupera un'appartenenza lead-lista per id.

Appartenenze a Liste Lead_list

Strumenti

leadListMemberships_listElenca quali lead si trovano in quali liste di prospecting in uscita, con lo stato di contatto di ciascuno (contacted / replied / bounced). Filtra per list, lead o status — è così che leggi lo stato di una campagna.

Liste Lead_get

Strumenti

leadLists_getRecupera una lista di prospecting in uscita per id.

Liste Lead_list

Strumenti

leadLists_listElenca le liste di prospecting in uscita. Usalo per risolvere l'id list che leadListMemberships_create richiede.

Motivi Perdita Lead_get

Strumenti

leadLostReasons_getRecupera un motivo di perdita lead per id.

Motivi Perdita Lead_list

Strumenti

leadLostReasons_listElenca, in ordine, i motivi per cui un lead può essere segnato come perso.

Lead_verifica Duplicati

Strumenti

leads_dedupeCheckVerifica se un prospect è già nel CRM, usando gli stessi filtri di leads_list (companyName, source, owner, …). Chiamalo PRIMA di leads_create: un lead duplicato divide la storia di outreach su due record, e nulla a valle li unirà per te.

Lead_get

Strumenti

leads_getRecupera un lead per id — azienda, sito web, source, status, owner e il cliente in cui è stato convertito, se presente.

Lead_list

Strumenti

leads_listElenca i lead — obiettivi prospect, prima della qualificazione. Filtra per status, source, owner, client, companyName o intervalli createdAt/closedAt. Un lead qualificato diventa un Client più un Deal aperto tramite leads_convert; fino ad allora vive solo qui, non in clients_list.

Stage Lead_get

Strumenti

leadStages_getRecupera una fase lead per id.

Stage Lead_list

Strumenti

leadStages_listElenca gli stage attraversati da un lead, in ordine. I lead hanno un proprio set di stage — i deal usano stages_list, che è una cosa diversa.

Piè di Pagina Email Organizzazione_get

Strumenti

organizationMailFooter_getLegge il testo del piè di pagina delle email in uscita dell'organizzazione (il blocco aggiunto alle email che Flowtly invia per conto dell'organizzazione).

Organizzazioni_get

Strumenti

organizations_getOttiene un'organizzazione per id. ATTENZIONE — questo NON indica a quale organizzazione sei connesso. Una connessione OAuth è fissata a esattamente un'org (legata al token), ma questo endpoint restituisce qualsiasi org di cui l'UTENTE connesso è membro, quindi una lettura riuscita qui può sembrare conferma di stare lavorando in quell'org quando potrebbe non essere così. Per verificare il tenant su cui stai realmente operando, leggi invece dati con scope al tenant — people_list o clients_list — e non avviare mai una scrittura massiva basandoti solo su questa chiamata.

Persone_get

Strumenti

people_getRecupera un record persona/dipendente per id — nomi, email, telefono, responsabile e se è attivo.

Persone_list

Strumenti

people_listElenca le persone/dipendenti. Filtra per isActive, reportsTo (l'id di un responsabile), projectMembers.project o search; pagina con cursor. Persone e dipendenti condividono lo stesso id, quindi è così che ottieni l'id employee richiesto da ore lavorate, responsabilità, appartenenza ai progetti e strumenti di permessi.

Gruppi di Permessi_get

Strumenti

permissionGroups_getRecupera un gruppo di permessi per id, incluse le stringhe ROLE_* che concede.

Gruppi di Permessi_list

Strumenti

permissionGroups_listElenca i gruppi di permessi dell'organizzazione e i ruoli che ciascuno concede — es. il gruppo "Business Owner" concede ROLE_ADMIN. Leggilo prima di people_setPermissionGroups: i ruoli nella risposta sono l'autorità su ciò che un gruppo permette realmente, così non devi mai indovinare dal suo nome.

Pipeline_get

Strumenti

pipelines_getRecupera una pipeline di vendita per id.

Pipeline_list

Strumenti

pipelines_listElenca le pipeline di vendita. Una pipeline possiede un insieme ordinato di stage — leggili con stages_list filtrato per pipeline.

Posizioni_list

Strumenti

positions_listElenca le posizioni — i ruoli nominati (es. "Backend Engineer") che un'allocazione di progetto ricopre. Nessun filtro; Position ha la paginazione disabilitata, quindi questo restituisce sempre l'intero catalogo dei ruoli dell'organizzazione in un'unica chiamata. Ogni elemento è {id, name, roles}. Usalo per risolvere il nome della posizione dietro il positionId di una riga di allocations_list, e per trovare l'id position con cui un import di resourcing deve corrispondere.

Progetti_get

Strumenti

projects_getRecupera un progetto per id — nome, tipo, cliente, date, descrizione e prezzo.

Progetti_list

Strumenti

projects_listElenca i progetti. Filtra per type (fixed-price | time-and-material | non-billable | internal), client.name, employee, name, oppure per intervalli di dateFrom/dateTo. Usalo per ottenere l'id project richiesto da attività, registrazione delle ore lavorate, budget e contratti.

Candidati Richiesta Risorsa_get

Strumenti

resourceRequestCandidates_getUn candidato per il recruitment per id. L'id proviene da resourceRequestCandidates_list. Richiede ROLE_HR_MANAGER. Sola lettura.

Candidati Richiesta Risorsa_list

Strumenti

resourceRequestCandidates_listI candidati proposti per le richieste di assunzione — persone in una pipeline di recruitment, non dipendenti disponibili per l'allocazione. Filtra per l'id della richiesta da resourceRequests_list. Richiede ROLE_HR_MANAGER. Sola lettura.

Richieste Risorsa_get

Strumenti

resourceRequests_getUna richiesta di assunzione per id, con la sua posizione e stato. Ottieni l'id da resourceRequests_list. HR/recruitment, non allocazione di resourcing. Richiede ROLE_HR_MANAGER. Sola lettura.

Richieste Risorsa_list

Strumenti

resourceRequests_listRichieste di assunzione aperte — una richiesta di reclutare per una posizione, nel dominio HR. Nonostante il nome NON è domanda di allocazione di resourcing: è recruitment. Restituisce la collezione; resourceRequests_get legge una, e resourceRequestCandidates_list fornisce le persone proposte per essa. Richiede ROLE_HR_MANAGER. Sola lettura.

Richieste di Resourcing_list

Strumenti

resourcingRequests_listRichieste di resourcing aperte — qualcuno che chiede che una persona venga allocata a un progetto, che è il lato della domanda nel resourcing. Questo è il flusso che la vista Requests dell'UI di Resourcing rende. NON confonderlo con resourceRequests_list: quello è RECRUITMENT HR (assunzione per una posizione). Abbinalo a resourcingRequestsHistory_list per ciò che è già stato deciso, e a resourcingBench_get per chi potrebbe soddisfare una richiesta. Richiede il modulo resourcing e ROLE_RESOURCING_MANAGER. Sola lettura.

Storico Richieste di Resourcing_list

Strumenti

resourcingRequestsHistory_listCosa è già successo alle richieste di resourcing — la traccia delle decisioni (confermate, rifiutate, modificate) dietro le richieste aperte in resourcingRequests_list. Usalo per rispondere a 'questo era già stato chiesto e rifiutato?' prima di proporre di nuovo la stessa allocazione. Richiede il modulo resourcing e ROLE_RESOURCING_MANAGER. Sola lettura.

Responsabilità_get

Strumenti

responsibilities_getRecupera una responsabilità per id.

Responsabilità_list

Strumenti

responsibilities_listElenca le responsabilità all'interno di un gruppo RACI. Filtra per responsibilityGroup. Le responsabilità possono essere annidate tramite parent; le persone vi vengono assegnate tramite responsibilityEmployees, non direttamente.

Responsabili Dipendenti_get

Strumenti

responsibilityEmployees_getRecupera un'assegnazione di responsabilità per id.

Responsabili Dipendenti_list

Strumenti

responsibilityEmployees_listElenca chi è assegnato a quale responsabilità, e con quale percentuale. Filtra per employee per leggere l'intero carico RACI di una persona su tutti i gruppi.

Gruppi di Responsabilità_get

Strumenti

responsibilityGroups_getRecupera un gruppo di responsabilità per id.

Gruppi di Responsabilità_list

Strumenti

responsibilityGroups_listElenca i gruppi di responsabilità / aree RACI — le voci di primo livello "Odpowiedzialności", ciascuna con una persona responsabile (accountable). Le singole responsabilità sono annidate sotto di esse.

Dipendenti Schedule_get

Strumenti

scheduleEmployees_getUn'assegnazione schedule-dipendente per id. L'id proviene da scheduleEmployees_list. Richiede ROLE_SCHEDULES_MANAGER. Sola lettura.

Dipendenti Schedule_list

Strumenti

scheduleEmployees_listQuali dipendenti sono assegnati a quali orari di lavoro. Usalo per passare da uno schedule (schedules_list) alle sue persone, o per trovare lo schedule seguito da un dato dipendente. Richiede ROLE_SCHEDULES_MANAGER. Sola lettura.

Piano Schedule_list

Strumenti

schedulePlan_listGli orari in vigore in UNA data specifica — passa la data nel path. Usalo per rispondere a 'chi sta lavorando oggi / in questa data' senza leggere ogni schedule e risolvere i suoi intervalli da solo. A differenza delle altre letture di schedule questo richiede solo ROLE_USER, quindi è quello disponibile a un dipendente ordinario. Sola lettura.

Intervalli Schedule_get

Strumenti

scheduleRanges_getUn intervallo orario di schedule per id. L'id proviene da scheduleRanges_list. Richiede ROLE_SCHEDULES_MANAGER. Sola lettura.

Intervalli Schedule_list

Strumenti

scheduleRanges_listGli intervalli orari che compongono gli orari di lavoro — le ore effettive coperte da uno schedule. Leggi prima il genitore con schedules_get; questo espande i suoi intervalli. Richiede ROLE_SCHEDULES_MANAGER. Sola lettura.

Schedule_get

Strumenti

schedules_getUn orario di lavoro per id, con i suoi intervalli e i dipendenti assegnati. L'id proviene da schedules_list; scheduleRanges_list e scheduleEmployees_list leggono le sue parti. Richiede ROLE_SCHEDULES_MANAGER. Sola lettura.

Schedule_list

Strumenti

schedules_listOrari di lavoro — i pattern di turno/lavoro definiti da un'organizzazione, NON allocazione di progetto. Usa resourcingSchedule_get per chi è prenotato su cosa; usa questo per i pattern di lavoro stessi. schedules_get legge uno per id. Richiede ROLE_SCHEDULES_MANAGER. Sola lettura.

Stage_get

Strumenti

stages_getRecupera una fase trattativa per id.

Stage_list

Strumenti

stages_listElenca gli stage di un affare, in ordine. Filtra per pipeline. deals_create richiede un id stage da qui, e spostare un affare tra stage è ciò che dealStageHistories registra.

Fornitori_list

Strumenti

suppliers_listElenca i fornitori — serviti da /contractors, quindi "supplier" e "contractor" sono lo stesso record. Filtra per cyclic per i fornitori ricorrenti. Usalo per ottenere il supplier a cui è associato un costo, un contratto o una fattura in entrata.

Definizioni Tag_list

Strumenti

tagDefinitions_listElenca le definizioni di tag — i tag che possono essere associati ai record, ciascuno all'interno di un tag group. tags_create richiede un id tagDefinition da qui più il record a cui associarlo.

Gruppi Tag_list

Strumenti

tagGroups_listElenca i gruppi di tag — i contenitori che organizzano le definizioni di tag.

Commenti Task_list

Strumenti

taskComments_listElenca i commenti sulle attività di progetto, dal più vecchio. Filtra per task per leggere la discussione di una singola attività.

Liste Task_list

Strumenti

taskLists_listElenca le liste di task — le colonne/sezioni della board in cui i task sono archiviati. Filtra per progetto. tasks_create richiede un id list da qui.

Task_get

Strumenti

tasks_getRecupera un'attività di progetto per id — titolo, progetto, stato, elenco, assegnatari, date e ricorrenza.

Task_list

Strumenti

tasks_listElenca i task di progetto. Filtra per progetto, list, status, assegnatari, isTemplate o intervalli startAt/dueAt. I task ricorrenti espongono recurrenceParent e recurrenceRule, così un'occorrenza generata può essere ricondotta alla regola che l'ha prodotta. Per decidere se un task è COMPLETATO, confronta il suo status con taskStatuses_list (isClosed) invece di confrontare il nome dello status.

Stati Task_list

Strumenti

taskStatuses_listElenca gli stati delle attività di progetto, nell'ordine della board. isClosed contrassegna gli stati di completamento e isDefault lo stato assegnato a una nuova attività. Consultalo prima di interpretare lo status di un'attività — i nomi sono configurabili a livello di organizzazione, quindi "Done" non è una stringa affidabile su cui fare corrispondenza.

Gruppi Fiscali_list

Strumenti

taxGroups_listElenca i tax group. Usalo per risolvere l'id taxGroup su cui filtra taxRules_list e che le righe fattura portano.

Regole Fiscali_list

Strumenti

taxRules_listElenca le regole fiscali — le aliquote e i periodi a cui si applicano. Filtra per taxGroup.

Transazioni_list

Strumenti

transactions_listElenca le transazioni bancarie — il flusso bancario a cui vengono abbinate le fatture in entrata. Filtra per bankAccount, counterpartyRole, cost, ignored, hasDetectedProblems, un intervallo orderDate/execDate o amount.between. Nota che orderDate ed execDate sono diversi: un pagamento può essere disposto in un mese ed eseguito nel successivo.

Transazioni_suggestions

Strumenti

transactions_suggestionsLegge le proposte di Flowtly per una transazione bancaria — a quale controparte, cost group o documento dovrebbe essere archiviata. L'immagine speculare di incomingInvoices_suggestions, dal lato del denaro.

Orari Lavorati_get

Strumenti

workTimes_getRecupera una singola voce di ore lavorate per id — data, minuti, progetto, note e il dipendente a cui appartiene.

Orari Lavorati_list

Strumenti

workTimes_listElenca le voci di ore lavorate (registrate). Filtra per intervallo di date (date.after / date.before, YYYY-MM-DD) ed eventualmente per employee o project; pagina con cursor. Ogni riga riporta employeeId/employeeName e projectId/projectName, quindi è così che esporti tutte le ore registrate per un periodo. IMPORTANTE: i risultati a livello di organizzazione richiedono ROLE_WORKING_HOURS_VIEWER. Senza questo ruolo il backend NON restituisce un errore — restituisce silenziosamente solo le voci dell'utente connesso, quindi un'esportazione "ore di tutti" può tornare contenendo una sola persona e sembrare comunque corretta. Se ogni riga appartiene a un solo dipendente e non hai filtrato per employee, la risposta include uno scopeWarning che lo segnala — mostralo all'utente invece di presentare il risultato come a livello di organizzazione.

Orari Lavorati_log

Strumenti

workTimes_logRegistra una voce di ore lavorate per l'utente Flowtly connesso (date, durationMinutes, project, notes). Scrittura.

Task_create

Strumenti

tasks_createCrea un'attività di progetto (title + project obbligatori; opzionali status, list, assignees, dueAt, priority). Scrittura.

Task_update

Strumenti

tasks_updateAggiorna un'attività di progetto per id — cambia status (incl. segnare come completata), assignees, dueAt, title, ecc. Scrittura.

Commenti Task_create

Strumenti

taskComments_createAggiunge un commento a un'attività di progetto (id task + content). Scrittura.

Fornitori_create

Strumenti

suppliers_createCrea un nuovo record fornitore (name, tinType, costGroup obbligatori). Scrittura.

Fornitori_update

Strumenti

suppliers_updateAggiorna i dati di un fornitore (nome, partita IVA, termini di pagamento, ecc.) per id. Scrittura.

Persone_create

Strumenti

people_createCrea un record persona/dipendente (firstname + lastname obbligatori; opzionali companyEmail, contactEmail, contactPhone). Scrittura.

Persone_update

Strumenti

people_updateAggiorna un record persona/dipendente per id (name, companyEmail, contactEmail, contactPhone, ecc.). Scrittura.

Persone_delete

Strumenti

people_deleteElimina un record dipendente/persona per id (ad es. per rimuovere un dipendente segnaposto/fittizio). Richiede ROLE_EMPLOYEES_MANAGER; il backend esegue un processore di eliminazione che scollega anche i record correlati. Impatto elevato, irreversibile. Scrittura.

Gruppi di Costo_create

Strumenti

costGroups_createCrea un centro di costo (name + type obbligatori). Scrittura.

Gruppi di Costo_update

Strumenti

costGroups_updateAggiorna il nome o il tipo di un centro di costo per id. Scrittura.

Gruppi Tag_create

Strumenti

tagGroups_createCrea un gruppo di tag (name obbligatorio) per organizzare le definizioni di tag correlate. Scrittura.

Definizioni Tag_create

Strumenti

tagDefinitions_createCrea una definizione di tag (name, level, tagGroup obbligatori) all'interno di un gruppo di tag. Scrittura.

Tag_create

Strumenti

tags_createAssocia una definizione di tag a un record (tagDefinition + relationName + relationId; ad es. relationName "counterparty" per taggare un fornitore). Scrittura.

Clienti_create

Strumenti

clients_createCrea un nuovo record cliente (name, country, currency, status, tinType obbligatori). Scrittura.

Clienti_update

Strumenti

clients_updateAggiorna un record cliente per id. Scrittura.

Contatti Cliente_create

Strumenti

clientContacts_createCrea una persona di contatto per un cliente (client, type, name, email obbligatori). Scrittura.

Conti Bancari_create

Strumenti

bankAccounts_createCrea un conto bancario (type, name, currency, defaultImportFormat obbligatori). Scrittura.

Conti Bancari_update

Strumenti

bankAccounts_updateAggiorna un conto bancario per id. Scrittura.

Conti Bancari Controparte_create

Strumenti

counterpartyBankAccounts_createAssocia un conto bancario a una controparte (counterparty + accountNumber). Scrittura.

Contratti_create

Strumenti

contracts_createCrea un contratto. Scrittura.

Contratti_update

Strumenti

contracts_updateAggiorna un contratto per id. Scrittura.

Contratti_delete

Strumenti

contracts_deleteElimina un contratto per id. Scrittura.

Gruppi Fiscali_create

Strumenti

taxGroups_createCrea un gruppo fiscale (name + type obbligatori). Scrittura.

Gruppi Fiscali_update

Strumenti

taxGroups_updateAggiorna il nome o il tipo di un gruppo fiscale per id. Scrittura.

Regole Fiscali_create

Strumenti

taxRules_createCrea una regola fiscale. Scrittura.

Regole Fiscali_update

Strumenti

taxRules_updateAggiorna una regola fiscale per id. Scrittura.

Configurazioni_update

Strumenti

configs_updateAggiorna un valore di configurazione dell'organizzazione per id (type + name obbligatori; il permesso è applicato dal backend chiave per chiave). Scrittura.

Piè di Pagina Email Organizzazione_update

Strumenti

organizationMailFooter_updateAggiorna il testo del piè di pagina delle email in uscita dell'organizzazione. Scrittura.

Gruppi di Permessi_create

Strumenti

permissionGroups_createCrea un gruppo di permessi (name obbligatorio; roles = elenco di stringhe ROLE_* concesse). Scrittura.

Gruppi di Permessi_update

Strumenti

permissionGroups_updateAggiorna nome, descrizione o ruoli concessi di un gruppo di permessi per id. Scrittura.

Persone_imposta Gruppi di Permessi

Strumenti

people_setPermissionGroupsImposta (sostituisce) i gruppi di permessi di una persona tramite id numerici di gruppo (vedi permissionGroups_list — es. il gruppo "Business Owner" concede ROLE_ADMIN). Concede l'accesso; NON crea un login né invia email alla persona. Scrittura.

Progetti_create

Strumenti

projects_createCrea un progetto (name + type obbligatori; type = fixed-price|time-and-material|non-billable|internal; opzionali dateFrom/dateTo, client, publicDescription, notes, priceNet). Scrittura.

Progetti_update

Strumenti

projects_updateAggiorna un progetto per id (name, type, date, descrizione, ecc.). Scrittura.

Gruppi di Responsabilità_create

Strumenti

responsibilityGroups_createCrea un gruppo di responsabilità / area RACI (nome richiesto; description e responsibleEmployee opzionali = la persona responsabile, indicata come id dipendente semplice come 6 (da people_list) o l'IRI /people/6). Questo è l'elemento di primo livello 'Odpowiedzialności'. Aggiungi responsabilità individuali sotto di esso tramite responsibilities_create. Scrittura.

Gruppi di Responsabilità_update

Strumenti

responsibilityGroups_updateAggiorna un gruppo di responsabilità per id (name, description, responsibleEmployee = id employee o IRI). Scrittura.

Responsabilità_create

Strumenti

responsibilities_createCrea una responsabilità all'interno di un gruppo (responsibilityGroup = id o IRI del gruppo, + name, richiesti; description opzionale; parent opzionale = un altro IRI responsibility per l'annidamento). Assegna persone ad essa tramite responsibilityEmployees_create. Scrittura.

Responsabilità_update

Strumenti

responsibilities_updateAggiorna una responsabilità per id (name, description, parent, responsibilityGroup = id gruppo o IRI). Scrittura.

Responsabili Dipendenti_create

Strumenti

responsibilityEmployees_createAssegna un dipendente a una responsabilità (responsibility = id responsabilità o IRI, employee = id employee o IRI, percentage 0-100, tutti obbligatori; opzionali targets e description). Scrittura.

Responsabili Dipendenti_update

Strumenti

responsibilityEmployees_updateAggiorna un'assegnazione di responsabilità per id (percentage, targets, description). Scrittura.

Responsabili Dipendenti_delete

Strumenti

responsibilityEmployees_deleteRimuove l'assegnazione di un dipendente da una responsabilità per id. Scrittura.

Lead_create

Strumenti

leads_createCrea un lead (potenziale obiettivo outbound/inbound; companyName, source, status, owner, client collegato opzionali). Scrittura.

Lead_update

Strumenti

leads_updateAggiorna un lead per id (company, website, source, status, owner, client collegato). Scrittura.

Lead_delete

Strumenti

leads_deleteElimina un lead per id (eliminazione soft). Scrittura.

Lead_convert

Strumenti

leads_convertConverte un lead qualificato in un Client + un contatto per ciascun lead-contact + una Deal aperta. Richiede un client esistente (il client del lead o un clientId nel body). Scrittura.

Attività Lead_create

Strumenti

leadActivities_createRegistra UN contatto di outreach su un lead — un invito inviato, un invito accettato, un messaggio, una risposta, una chiamata, un follow-up (lead + type + occurredAt richiesti; channel, contact, body opzionali). QUESTO è dove appartiene la storia di outreach di un prospect: una crmNote è commento libero, un'activity è il registro di contatti strutturato e filtrabile che la timeline della coda di prospecting rende. NON narrare i contatti in una nota. type: invite_sent | invite_accepted | message_sent | reply_received | call | meeting | follow_up | …; channel: linkedin | email | phone | …. Scrittura.

Attività Lead_update

Strumenti

leadActivities_updateAggiorna un'attività di outreach registrata per id (type, channel, occurredAt, body). Scrittura.

Attività Lead_delete

Strumenti

leadActivities_deleteElimina un'attività di outreach registrata per id. Scrittura.

Contatti Lead_create

Strumenti

leadContacts_createAggiunge una persona di contatto a un lead (lead + name richiesti; email, phone, role, linkedinUrl, isPrimary opzionali). L'URL LinkedIn di un contatto appartiene a linkedinUrl, NON a una crmNote. Scrittura.

Contatti Lead_update

Strumenti

leadContacts_updateAggiorna un contatto di lead per id — es. imposta linkedinUrl / email / phone una volta trovati. Scrittura.

Contatti Lead_delete

Strumenti

leadContacts_deleteElimina un contatto lead per id. Scrittura.

Deal_create

Strumenti

deals_createCrea una trattativa/opportunità (title, client, stage obbligatori; amountMinor, currency, expectedCloseDate, owner, contact opzionali). Scrittura.

Deal_update

Strumenti

deals_updateAggiorna una trattativa per id (title, stage, amount, data di chiusura, owner, contact). Lo spostamento di fase viene registrato automaticamente. Scrittura.

Deal_delete

Strumenti

deals_deleteElimina una trattativa per id (eliminazione soft). Scrittura.

Deal_win

Strumenti

deals_winSegna una trattativa come vinta — la sposta in una fase won e la marca come chiusa; contractId opzionale collega un contratto esistente. Scrittura.

Deal_lose

Strumenti

deals_loseSegna un affare come perso — richiede lostReasonId (da dealLostReasons_list); lostReasonNote opzionale. Scrittura.

Deal_reopen

Strumenti

deals_reopenRiapre una trattativa vinta/persa riportandola a open. Scrittura.

Liste Lead_create

Strumenti

leadLists_createCrea una lista di prospecting in uscita (name obbligatorio). Scrittura.

Liste Lead_update

Strumenti

leadLists_updateAggiorna una lista in uscita per id. Scrittura.

Liste Lead_delete

Strumenti

leadLists_deleteElimina una lista in uscita per id. Scrittura.

Appartenenze a Liste Lead_create

Strumenti

leadListMemberships_createAggiunge un lead a una lista in uscita (list + lead obbligatori; status opzionale). Scrittura.

Appartenenze a Liste Lead_update

Strumenti

leadListMemberships_updateAggiorna l'appartenenza di un lead a una lista — ad es. imposta lo stato di contatto (contacted/replied/bounced). Scrittura.

Appartenenze a Liste Lead_delete

Strumenti

leadListMemberships_deleteRimuove un lead da una lista in uscita. Scrittura.

Note CRM_create

Strumenti

crmNotes_createAggiunge una nota a un lead o a una trattativa (body + esattamente uno tra lead/deal). L'autore è l'utente connesso. Scrittura.

Note CRM_update

Strumenti

crmNotes_updateAggiorna il testo di una nota CRM per id. Scrittura.

Note CRM_delete

Strumenti

crmNotes_deleteElimina una nota CRM per id. Scrittura.

Logo Organizzazione_upload

Strumenti

organizationLogo_uploadCarica/sostituisce il logo dell'organizzazione (immagine base64 + contentType + filename). Leggi quello attuale tramite configs_get organization-logo-url. Scrittura.

Icona Organizzazione_upload

Strumenti

organizationIcon_uploadCarica/sostituisce l'icona/favicon dell'organizzazione (immagine base64 + contentType + filename). Leggi quella attuale tramite configs_get organization-icon-url. Scrittura.

Fatture in Entrata_create

Strumenti

incomingInvoices_createArchivia una fattura in entrata (fornitore) o un documento di supporto in contabilità — passa i byte come base64 con un fileName e receivedAt. Flowtly esegue l'OCR e suggerisce un fornitore e una transazione bancaria corrispondente. Il file è identificato univocamente come externalId 'upload_sha256:<sha256 dei byte>': per evitare un duplicato, calcola l'hash dei byte e verifica incomingInvoices_list per quell'externalId PRIMA di caricare. Scrittura.

Fatture_export

Strumenti

invoices_exportAvvia un export zip delle fatture EMESSE per un periodo (from/to, entrambi YYYY-MM-DD, inclusivi) filtrato su DATA DI VENDITA — non data di emissione né di creazione. Sono incluse solo le fatture EMESSE; le bozze e le fatture non inviate sono escluse, ma le note di credito/correzioni SONO incluse. Client opzionale limita a un cliente (id o IRI da clients_list). Massimo 200 fatture per export — se il periodo ne ha di più, restringilo (es. esporta un mese alla volta); un periodo con 0 fatture emesse viene rifiutato. Questa chiamata mette solo in coda il job (il rendering di un mese può richiedere minuti) — NON restituisce un link di download. Fai polling di invoices_exportStatus con l'exportId restituito finché non riporta "ready". Scrittura.

Fatture_export Status

Strumenti

invoices_exportStatusFa polling dello stato di un export zip avviato da invoices_export, tramite exportId. Una volta che lo status è "ready", la risposta include downloadUrl (un link firmato a breve termine — scade dopo 1 ora, vedi expiresAt), filename e byteSize; i byte del file non vengono mai restituiti tramite questo strumento. Se lo status è "failed", failureReason spiega il motivo.

Fatture_import

Strumenti

invoices_importArchivia una fattura in uscita (vendite) GIÀ EMESSA nell'organizzazione — per portare la storia fatture durante l'onboarding. Il numero fattura esterno che passi è preservato letteralmente, l'acquirente è risolto tramite partita IVA (creato se assente), e la fattura viene registrata come emessa SENZA generare un PDF, inviare email al cliente o inviare a KSeF. Importare un numero già esistente è un no-op che riporta la fattura esistente, quindi un import massivo è sicuro da rieseguire — ma questa garanzia vale solo per chiamate sequenziali; due import realmente concorrenti dello stesso numero possono entrambi andare a buon fine. Passa expectedGrossTotal (il totale lordo stampato sul documento sorgente) e l'import viene rifiutato se non concorda con il totale calcolato dalle righe. buyer.tin è richiesto — l'acquirente non viene mai abbinato per nome. Usa invoices_create, non questo, per emettere una fattura realmente nuova. Scrittura.

Pagamenti Fattura_create

Strumenti

invoiceTransactions_createRegistra un pagamento a fronte di una fattura in uscita (vendite). `invoice` è un IRI fattura da invoices_list; `date` è quando il pagamento è considerato effettuato. `transaction` è opzionale — omettilo per registrare la liquidazione senza una riga bancaria, ciò che serve per fatture storiche il cui estratto conto non è mai stato importato. `amount` è opzionale e per default è l'importo residuo della fattura. Registrare un pagamento è ciò che impedisce che una fattura emessa e scaduta sia trattata come non pagata, quindi è anche ciò che impedisce che vengano accodati promemoria di pagamento per essa. Nulla impedisce di registrare due pagamenti sulla stessa fattura, quindi leggi prima invoices_get se non sei sicuro che ne sia già stata registrata una. Scrittura.

Pagamenti Fattura_update

Strumenti

invoiceTransactions_updateAggiorna un record di pagamento fattura esistente per id (da invoiceTransactions di invoices_get, o paginando invoiceTransactions). L'uso più comune: puntare un pagamento registrato senza riga bancaria a una transazione appena importata tramite transactions_importStatement, impostando `transaction` su un IRI/id transazione da transactions_list. IL TRABOCCHETTO: questa è una PATCH, ma il backend richiede comunque `invoice` e `date` a ogni chiamata — NON unisce i valori esistenti per te. Leggi prima il record (o averlo già dalla chiamata di creazione) e reinvia i suoi `invoice` e `date` invariati insieme a qualsiasi cosa tu voglia realmente cambiare, altrimenti l'aggiornamento viene rifiutato. `transaction` accetta null per scollegare un pagamento da una riga bancaria. `amount` è opzionale. Scrittura.

Fatture in Entrata_applica Suggerimento

Strumenti

incomingInvoices_applySuggestionAccetta uno dei suggerimenti di Flowtly su una fattura in entrata — le stesse proposte che un utente umano vede nell'app (corrispondenza fornitore, cost group, transazione bancaria corrispondente, avviso di duplicato). Leggili prima con incomingInvoices_suggestions, poi applicane uno per il suo id. Preferisci questo a indovinare: è il matcher di Flowtly, non l'agente, a decidere cosa è plausibile. Scrittura.

Fatture in Entrata_accetta Tutti i Suggerimenti

Strumenti

incomingInvoices_acceptAllSuggestionsAccetta in un'unica chiamata tutti i suggerimenti in sospeso su una fattura in entrata — ciò che un utente fa con il pulsante "accetta tutto" dell'app. Il server applica, ricalcola e riapplica finché non compare più nulla di nuovo: l'abbinamento della transazione NON esiste finché fornitore e importo non sono stati applicati, quindi un singolo passaggio lascerebbe il documento non associato. Restituisce un report (cosa è stato applicato, cosa è stato rifiutato e perché, e la transazione a cui è stato infine associato). Passa dryRun per un'anteprima senza scrivere. Non accetta mai supplier_create né un avviso di duplicato. Scrittura.

Fatture in Entrata_verifica E-Fatture

Strumenti

incomingInvoices_checkEInvoicesRecupera eventuali nuove e-fatture KSeF nell'organizzazione — ciò che fa il pulsante "Sprawdź e-faktury" dell'app. Chiamalo prima di concludere che manca la fattura di un fornitore: senza di esso non puoi distinguere "il fornitore non l'ha mai inviata" da "la nostra sincronizzazione non è ancora stata eseguita". Ritorna una volta che il recupero è in coda; rileggi incomingInvoices_list dopo per vedere cosa è arrivato. Scrittura.

Resourcing_importa Timeline

Strumenti

resourcing_importTimelineImporta un foglio di timeline di allocazione resourcing (recuperalo tramite l'MCP Drive, passa il suo CSV letteralmente). Questo è uno specchio a SOSTITUZIONE COMPLETA delle righe Allocation dell'organizzazione per `year`: le righe nel foglio vengono create/aggiornate, e qualsiasi riga esistente per quell'anno assente dal foglio viene ELIMINATA — non è un merge. DRY-RUN PER DEFAULT: un dryRun omesso mostra un'anteprima e non scrive nulla; passa dryRun:false per applicare. Il report fornisce `created` / `replaced` più `unmatchedPeople` / `unmatchedProjects`. DUE COSE SONO FACILI DA PERDERE: una riga del foglio il cui progetto non si risolve viene SALTATA mentre la chiamata riporta comunque successo, quindi un risultato verde può nascondere un import parziale; e un codice ruolo che il catalogo posizioni non possiede già viene CREATO come nuova posizione invece di essere rifiutato — vedi `createdPositions`. Entrambi sono segnalati in `warnings` quando accadono; comunicalo all'utente invece di riportare solo `created`. Un foglio che si analizza a zero righe viene rifiutato (sembra esattamente una lettura errata sul punto di cancellare l'intera timeline) a meno che tu non passi force:true. Leggi allocations_list dopo per vedere cosa è arrivato. Alto impatto. Scrittura.

Transazioni_importa Estratto Conto

Strumenti

transactions_importStatementImporta un file di estratto conto bancario (es. un file MT940 .sta) — passa il contenuto testuale grezzo di ogni file letteralmente (NON base64) con un filename. NON C'È UN PARAMETRO bankAccount: il backend instrada un file rimuovendo tutti i caratteri non numerici dai numeri dei tuoi conti bancari e dai byte del file, e importando in ogni conto le cui cifre appaiono ovunque nel file — quindi un file può finire in più conti, e un estratto per un conto non configurato in Flowtly (o il cui numero è registrato diversamente da come lo scrive la banca) non viene importato in nessuno di essi, fallendo con un errore che spiega esattamente il motivo — leggi quel messaggio, è l'unico strumento diagnostico che questo endpoint fornisce. In caso di successo la risposta è `{ imported, matching }`: `matching: "in_progress"` significa che il matching di contraente/allegato per le nuove righe è ancora in esecuzione dopo che questa chiamata ritorna, quindi una transactions_list immediata potrebbe mostrare righe non ancora abbinate — rileggi un po' più tardi per lo stato finale. Reimportare lo stesso estratto non crea righe duplicate; l'importer riconosce le transazioni già viste. Una volta che un estratto è dentro, punta un pagamento esistente senza riga bancaria a una delle sue righe con…

Organizzazione_whoami

Strumenti

organization_whoamiRestituisce l'organizzazione a cui è vincolata questa connessione MCP — { orgId, name, slug, userId }. Chiamalo per confermare A QUALE tenant stai per scrivere prima di qualsiasi create/update: la connessione è fissata a esattamente un'org dal token, e scrivere prospect/record nell'org sbagliata è un incidente reale. Sola lettura.

Consuntivi di Resourcing_get

Strumenti

resourcingActuals_getOre riportate rispetto al piano, per persona per settimana, su una finestra from/to — la domanda 'il team è realmente in linea col piano?', a cui NESSUN altro strumento di resourcing risponde: le allocazioni dicono cosa era PIANIFICATO, questo dice cosa è stato CONSEGNATO. Restituisce colonne settimanali più una riga per persona (percentuale pianificata, percentuale riportata, scostamento, totali e una scomposizione per progetto). reportedPercent null significa 'nessun contratto quella settimana' e 0 significa 'un contratto esisteva e non è stato riportato nulla' — NON confondere i due. Passa financials per ricavi/costi/margine, altrimenti omessi. Richiede il modulo resourcing e ROLE_RESOURCING_MANAGER. Sola lettura.

Bench di Resourcing_get

Strumenti

resourcingBench_getChi NON è staffato su una finestra from/to — il bench. Usalo quando ti viene chiesto chi mettere su un nuovo progetto o dove la capacità non viene utilizzata; resourcingActuals_get dice quanto sono caricate le persone, questo dice chi non ha alcun carico. NON SA NULLA DELLE FERIE: freePercent è 100 meno le allocazioni confermate, nient'altro, quindi qualcuno in tre settimane di ferie approvate risulta libero al 100% e nessun campo nella risposta lo segnala. Rispondere a 'chi è disponibile' solo da questo metterà persone su progetti mentre sono assenti — verifica incrociando holidays_active o holidays_list. Richiede il modulo resourcing. Sola lettura.

Pianificazione di Resourcing_get

Strumenti

resourcingSchedule_getLa pianificazione di resourcing prevista su una finestra from/to — la timeline di allocazione come la mostra il planner. Usalo per ciò che è PRENOTATO in avanti; usa resourcingActuals_get per ciò che è stato realmente riportato rispetto ad essa. Richiede il modulo resourcing e ROLE_RESOURCING_MANAGER. Sola lettura.

Lead_import Massivo

Strumenti

leads_bulkImportImporta molti lead in UNA chiamata, ciascuno con i suoi contatti, appartenenza a lista e attività di outreach annidate — il server crea il lead poi inserisce il suo id nei figli, così non devi mai gestire IRI intermedi. Idempotente per chiavi naturali (companyName / email / (list,lead) / (type,occurredAt,contact)): sicuro da rieseguire e da suddividere in blocchi (≤100 lead/chiamata). Questo è il percorso massivo che un import di campagna dovrebbe usare invece di N chiamate leads_create. Scrittura.