Integration

Teamanda integration

Teamanda is HR software for small and mid-sized businesses. Read employees and their public employee fields, live attendance, absence requests, absent days and vacation balances, daily time reports, form submissions, resources and their bookings, project assignments and payroll inputs (pay rates, special payments, overtime payouts); record, read and delete time entries; create and update tasks; create projects, tags and cost centers; manage employment contracts; and send an email or app push message to employees. Every route checks the API key's permissions and team scope and answers 403 when one is missing or the organization has not enabled the module; get_connection shows both. Authentication is an API key created in Teamanda and sent in the X-API-Key header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Teamanda.Built from the 55 Teamanda tools below, on the connection you add once.

What you can do with Teamanda

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Employment contract, 5 operations

  • create_employment_contractCreate employment contractPOSTAgents: ask firstCreates an employment contract for an employee, which changes their pay, vacation and overtime balances; pass the whole body in contract. Needs manage_employment_contracts_for_others; one contract per employee and start date.
  • delete_employment_contractDelete employment contractDELETEAgents: ask firstPermanently deletes an employment contract (its audit history is kept) and recalculates the affected balances. Needs manage_employment_contracts_for_others. Repeating the call returns 404.
  • get_employment_contractGet employment contractGETAgents: ask firstReturns one employment contract (personal pay data) by id: dates, employment type, internal notes, pay settings, vacation entitlement and work-time models. Needs the key permission manage_employment_contracts_for_others.
  • list_employment_contractsList employment contractsGETAgents: ask firstLists employment contracts (personal pay data): dates, type, internal notes, pay rate, vacation entitlement and work-time models, optionally of one employee. Needs manage_employment_contracts_for_others; only employees in the key's team scope.
  • update_employment_contractUpdate employment contractPUTAgents: ask firstReplaces every field of an employment contract except its employee: read it with get_employment_contract first and send all fields back with your change. A null section removes it. Needs manage_employment_contracts_for_others.

Task, 4 operations

  • create_taskCreate taskPOSTAgents: ask firstCreates a task assigned to an employee; pass the whole body in task. Not idempotent: a retry after a timeout creates a second task. The task is authored by the employee who created the API key; attachments cannot be sent.
  • get_taskGet taskGETAgents: ask firstReturns one task by id: number, title, description, status, category, assignee, author, planned date and archive state.
  • list_tasksList tasksGETAgents: ask firstLists tasks with number, title, description, status, category, assignee, author and planned date. Filter by status, assignee, category, archived state or updatedSince; page with offset while hasMore is true.
  • update_taskUpdate taskPATCHAgents: ask firstChanges only the task fields you send in changes; null clears description or plannedAt. A status change also posts a status comment, authored by the employee who created the API key.

Time entry, 4 operations

  • create_time_entryCreate time entryPOSTAgents: ask firstRecords a finished time entry for an employee; pass the whole body in entry. Not idempotent and no overlap check: a retry creates a duplicate. Work-time rounding may rewrite the submitted times.
  • delete_time_entryDelete time entryDELETEAgents: ask firstDeletes a time entry: Teamanda archives it and keeps its history, and a repeat keeps the first archivedAt. Entries written by the time-tracking calculator cannot be deleted.
  • get_time_entryGet time entryGETAgents: ask firstReturns one time entry by id: employee, work type, cost center, project, tag, note, start, end, source channel and archive state.
  • list_time_entriesList time entriesGETAgents: ask firstLists recorded time entries: employee, work type, cost center, project, tag, note, start and end, and the channel each came from. Running entries are not returned; deleted ones are archived and appear only with archived=true.

Cost center, 3 operations

  • create_cost_centerCreate cost centerPOSTAgents: ask firstCreates a cost center; pass the whole body in cost_center. Not idempotent without a customId: a retry after a timeout creates a second one. A customId must be unique within the organization.
  • get_cost_centerGet cost centerGETAgents: ask firstReturns one cost center by id: number shown in the app and exports, name, whether billable, and archive state.
  • list_cost_centersList cost centersGETAgents: ask firstLists cost centers: number shown in the app and exports, name, whether billable, and archive state.

