FlowRunner
PricingContact
Theme
Start Free

BoondManager

ERP

Connect AI agents to BoondManager, a French ERP for consulting, staffing, and IT services firms. Agents create candidates, resources, companies, and contacts, open opportunities and positionings, and read the projects, deliveries, orders, and invoices each engagement produces.

36 actions Basic auth available
A CV lands in a shared mailbox, or a new row appears in a sourcing sheet
The person's name, availability, and skills are read from the source document
Search Candidates matches them against the existing pool by keywords and name
Create Candidate writes genuinely new people with the attributes BoondManager requires
Create Action logs the sourcing activity against that candidate's record
Search Positionings and Get Resource confirm the person is not already committed elsewhere
The staffing manager receives the candidate, the opportunity, and any conflicting commitment
A person confirms before Create Positioning puts that consultant forward on the deal

What This Integration Enables

BoondManager models the thing a consulting or staffing firm actually sells, which is a named person's time on a client engagement. That is why the positioning is a first-class object here rather than a note on a deal: a positioning links a specific candidate or resource to a specific opportunity, and it is the record everybody in the business reads as a commitment. Understanding that shapes what an agent should be trusted with. This connector writes the parts of the business where a decision is still open: candidates, internal resources meaning your own consultants and employees, companies, contacts, opportunities, positionings, and CRM actions, which are the logged calls, emails, meetings, and notes attached to any of them. It reads the parts where the decision has already been made and turned into money: Search Projects, Get Project, Get Delivery, Search Orders, Get Order, Search Invoices, and Get Invoice. To be plain about it, this connector reads orders and invoices, it does not raise them. Billing documents stay authored where the contract terms and the accounting rules live.

Several practical facts decide whether a flow works. Authentication is HTTP Basic using a BoondManager user login and password against https://ui.boondmanager.com/api; the vendor also documents JWT header schemes, which this connector does not use. Because Basic carries that user's full permissions and perimeter, a dedicated integration user is the right way to connect rather than an administrator account. Requests and responses follow JSON:API, so lists return { meta, data: [ { id, type, attributes, relationships } ] } and writes take an Attributes object plus, where required, a Relationships object, which the connector wraps in the JSON:API envelope for you. Field names and enum values are BoondManager's own wire values and must be sent exactly as the vendor documents them. Most search filters and many write fields expect numeric BoondManager setting ids rather than labels, and Get Application Dictionary is how an agent resolves them for your account. Paging uses page from 1 and maxResults between 1 and 500 with a default of 30, and meta.totals.rows reports the real match count. One shape to plan around: deliveries have no collection endpoint, since GET /deliveries answers 405, so Get Delivery works by id only and the ids come from a project. This connector ships no triggers. BoondManager does document a webhook subscription API, and Create Webhook registers a callback URL of your choosing, but that subscribes an external endpoint rather than creating a FlowRunner trigger, the delivered payload shape is not published by the vendor, and there is no documented signature or shared secret, so treat an arriving delivery as a prompt to re-fetch the record with the matching Get action and keep the callback URL private. Agents move the people and the pipeline. Committing a named human being to a client is where human-in-the-loop orchestration belongs.

Without FlowRunner

Sourcing lives in an inbox CVs and referrals sit in a mailbox until somebody has time to key them into the ERP
Availability is asked, not read Whether a consultant is free gets settled in a chat thread rather than against the record
Activity is written up on Friday Calls, meetings, and notes are logged at the end of the week, when they are logged at all

With FlowRunner

People arrive as records Candidates and resources are created with the field names and setting ids BoondManager actually expects
Commitments are checked before they are made Existing positionings and stated availability are read before anyone is put forward on a deal
The activity trail writes itself Each step is logged against the right candidate, contact, company, or opportunity as it happens

Use Case Scenarios

Sourcing that reaches the pool without reaching the client

A CV arrives in a shared mailbox, or a referral appears in a sourcing board. The agent extracts the person's name, title, availability, and skills, then runs Search Candidates with full text keywords and the relevant filter arrays, remembering that arrays such as states, expertiseAreas, and tools take numeric setting ids resolved through Get Application Dictionary rather than the labels a human would type. Where nothing matches, Create Candidate writes the person with firstName and lastName and whatever else the source gave, optionally linked through a relationships object to a main manager or agency. Create Action then logs the sourcing activity against them with its typeOf, so the trail exists from the first contact rather than being reconstructed later. What the agent does not do on its own is put that person forward. The positioning waits.

Companies, contacts, and activity mirrored from the CRM the sales team lives in

