BoondManager MCP server
Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on BoondManager, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.
Overview
This tool pack connects BoondManager to a natural-language interface, covering the full recruitment-to-cash workflow for IT staffing agencies. You can search candidates, create opportunities and positionings, log follow-up actions, use BoondManager's built-in AI for profile summaries and matching, and manage timesheet validations and project financials.
For setup instructions, see SnapLogic MCP Server quickstart.
Example Prompts
- Log an intro call with candidate 123 on 10 June at 9am
- Add a follow-up action on opportunity 456 titled 'Send proposal'
- Record that I spoke to this candidate today
- Book a 30-minute qualification call against this opportunity next Tuesday
- Add Marie Dupont as a candidate, senior data engineer
- Create a candidate record for this CV with email [email protected]
- Register a new candidate: Paul Martin, +33612345678
- Add this person to BoondManager and then find opportunities that match them
- Create an opportunity 'Kafka platform build - Societe Generale' for company 789
- Log a new lead titled 'Data migration Q4' with reference SG-2026-Q4
Tools
| Tool Name | Functions |
|---|---|
| BoondCreateAction | Log a follow-up action against a candidate, opportunity or other record. |
| BoondCreateCandidate | Create a new candidate record from name, title and contact details. |
| BoondCreateOpportunity | Create a new opportunity, optionally linked to a company and contact. |
| BoondCreatePositioning | Position a candidate on an opportunity. |
| BoondGetCandidateSummary | Return BoondManager's AI-generated summary for one candidate. |
| BoondGetInvoiceStatus | Search invoices by keyword, state and period to check billing status. |
| BoondGetProjectFinancials | Retrieve project financial reporting rows and totals for a period. |
| BoondListUnvalidatedActivity | List activity documents still awaiting validation for a month range. |
| BoondMatchCandidateToOpportunities | Ask BoondManager's AI which opportunities fit a given candidate. |
| BoondSearchCandidates | Search the candidate pool by keyword, availability window and location radius. |
| BoondSearchOpportunities | Search the opportunity pipeline by keyword and time period. |
| BoondValidateActivity | Validate a specific timesheet on behalf of an expected validator. |
Set up the MCP Server tools
- Download boond_tools.zip.
- In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded boond_tools.zip. Designer unpacks each pipeline into the project.
- Attach the required account to the connectivity snaps (see Connection Setup).
- Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.
Configure account
Attach an API Suite account (OAuth 2.0 or Bearer token) to the HTTP Client snap in Designer after import.
These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.
See the SnapLogic account documentation for this connector: API Suite Account Configuration.
BoondCreateAction
Logs a follow-up action against an existing BoondManager record and returns the new action id. Use it to record a call, meeting, or scheduled item after completing a task in the conversation.
| Parameter | Type | Default | Description |
|---|---|---|---|
| typeOf* | string | — | Numeric action type as defined in the BoondManager configuration. |
| title | string | — | Title of the action, e.g. 'Intro call with candidate'. |
| startDate | string | — | Action start timestamp, ISO 8601 with offset. |
| endDate | string | — | Action end timestamp, ISO 8601 with offset. |
| dependsOn_id* | string | — | Id of the record the action is attached to. |
| dependsOn_type* | string | — | Type of the record the action is attached to, e.g. candidate or opportunity. |
* Required parameter.
Try asking:
- Log an intro call with candidate 123 on 10 June at 9am
- Add a follow-up action on opportunity 456 titled 'Send proposal'
- Record that I spoke to this candidate today
- Book a 30-minute qualification call against this opportunity next Tuesday
BoondCreateCandidate
Creates a new candidate record in BoondManager and returns the candidate id. Use it when a CV or introduction arrives and the person is not yet in the system.
| Parameter | Type | Default | Description |
|---|---|---|---|
| firstName* | string | — | Candidate's first name. |
| lastName* | string | — | Candidate's last name. |
| string | — | Primary email address (written to email1). |
|
| phone | string | — | Primary phone number (written to phone1). |
| title | string | — | Job title, e.g. Senior Data Engineer. |
* Required parameter.
Try asking:
- Add Marie Dupont as a candidate, senior data engineer
- Create a candidate record for this CV with email [email protected]
- Register a new candidate: Paul Martin, +33612345678
- Add this person to BoondManager and then find opportunities that match them
BoondCreateOpportunity
Creates a new opportunity in BoondManager and returns the opportunity id. Use it when a sales conversation produces a lead to record, optionally linking it to an existing company or contact.
| Parameter | Type | Default | Description |
|---|---|---|---|
| title* | string | — | Title of the opportunity. |
| reference | string | — | Internal reference code for the opportunity, e.g. SG-2026-Q3. |
| state | string | — | Numeric opportunity state as defined in the BoondManager configuration. |
| company_id | string | — | Id of an existing company to attach the opportunity to. |
| contact_id | string | — | Id of an existing contact to attach the opportunity to. |
* Required parameter.
Try asking:
- Create an opportunity 'Kafka platform build - Societe Generale' for company 789
- Log a new lead titled 'Data migration Q4' with reference SG-2026-Q4
- Open an opportunity for this client and link contact 321 to it
- Record a new opportunity in state 0 called 'Cloud landing zone'
BoondCreatePositioning
Links a candidate to an opportunity in BoondManager and returns the new positioning id. Use it to close the resourcing loop after a candidate search or AI match.
| Parameter | Type | Default | Description |
|---|---|---|---|
| opportunity_id* | string | — | Id of the opportunity the candidate is positioned on. |
| candidate_id* | string | — | Id of the candidate (or other resource) being positioned. |
| candidate_type | string | candidate |
BoondManager resource type of the positioned record (default 'candidate'). |
| state | string | — | Numeric positioning state as defined in the BoondManager configuration. |
* Required parameter.
Try asking:
- Position candidate 123 on opportunity 456
- Put Marie Dupont forward for the Kafka platform role
- Create a positioning for this candidate on the Societe Generale opportunity in state 0
- Shortlist the top AI match against that opportunity
BoondGetCandidateSummary
Fetches BoondManager's AI-generated profile summary for a single candidate by id. Use it to get a readable digest of a consultant after a search or before a client call.
| Parameter | Type | Default | Description |
|---|---|---|---|
| candidate_id* | string | — | BoondManager id of the candidate to summarise. |
* Required parameter.
Try asking:
- Give me a summary of candidate 123
- What's the profile of the first candidate from that search?
- Brief me on this consultant before the client call
- Summarise Marie Dupont's background
BoondGetInvoiceStatus
Searches BoondManager invoices and returns matching records with a total count. Use it to check outstanding invoices, billing status, or what a client has been charged over a chosen period.
| Parameter | Type | Default | Description |
|---|---|---|---|
| keywords | string | — | Free-text term matched against invoices, e.g. a client or project name. |
| states | string | — | Invoice state filter, as defined in the BoondManager configuration. |
| periodDynamic | string | — | BoondManager dynamic period token, e.g. thisTrimester. |
| startDate | string | — | Start of an explicit creation-date window (YYYY-MM-DD). Sets the search period to 'created'. |
| endDate | string | — | End of the creation-date window (YYYY-MM-DD). |
| maxResults | string | 30 |
Maximum number of invoices to return (default 30). |
Try asking:
- What invoices are outstanding this quarter?
- Show me the invoices for Societe Generale
- List invoices created between 2026-01-01 and 2026-03-31
- How many invoices are in state 1 right now?
- Give me the 50 most recent invoices
BoondGetProjectFinancials
Retrieves BoondManager project financial data for a period, including per-project rows and aggregate totals. Use it to assess how a project or client is performing, or to review the portfolio for a quarter.
| Parameter | Type | Default | Description |
|---|---|---|---|
| keywords | string | — | Free-text term to narrow the projects reported on, e.g. a client or project name. |
| periodDynamic | string | — | BoondManager dynamic period token, e.g. thisTrimester. |
| startDate | string | — | Start of an explicit reporting window (YYYY-MM-DD). |
| endDate | string | — | End of the reporting window (YYYY-MM-DD). |
| maxResults | string | 30 |
Maximum number of project rows to return (default 30). |
Try asking:
- How are our projects performing this quarter?
- Show me the financials for the Societe Generale projects
- What are the project totals between 2026-01-01 and 2026-03-31?
- Give me the top 50 projects by reporting for this trimester
BoondListUnvalidatedActivity
Lists activity documents awaiting validation for a given month range and returns the pending records with a total count. Use it at month-end to identify outstanding timesheets before following up or validating them.
| Parameter | Type | Default | Description |
|---|---|---|---|
| startMonth | string | — | First month of the range, YYYY-MM. |
| endMonth | string | — | Last month of the range, YYYY-MM. |
| documentTypes | string | — | Activity document types to include, e.g. timesReport. |
| maxResults | string | 50 |
Maximum number of pending documents to return (default 50). |
Try asking:
- Whose timesheets are still unvalidated for May 2026?
- Show me everything waiting for validation between 2026-04 and 2026-06
- List pending timesReport documents this month
- How many activity documents are still outstanding?
BoondMatchCandidateToOpportunities
Asks BoondManager's AI which open opportunities best suit a given candidate and returns the proposed matches. Use it when a consultant is rolling off a mission or a new CV has arrived and you need to find placement options.
| Parameter | Type | Default | Description |
|---|---|---|---|
| candidate_id* | string | — | BoondManager id of the candidate to match. |
* Required parameter.
Try asking:
- What opportunities would suit candidate 123?
- This consultant rolls off next month — where could we place them?
- Match Marie Dupont to our open roles
- Find the best-fit opportunities for this candidate and position them on the top one
BoondSearchCandidates
Searches the BoondManager candidate pool by keyword, availability window, and location radius, returning matching candidates and a total count. Use it as the first step in any resourcing question, such as finding available engineers near a city.
| Parameter | Type | Default | Description |
|---|---|---|---|
| keywords | string | — | Free-text search term matched across candidate profiles, e.g. Kafka, Snowflake, Scrum Master. |
| skills | string | — | Skills filter captured by the tool. Note it is captured but not currently appended to the search URL — use keywords for skill matching. |
| availabilityStart | string | — | Start of the availability window (YYYY-MM-DD). Sets the search period to 'available'. |
| availabilityEnd | string | — | End of the availability window (YYYY-MM-DD). |
| location | string | — | Location to search around, e.g. Paris. |
| geoDistance | string | — | Search radius around the location, in kilometres. |
| maxResults | string | 30 |
Maximum number of candidates to return (default 30). |
Try asking:
- Find Kafka engineers available in July
- Who do we have within 50km of Paris that we could staff next month?
- Search for data engineers free between 2026-07-01 and 2026-07-31
- Show me the top 10 candidates matching 'Snowflake'
- List candidates around Lyon with a 30km radius
BoondSearchOpportunities
Searches the BoondManager opportunity pipeline by keyword and time period, returning matching records and a total count. Use it for pipeline questions such as what is open at a given account or what came in this quarter.
| Parameter | Type | Default | Description |
|---|---|---|---|
| keywords | string | — | Free-text search term matched across opportunities, e.g. a client name or technology. |
| periodDynamic | string | — | BoondManager dynamic period token, e.g. thisTrimester. |
| startDate | string | — | Start of an explicit creation-date window (YYYY-MM-DD). Sets the search period to 'created'. |
| endDate | string | — | End of the creation-date window (YYYY-MM-DD). |
| maxResults | string | 30 |
Maximum number of opportunities to return (default 30). |
Try asking:
- What opportunities came in this quarter?
- Show me open opportunities mentioning Kafka
- List opportunities created between 2026-04-01 and 2026-06-30
- What's in the pipeline for Societe Generale?
- Give me the 50 most recent opportunities
BoondValidateActivity
Validates a single BoondManager timesheet by report id and expected validator, and confirms with a success status. Use it to approve specific timesheets after listing pending ones with BoondListUnvalidatedActivity.
| Parameter | Type | Default | Description |
|---|---|---|---|
| timesreport_id* | string | — | Id of the times-report (timesheet) to validate. |
| expectedValidator* | string | — | Id of the validator the validation is expected from. |
* Required parameter.
Try asking:
- Validate timesheet 555 for validator 42
- Approve this consultant's May timesheet
- Go through the pending timesheets and validate the one for report 555
- Validate that timesheet as manager 42