Project, 3 operations

  • create_projectCreate projectPOSTAgents: ask firstCreates a project; pass the whole body in project. Not idempotent: a retry after a timeout creates a second project. Members, company sites and custom fields cannot be set here.
  • get_projectGet projectGETAgents: ask firstReturns one project by id: number, name, start and end day, cost center, automatic member assignment and archive state.
  • list_projectsList projectsGETAgents: ask firstLists projects with number, name, start and end day, cost center, automatic member assignment and archive state. Page with offset while hasMore is true.

Tag, 3 operations

  • create_tagCreate tagPOSTAgents: ask firstCreates a tag that time entries can be booked on; pass the whole body in tag. Not idempotent: a retry after a timeout creates a second tag.
  • get_tagGet tagGETAgents: ask firstReturns one tag by id: name, color, whether it is global, cost center, the projects it applies to and archive state.
  • list_tagsList tagsGETAgents: ask firstLists the tags time entries can be booked on: name, color, whether global, cost center, the projects it applies to and archive state.

Absence request, 2 operations

  • get_absence_requestGet absence requestGETAgents: ask firstReturns one absence request by id: employee, absence type, status, first and last day, substitute, author and archive state.
  • list_absence_requestsList absence requestsGETAgents: ask firstLists absence requests: employee, absence type, status, first and last day, substitute and author. A request overlapping the window is returned whole; updatedSince also catches status changes.

Employee, 2 operations

  • get_employeeGet employeeGETAgents: ask firstReturns one employee (personal data) by the id every other tool calls userId: display and full name, status, teams with roles, and the approved values of public employee fields in attributes.
  • list_employeesList employeesGETAgents: ask firstLists employees (personal data): names, status, teams with roles and the approved values of public employee fields in attributes. Filter by status, team, name or attribute; page with offset while hasMore is true. Private fields never appear.

Form submission, 2 operations

  • get_form_submissionGet form submissionGETAgents: ask firstReturns one filled-in form with its top-level field values in form order; nested and binary values come back null and a relation gives the referenced id. Values may be personal data entered by employees.
  • list_form_submissionsList form submissionsGETAgents: ask firstLists filled-in forms (never templates): form name, template, status (DRAFT or COMPLETED), author and dates. Field values come only from get_form_submission.

Project assignment, 2 operations

  • get_project_assignmentGet project assignmentGETAgents: ask firstReturns one project assignment by id: planned days, note, project, planned employee (null when open) and series. A key targeted at teams still reads every project assignment.
  • list_project_assignmentsList project assignmentsGETAgents: ask firstLists project assignments (who is planned on which project and when). A removed assignment is deleted, so updatedSince cannot show it and a sync needs a full reread. Series are stored 26 weeks ahead.

Resource, 2 operations

  • get_resourceGet resourceGETAgents: ask firstReturns one bookable resource by id: name, description, capacity (maxEmployees), time zone, location snapshot and archive state.
  • list_resourcesList resourcesGETAgents: ask firstLists bookable resources such as desks and rooms, archived ones included: name, description, capacity, time zone and location. Page with offset while hasMore is true.

Resource booking, 2 operations

  • get_resource_bookingGet resource bookingGETAgents: ask firstReturns one resource booking by id: start, end (UTC), note, the resource and the assigned employees. Returned only when every assigned employee is visible to the key.
  • list_resource_bookingsList resource bookingsGETAgents: ask firstLists resource bookings with their resource and assigned employees. Only bookings whose employees are all visible to the key; a cancelled booking is deleted, so updatedSince cannot show it and a sync needs a full reread.

Absence type, 1 operation

  • list_absence_type_optionsList absence type optionsGETAgents: ask firstLists absence types; value is the absenceTypeId of absence requests. Archived types are left out. Returned as value and label pairs; page with offset while hasMore is true.

Absent user, 1 operation

  • list_absent_usersList absent usersGETAgents: ask firstLists employees absent on at least one day between from and to (calendar dates, organization time zone), day by day with the absence type. Counts approved and booked absences; the type is redacted without view_absence_requests_for_others.

Attendance, 1 operation

  • list_attendanceList attendanceGETAgents: ask firstReports who is working now (a time entry is running), absent today or away, for every active employee the key may see, with the running entry's work type and start and today's absence types.

Connection, 1 operation

  • get_connectionGet connectionGETAgents: ask firstReturns the organization, the permissions (with their team limits) and the enabled modules of the connected API key, plus the key's own id and name, never its secret. Needs no permission: use it to test the connection.