Sales work happens in HubSpot or a board in Airtable, and BoondManager is where delivery and billing eventually read it. On a schedule the agent runs Search Companies and Search Contacts to resolve what already exists, then writes the genuinely new ones through Create Company and Create Contact, where a contact requires a relationships object linking it to its company. Deals move across through Create Opportunity, carrying title, typeOf, state, start and end dates, and estimated turnover excluding tax, and Update Opportunity keeps the state current as the deal progresses. Every meaningful interaction, whether it started as an email thread or a call logged elsewhere, lands as a Create Action against the right parent entity. The result is that a delivery manager opening a company in BoondManager sees the same history the account executive saw, without either of them having typed it twice.

A reporting read that ends in a decision nobody automated

On a schedule the agent runs Search Invoices with filters on states, companies, and payment methods, using the closed and creditNote flags to separate settled documents and credit notes from what is genuinely outstanding, then Search Orders for the commitments behind them and Search Projects for the engagements still in delivery. Where a project's staffing needs checking, Get Delivery resolves each assignment by id, since deliveries have no list endpoint and the ids come from the project. The receivables view appends to a tracker in Google Sheets and the exceptions post to Slack. Nothing in this run writes. The one write that occasionally follows is Delete Candidate, when a person asks to be removed from the pool, and that is permanent: it takes the profile and the CRM actions logged against it, which is the record of every conversation the firm ever had with them. The agent gathers what would be lost and a person makes the call.

Human-in-Loop Highlight

Create Positioning is the operation to gate, and it is a more interesting gate than a delete because nothing about it is technically irreversible. A positioning links a candidate or a resource to an opportunity in the staffing pipeline, and it can be edited afterwards. What cannot be edited afterwards is that it was seen. In a consulting firm the positioning is the record account managers read in a staffing meeting, the record a delivery lead uses to plan a start date, and in many firms the trigger for a CV going to the client. An agent that positions a consultant onto a deal because the skills matched a keyword filter has made a commitment about a named person's next three months, and it has made it on evidence that does not include the two things that actually decide it: whether that consultant has already been promised to another opportunity, and whether they want the work. Both are knowable, and neither is inferable from a search. So the agent assembles rather than commits. It runs Search Positionings filtered on the candidate or resource to find every existing commitment, Get Resource or Get Candidate for stated availability and, for a resource, the average daily price excluding tax that the deal would have to support, Get Opportunity for the engagement's start date, end date, and estimated turnover, and Get Application Dictionary to resolve the state id a new positioning would carry. Then it posts to the staffing manager in Slack: "Opportunity 'Refonte SI, Groupe Vallet', start 2 September, 6 months. 3 resources match the expertise areas on the deal. Camille Roux is available from 1 September and has no other positioning. Idriss Benali is already positioned on 'Migration Cloud, Astéria' at a state that has not been closed, so positioning him here would show two live commitments across the same window. Théo Marchand's availability date is 15 October, after the start. Create Positioning is visible to the account team as soon as it is written. Which of these, if any, do I position?" The manager answers, and the agent writes only what a person released. Delete Candidate sits behind its own gate, since it permanently removes a profile along with the actions logged against it, and Delete Webhook joins it, because another downstream system may be depending on that delivery. This is the digital andon cord placed where a staffing business is genuinely exposed, on a commitment about a person rather than a number in a ledger.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via Slack
Human decides
Agent resumes with decision

Agent Capabilities

36 actions

Candidates

5
  • Search Candidates Searches the candidate pool with full text keywords and filters, returning a paginated JSON:API list where each item carries an id and an attributes object with firstName, lastName, title, availability, state, email1, phone1, town, and country. Filter arrays such as states, expertiseAreas, and tools take numeric setting ids. Sortable columns include lastName, firstName, title, availability, updateDate, creationDate, and state.
  • Get Candidate Retrieves a single candidate profile by id with its full attributes and relationships.
  • Create Candidate Creates a candidate. The attributes object must include firstName and lastName, and commonly carries title, email1, phone1, availability, state, town, and country. A relationships object can link the candidate to a main manager or agency.
  • Update Candidate Updates a candidate by id, changing only the attributes and relationships you supply, using BoondManager field names and enum ids exactly.
  • Delete Candidate Permanently deletes a candidate by id, taking the CRM actions logged against them with it. Cannot be undone.

Resources

4
  • Search Resources Searches internal resources, meaning the consultants and employees managed in BoondManager rather than external candidates, returning attributes such as firstName, lastName, title, reference, availability, averageDailyPriceExcludingTax, email1, and state.
  • Get Resource Retrieves a single resource profile by id. The read behind any availability question.
  • Create Resource Creates a consultant or employee. The attributes object must include firstName, lastName, and email1, and a relationships object is required to attach them to an agency or manager.
  • Update Resource Updates a resource by id with only the attributes and relationships that change.

