Skip to main content
Join us

Final-year internship — Multi-agent CRM with verified actions

TunisieInternshipOn site

Getting an agent to draft an e-mail is easy. Getting it to send the right message to the right client at the right time, without ever promising something the company cannot deliver, is a real engineering problem — and that is the one we are offering. Subject for a pair of students.

Context

Client requests reach B2H through the website, e-mail and LinkedIn. Qualifying them, researching the company, following up at the right moment and preparing meetings take up a large share of the sales team's time. We already apply one principle in Ordy: the model proposes, ordinary deterministic code decides. This project brings that principle to the CRM, starting from the contact requests already stored in the B2H back-office.

What you will do

  • Design a team of specialised agents: qualification, company research, follow-up, meeting preparation
  • Orchestrate them as a graph (LangGraph), with explicit, testable transitions
  • Give each client a long-term memory: a vector store for context, a knowledge graph for relationships
  • Build a formal verification layer (state machine, business rules) that every action — e-mail, record update, quote — must pass before it runs
  • Implement error recovery, run replay and human approval for sensitive actions
  • Instrument everything with OpenTelemetry so each decision can be followed end to end
  • Build the task benchmark used to evaluate the system

Technical challenges

  • Making a system reliable when its components are inherently non-deterministic
  • Coordinating several agents without loops, duplicates or contradictory actions
  • Writing business rules strict enough to block invalid actions, yet loose enough not to block everything
  • Observability: understanding why an agent did what it did

Deliverables

  • A working prototype integrated into the B2H back-office, connected to the existing contact requests
  • A CRM task benchmark and the corresponding evaluation results
  • A specification of the verification layer (states, transitions, rules)
  • Technical documentation and a demo
  • The final-year report

Success criteria

  • Task success rate measured on the benchmark built during the internship
  • 100% of the benchmark's invalid actions blocked before execution
  • Average cost per task measured and tracked
  • Every executed action traceable from the original request to its effect

Tech stack

  • LangGraph, tool-calling LLMs
  • PostgreSQL + pgvector
  • Next.js, TypeScript, Python
  • OpenTelemetry

Who we are looking for

  • Final-year engineering or master's students in software engineering or AI
  • Solid Python or TypeScript
  • A genuine interest in agentic systems and their reliability, not just in demos
  • Rigour: tests, code review, a taste for precise specifications
  • Fluent French and technical English

Practical details

  • Duration: 4 to 6 months (February – June 2027, indicative)
  • Supervised by the B2H engineering team, with a weekly check-in
  • Integrated into the internal B2H platform (single identity, event bus, shared data)
  • How to apply: CV + cover letter, at most 2 subjects per candidate
  • Deadline: 15/12/2026

Apply for this role