Cost center option, 1 operation

  • list_cost_center_optionsList cost center optionsGETAgents: ask firstLists cost centers; value is the costCenterId. Archived cost centers are left out. Returned as value and label pairs; page with offset while hasMore is true.

Daily report, 1 operation

  • list_daily_reportsList daily reportsGETAgents: ask firstReturns one calculated row per employee and day between from and to: total, regular, home-office, travel, break and target minutes, overtime and flextime balance. A missing day was never calculated, not a day without work.

Email message, 1 operation

  • send_email_messageSend email messagePOSTAgents: ask firstSends a real email now to the listed employees (it cannot be recalled), in the Teamanda layout from the organization's sender. Max 2,000 messages per organization per 24 hours; over it, nothing is sent.

Employee field, 1 operation

  • list_employee_fieldsList employee fieldsGETAgents: ask firstLists the public employee fields: key (used in an employee's attributes and in the attributes and fields filters of list_employees), label, value type and whether it is required. Private fields are never listed.

Employee option, 1 operation

  • list_employee_optionsList employee optionsGETAgents: ask firstLists employees this API key may see; value is the userId other tools take. Archived employees are left out; search also matches the full name. Returned as value and label pairs; page with offset while hasMore is true.

Overtime payout, 1 operation

  • list_overtime_payoutsList overtime payoutsGETAgents: ask firstLists overtime paid out rather than carried forward: employee, minutes paid, rate in cents per hour, payroll booking date, note and whether it reduced the overtime balance. Personal pay data.

Pay rate, 1 operation

  • list_pay_ratesList pay ratesGETAgents: ask firstReturns each employee's pay rate (cents per hour or month) from the employment contract in force on date, today by default. Personal pay data; employees with no covering contract or no pay settings are left out.

Project option, 1 operation

  • list_project_optionsList project optionsGETAgents: ask firstLists projects; value is the project id. Archived projects are left out. Returned as value and label pairs; page with offset while hasMore is true.

Push message, 1 operation

  • send_push_messageSend push messagePOSTAgents: ask firstSends a real push notification now to the listed employees' devices with the Teamanda app; it cannot be recalled. Max 2,000 messages per organization per 24 hours, one per recipient; over it, nothing is sent.

Special payment, 1 operation

  • list_special_paymentsList special paymentsGETAgents: ask firstLists one-off payments such as bonuses: employee, amount in cents, payroll booking date, note and wage type. Personal pay data.

Tag option, 1 operation

  • list_tag_optionsList tag optionsGETAgents: ask firstLists tags; value is the tagId of a time entry. Archived tags are left out. Returned as value and label pairs; page with offset while hasMore is true.

Task category, 1 operation

  • list_task_category_optionsList task category optionsGETAgents: ask firstLists task categories; value is the categoryId a task requires. Categories are never archived. Returned as value and label pairs; page with offset while hasMore is true.

Team, 1 operation

  • list_team_optionsList team optionsGETAgents: ask firstLists teams; value is the team id (teamId in list_employees). Archived teams are left out. Returned as value and label pairs; page with offset while hasMore is true.

Vacation balance, 1 operation

  • list_vacation_balancesList vacation balancesGETAgents: ask firstReturns each employee's vacation days left on date, the days left after approved vacation later that year, and any carry-over with its expiry, as on the app's vacation card. Employees the key may not see are left out.

Work type, 1 operation

  • list_work_type_optionsList work type optionsGETAgents: ask firstLists work types the organization has configured; value is the type of a time entry (label equals value), with whether it counts as work time. Returned as value and label pairs; page with offset while hasMore is true.

Workspace, 1 operation

  • list_workspace_optionsList workspace optionsGETAgents: ask firstLists bookable workspaces; value is the resourceId (the same resources list_resources returns in full). Archived ones are left out. Returned as value and label pairs; page with offset while hasMore is true.

Workspace entry, 1 operation

  • list_workspace_entriesList workspace entriesGETAgents: ask firstLists desk and home-office bookings: workspace, employees, start, end and note. A booking is shown only when the key may see every employee on it; an unstaffed booking always is.

Use Teamanda from Claude Code, Cursor or Codex

Connect Teamanda in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Teamanda operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Teamanda

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Teamanda once

    Add your Teamanda connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Teamanda integration FAQ

What can you do with the Teamanda integration?

LiveContext exposes 55 operations on Teamanda, covering employment contract, task, time entry and cost center.

Popular integrations

Browse the whole catalog