Companies and contacts

7
  • Search Companies Searches client and prospect companies, returning attributes such as name, website, phone1, town, country, state, and expertiseArea. Filter arrays take numeric setting ids.
  • Get Company Retrieves a single company by id.
  • Create Company Creates a company. The attributes object must include name, and commonly carries website, phone1, town, country, state, and expertiseArea. A relationships object can name the main manager.
  • Update Company Updates a company by id with only the attributes and relationships that change.
  • Search Contacts Searches company contacts, returning attributes such as firstName, lastName, function, department, email1, phone1, town, and country.
  • Get Contact Retrieves a single contact by id.
  • Create Contact Creates a company contact. The attributes object must include firstName and lastName, and a relationships object is required to link the contact to its company.

Opportunities and staffing

6
  • Search Opportunities Searches sales opportunities, returning attributes such as title, reference, state, typeOf, startDate, endDate, turnoverEstimatedExcludingTax, and expertiseArea.
  • Get Opportunity Retrieves a single opportunity by id, which is where a positioning decision gets its dates and its value.
  • Create Opportunity Creates a sales opportunity. The attributes object must include title, and commonly carries reference, typeOf, state, startDate, endDate, and turnoverEstimatedExcludingTax. A relationships object can link it to a company, contact, or manager.
  • Update Opportunity Updates an opportunity by id with only the attributes and relationships that change.
  • Search Positionings Searches positionings, which link a candidate or resource to an opportunity in the staffing pipeline. Run this before creating one, because it is how you find out whether a person is already committed.
  • Create Positioning Creates a positioning linking a candidate or resource to an opportunity. A relationships object is required naming the opportunity and the person; the attributes object carries fields such as state. Visible to the account team the moment it is written, which is why it runs behind a person.

Delivery and finance

7
  • Search Projects Searches projects, meaning won opportunities in delivery, returning attributes such as reference, typeOf, mode, startDate, endDate, turnoverSimulatedExcludingTax, and marginSimulatedExcludingTax.
  • Get Project Retrieves a single project by id, and the source of the delivery ids you will need next.
  • Get Delivery Retrieves a single delivery by id, where a delivery represents a resource assignment on a project. BoondManager exposes deliveries by id only and answers 405 on the collection, so ids come from a project rather than from a list call.
  • Search Orders Searches customer orders, with filter arrays such as states, companies, and paymentMethods taking numeric setting ids. Read only.
  • Get Order Retrieves a single customer order by id. Read only.
  • Search Invoices Searches customer invoices, with the closed and creditNote flags narrowing to closed invoices and credit notes respectively. Read only, which keeps billing documents authored where the contract terms live.
  • Get Invoice Retrieves a single customer invoice by id. Read only.

CRM activity

2
  • Search Actions Searches CRM actions, the logged activities such as calls, emails, meetings, and notes attached to candidates, contacts, companies, and opportunities.
  • Create Action Creates a CRM action. The attributes object must include typeOf, and a relationships object is required to attach it to its parent entity. This is how work done in other tools still lands on the record somebody will read.

Webhooks and account

5
  • List Webhooks Lists the webhook subscriptions registered on the account, optionally filtered by event type and target entity.
  • Create Webhook Registers a webhook subscription with a name and one or more events, each carrying a type of create, update, or delete and an entity such as candidate, opportunity, invoice, company, project, or delivery. BoondManager POSTs to the URL you supply. The payload shape is not published by the vendor, so treat a delivery as a notification and re-fetch with the matching Get action.
  • Delete Webhook Deletes a webhook subscription by id, after which BoondManager stops delivering to its URL. Cannot be undone, and another system may be depending on it.
  • Get Application Dictionary Returns the account reference dictionary of setting ids and labels used by filters and write payloads across BoondManager, covering contract types, activity areas, expertise areas, tools, states, action types, and more. This is how an agent turns a human label into the numeric id the API expects.
  • Get Current User Returns the profile and context of the user the connection authenticates as, which is the fastest way to confirm both the credential and the account perimeter a run will operate inside.

Frequently Asked Questions

What can FlowRunner do with BoondManager?

FlowRunner agents can run Search Candidates, Get Candidate, and Create Candidate in BoondManager, plus 33 more actions.

Does connecting BoondManager to FlowRunner require OAuth?

No. BoondManager connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

Can BoondManager trigger a FlowRunner workflow automatically?

BoondManager doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with BoondManager

$100 in credits. No card required. Connect in minutes.