Integration

DataMagik integration

DataMagik is a manufacturing and document automation platform built around the Plex ERP. An agent can generate PDF or HTML documents from templates and download them, run scripts and automations and read their runs, schedule scripts, keep lookup tables, run saved or ad-hoc SQL through ODBC credentials or on-premise databases reached by a connector agent, send emails and print jobs, create and decide human approval tasks, chat with the company's AI assistants, and read file-exchange transfers, shop-floor downtime, printers, sites, usage and quotas. Sending emails and print jobs, deciding approvals and running scripts, schedules and automations act on real people, devices and data. Not included: role, permission and user administration, connector agent provisioning, keys and rolling updates, automation action editing (free-form configs), creating or editing on-premise database connections (they carry database passwords), SQL share links, Excel and OData feeds, the live event stream, and reads whose answer the vendor does not document (live connector status, quota snapshot, usage dashboard and metrics, user permissions, directory listings). Authentication is an API key created in the DataMagik app under Profile, API Keys, sent in an X-API-Key header; it acts as its user, in that user's primary company.

Ask it in chat

Say what should happen.
The workflow builds itself.

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

What you can do with DataMagik

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.

Lookup entry, 7 operations

  • bulk_create_lookup_dataBulk create lookup dataPOSTAgents: ask firstAdds several entries to a lookup table in one call. Returns how many were created and the created entries.
  • create_lookup_dataCreate lookup dataPOSTAgents: ask firstAdds one entry to a lookup table: key1, key2 for a composite table, and a JSON value. Returns the entry with its id.
  • delete_lookup_dataDelete lookup dataDELETEAgents: ask firstDeletes one entry of a lookup table.
  • get_lookup_valueGet lookup valueGETAgents: ask firstLooks up one key in a lookup table by the table's name and returns found and the stored JSON value. For a composite table pass key2 too.
  • list_lookup_valuesList lookup valuesGETAgents: ask firstReturns every entry of a lookup table, read by the table's name (key1, key2, JSON value).
  • list_lookup_values_by_keyList lookup values by keyGETAgents: ask firstReturns every entry of a composite lookup table whose first key matches, read by the table's name.
  • update_lookup_dataUpdate lookup dataPUTAgents: ask firstChanges one lookup table entry. The vendor does not say whether fields left out are kept: send key1, key2 and value as they should end up.

Odbc query, 7 operations

  • create_odbc_queryCreate odbc queryPOSTAgents: ask firstSaves a named SQL query that execute_odbc_query can run by id. Target an ODBC credential (credential_id) or an on-premise connection (local_db_connection_id), not both.
  • delete_odbc_queryDelete odbc queryDELETEAgents: ask firstDeletes a saved ODBC query.
  • execute_odbc_queryExecute odbc queryPOSTAgents: ask firstQueues a saved (query_id) or ad-hoc (query_text) SQL query against an ODBC credential's database. Returns an execution_id; call get_odbc_execution until status is completed, failed or timeout.
  • get_odbc_queryGet odbc queryGETAgents: ask firstReturns one saved ODBC query: name, SQL, parameters, timeout and the credential or on-premise connection it targets.
  • list_odbc_queriesList odbc queriesGETAgents: ask firstLists the company's saved ODBC queries with their SQL, parameters, timeout and the credential or on-premise connection each targets.
  • test_run_odbc_queryTest run odbc queryPOSTAgents: ask firstRuns a saved or ad-hoc SQL query and waits for its rows (at most 100, timeout capped at 60 seconds). Always answers 200: read status (completed, failed or timeout) and error.
  • update_odbc_queryUpdate odbc queryPUTAgents: ask firstUpdates a saved ODBC query. The vendor does not say whether fields left out are kept: read it with get_odbc_query first and send every field you want to keep with the change.

Printer, 7 operations

  • check_site_printer_statusCheck site printer statusPOSTAgents: ask firstChecks every printer of a site through its connector and returns each printer's online flag, status and check time.
  • create_printerCreate printerPOSTAgents: ask firstAdds a printer (ZPL label printer, IPP or CUPS) to the company, optionally on a site. Returns the printer with its id.
  • delete_printerDelete printerDELETEAgents: ask firstDeletes a printer configuration.
  • get_printerGet printerGETAgents: ask firstReturns one printer: name, type (zpl, ipp or cups), url, site and enabled flag.
  • list_printersList printersGETAgents: ask firstLists the company's printers (id, name, type zpl, ipp or cups, url, site and enabled flag).
  • probe_ipp_printerProbe ipp printerPOSTAgents: ask firstContacts an IPP printer at the given URL and reports whether it answered, its name and the document formats it supports. Prints nothing.
  • update_printerUpdate printerPUTAgents: ask firstUpdates a printer's name, url, enabled flag or settings. The vendor does not say whether fields left out are kept: read it with get_printer first and send the values you want to keep.

Script schedule, 7 operations

  • create_script_scheduleCreate script schedulePOSTAgents: ask firstSchedules a script to run on a 5-field cron expression in a timezone (an acting write: the script will run on its own). Returns schedule_id and next_run_at. Needs DataMagik - Builder.
  • delete_script_scheduleDelete script scheduleDELETEAgents: ask firstDeletes a script schedule. Runs already in progress are not affected.
  • get_script_scheduleGet script scheduleGETAgents: ask firstReturns one script schedule: script, cron expression, timezone, timeout, retries, enabled flag and last and next run.
  • list_script_schedulesList script schedulesGETAgents: ask firstLists the company's script schedules with each one's cron expression, timezone, enabled flag and last and next run. Needs DataMagik - Builder.
  • run_schedule_nowRun schedule nowPOSTAgents: ask firstRuns a schedule's script once now (an acting write), without moving its next scheduled run. Returns the execution_id for get_script_execution.
  • toggle_script_scheduleToggle script schedulePOSTAgents: ask firstEnables or disables a schedule without deleting it. A disabled schedule keeps its settings but does not run.
  • update_script_scheduleUpdate script schedulePUTAgents: ask firstUpdates a schedule. The vendor requires cron_expression, schedule_name and script_template_id on every call: read them with get_script_schedule and send them back with your change. Other fields left out are kept.

Approval, 5 operations

  • create_approvalCreate approvalPOSTAgents: ask firstCreates a human approval task assigned to a user or a role. When it is decided, the named onDecision or onReject script runs. The creator cannot approve their own task. Returns taskId.
  • decide_approvalDecide approvalPOSTAgents: ask firstRecords a decision on an approval task and runs its decision script (an acting write). Pass approved for approve_reject, approved and fields for edit_approve, option for pick_option, answer for free_form.
  • get_approvalGet approvalGETAgents: ask firstReturns one approval task the caller may see (assignee or a role they hold): title, payload, fields, decision type, status, and the decision once taken. Answers not found for a task the caller cannot see.
  • list_approvalsList approvalsGETAgents: ask firstLists the approval (human-in-the-loop) tasks assigned to the caller or to a role the caller holds, with their payload, decision type and status. Filter by section or status.
  • reassign_approvalsReassign approvalsPOSTAgents: ask firstReassigns pending approval tasks to another user or role. Non-admins can only reassign tasks they own. Returns how many tasks moved.

Local database, 5 operations

  • delete_local_databaseDelete local databaseDELETEAgents: ask firstDeletes an on-premise database connection. Saved queries that targeted it stop resolving.
  • get_local_databaseGet local databaseGETAgents: ask firstReturns one on-premise database connection by id or name: type, host, port, database, read-only flag, row cap, routing and last health check. No password is returned.
  • list_local_databasesList local databasesGETAgents: ask firstLists the company's on-premise database connections (Postgres, MySQL, SQL Server reached through a connector agent): host, database, read-only flag, row cap and health. No password is returned.
  • query_local_databaseQuery local databasePOSTAgents: ask firstRuns SQL on an on-premise database through the connector agent and returns columns and rows. Read-only connections refuse writes; rows are capped by the connection's limit (truncated says when).
  • test_local_databaseTest local databasePOSTAgents: ask firstTests the connection to an on-premise database through its connector and records the result as its health (healthy, unhealthy or unknown, with the error).

Lookup table, 5 operations

  • create_lookup_tableCreate lookup tablePOSTAgents: ask firstCreates a lookup table. key_type composite lets each entry have a second key (key2). Returns the table with its id.
  • delete_lookup_tableDelete lookup tableDELETEAgents: ask firstDeletes a lookup table and every entry in it.
  • get_lookup_tableGet lookup tableGETAgents: ask firstReturns one lookup table with all its entries (id, key1, key2, JSON value).
  • list_lookup_tablesList lookup tablesGETAgents: ask firstLists the company's lookup tables (id, name, description, key type single or composite), the key-value tables scripts and automations read.
  • update_lookup_tableUpdate lookup tablePUTAgents: ask firstRenames a lookup table or changes its description. Send both fields: the vendor does not say whether one left out is kept.

Print job, 5 operations

  • cancel_print_jobCancel print jobPOSTAgents: ask firstCancels a queued print job. A job already printing or completed cannot be cancelled.
  • get_print_jobGet print jobGETAgents: ask firstReturns the status of a print job sent by send_print_job (pending, processing, completed, failed or cancelled), with attempts and the last error. Needs DataMagik - Builder.
  • list_printer_job_historyList printer job historyGETAgents: ask firstLists a printer's completed and failed job log entries, with limit and offset paging (at most 100 per page).
  • list_printer_jobsList printer jobsGETAgents: ask firstLists the active and pending jobs of a printer, newest first, at most 50.
  • send_print_jobSend print jobPOSTAgents: ask firstSends a print job (ZPL code or a base64 PDF) to a real printer, which prints it. Returns a job_id; get_print_job reads its status, cancel_print_job stops it while still queued.

Automation, 3 operations

  • execute_automationExecute automationPOSTAgents: ask firstRuns an automation (an acting write: its actions may send, print or write data). Returns an execution_id; call get_automation_execution_status with it until status is completed or failed.
  • list_automationsList automationsGETAgents: ask firstLists the automations the current user can access (id, name, type, enabled, description). Pass an id to execute_automation.
  • list_automations_by_screenList automations by screenGETAgents: ask firstLists the automations linked to one Plex screen, found by its Plex Company Number (pcn) and application path.

Connector site, 3 operations

  • create_connector_siteCreate connector sitePOSTAgents: ask firstCreates a site that connector agents and printers can be assigned to. Returns the new site_id.
  • delete_connector_siteDelete connector siteDELETEAgents: ask firstDeletes a site. The vendor refuses it while connectors or printers are still assigned to the site.
  • list_connector_sitesList connector sitesGETAgents: ask firstLists the company's sites, the groups that on-premise connector agents and printers are assigned to (site id, name, description).

Document, 3 operations

  • download_documentDownload documentGETAgents: ask firstDownloads a generated document (PDF, or HTML for an HTML template) and returns it as a stored file.
  • generate_documentGenerate documentPOSTAgents: ask firstStarts generating a PDF or HTML document from a template and your data. Returns a request_id; call get_document_generation_status with it until the document is ready. Counts against the monthly document quota.
  • list_generated_documentsList generated documentsGETAgents: ask firstLists the documents generated from one template, newest first (id, format, download url, created and expiry times).

Email, 3 operations

  • list_email_historyList email historyGETAgents: ask firstLists the emails the company sent, newest first, with limit and offset paging. The records hold recipients' addresses (personal data). Needs the Email Management permission.
  • send_emailSend emailPOSTAgents: ask firstSends an email to real recipients through the company's configured email profile. Returns a tracking_id; get_email_status reads its delivery status.
  • send_template_emailSend template emailPOSTAgents: ask firstRenders an email template with your data and sends it to real recipients. Name the template by template_id or template_name (from list_email_templates). Returns a tracking_id for get_email_status.

Ai chat automation, 2 operations

  • list_ai_chat_automationsList ai chat automationsGETAgents: ask firstLists the AI chat automations available to the current user (id, name, description, model). Pass an id to send_ai_chat_message.
  • list_ai_chat_automations_by_screenList ai chat automations by screenGETAgents: ask firstLists the AI chat automations attached to one Plex screen, found by its Plex Company Number (pcn) and application path.

Assistant chat, 2 operations

  • poll_assistant_chatPoll assistant chatGETAgents: ask firstReads the state of an assistant turn started by start_assistant_chat. Call again until done is true: partial holds the text so far, response the final answer, error the failure message.
  • start_assistant_chatStart assistant chatPOSTAgents: ask firstStarts one assistant turn and returns a request_id at once. Then call poll_assistant_chat with that request_id until done is true. Needs the Builder or Viewer permission and the AI assistant on the plan.

Company, 2 operations

  • get_current_companyGet current companyGETAgents: ask firstReturns the company the API key is acting as (id, name, primary flag).
  • list_user_companiesList user companiesGETAgents: ask firstLists every company the authenticated user can access, flagging the primary one.

Database table, 2 operations

  • describe_local_database_tableDescribe local database tableGETAgents: ask firstDescribes one table of an on-premise database (column name, type, nullability), read live through the connector agent, as a query result.
  • list_local_database_tablesList local database tablesGETAgents: ask firstLists the tables of an on-premise database, read live through the connector agent, as a query result whose rows are table names.

Document template, 2 operations

  • get_document_templateGet document templateGETAgents: ask firstReturns one document template's latest content (HTML and CSS), its sample data and mode. Needs the DataMagik - User, Builder or Viewer permission.
  • list_document_templatesList document templatesGETAgents: ask firstLists the company's document templates (id, name, mode, category, active flag), 25 per page by default. Pass a templateId to generate_document. Needs the DataMagik - Builder permission.

Odbc execution, 2 operations

  • get_odbc_executionGet odbc executionGETAgents: ask firstReturns the status of an ODBC query run started by execute_odbc_query and, once completed, a preview of its result (columns and up to 100 rows).
  • list_odbc_executionsList odbc executionsGETAgents: ask firstLists the company's recent ODBC query runs, newest first (status, row count, duration, error). Returns 5 by default, at most 50.

Screen, 2 operations

  • find_screenFind screenGETAgents: ask firstFinds a registered Plex screen by its Plex Company Number (pcn) and application path and returns its id and name.
  • get_screenGet screenGETAgents: ask firstReturns one registered Plex screen by id: name, Plex Company Number and application path.

Script execution, 2 operations

  • get_script_executionGet script executionGETAgents: ask firstReturns a script run: status (queued, processing, completed, failed, timeout, cancelled), its output_data (the script's return value), console logs, error, duration and resource use.
  • list_script_executionsList script executionsGETAgents: ask firstLists the runs of one script, newest first, with each run's status, output, logs and error. Filter by status; page with limit and offset.

Script schedule run, 2 operations

  • cancel_schedule_queueCancel schedule queuePOSTAgents: ask firstCancels the runs of a schedule that are queued but not started yet. Returns how many were cancelled.
  • list_schedule_historyList schedule historyGETAgents: ask firstLists the runs of a schedule, newest first: status, manual or scheduled, duration, retries and error.

Ai chat message, 1 operation

  • send_ai_chat_messageSend ai chat messagePOSTAgents: ask firstSends a message to an AI chat automation and returns its reply, the session_id to continue the conversation and the tokens used. Each call uses AI messages of the company's monthly quota.

Ai model, 1 operation

  • list_ai_modelsList ai modelsGETAgents: ask firstLists the AI models the company can use with its assistants, limited to the providers it holds credentials for (OpenAI, Anthropic, Gemini, OpenRouter, Azure OpenAI), with a recommended flag per model.

Approval document, 1 operation

  • download_approval_documentDownload approval documentGETAgents: ask firstDownloads the source document of an approval task (the file its sourceRef points to) as a stored file.

Assistant, 1 operation

  • list_assistantsList assistantsGETAgents: ask firstLists the AI assistants of the company that the caller may use (role-gated ones are left out). Pass assistant_id to start_assistant_chat or chat_assistant.

Assistant message, 1 operation

  • chat_assistantChat assistantPOSTAgents: ask firstRuns one assistant turn and waits for the final answer (text plus any chart or file artifacts). It can block for the whole turn; for tool-heavy turns prefer start_assistant_chat then poll_assistant_chat.

Automation execution, 1 operation

  • get_automation_execution_statusGet automation execution statusGETAgents: ask firstReturns the status of an automation run started by execute_automation (queued, running, completed or failed), with its result or error and start and end times.

Automation failure, 1 operation

  • list_automation_failuresList automation failuresGETAgents: ask firstLists the company's failed automation runs in a time window, newest first, at most 200 (limited says when cut). Both bounds left out means today in the company timezone.

Connector, 1 operation

  • list_connectorsList connectorsGETAgents: ask firstLists the on-premise connector agents of the company with their status (online, offline, pending, updating), version, capabilities, site, host name and network addresses.

Cron expression, 1 operation

  • validate_cronValidate cronPOSTAgents: ask firstChecks a 5-field cron expression and returns whether it is valid, the error if not, and its next 5 run times in the given timezone. Changes nothing.

Document generation, 1 operation

  • get_document_generation_statusGet document generation statusGETAgents: ask firstReturns the state of a document started by generate_document. When complete it carries document_id and a tokenized download URL; download_document fetches the file.

Document quota, 1 operation

  • check_document_quotaCheck document quotaPOSTAgents: ask firstChecks whether the company may generate another document: remaining quota, overage state and cost estimate, warning level and blocking reason. Set isPreview true to check without counting.

Downtime pareto, 1 operation

  • get_downtime_paretoGet downtime paretoGETAgents: ask firstRanks a time window's machine downtime by the Plex event that explains it, with cumulative share and the vital few marked. Unexplained downtime is reported apart. Needs the shop-floor licence.

Email status, 1 operation

  • get_email_statusGet email statusGETAgents: ask firstReturns the delivery status of an email sent by send_email or send_template_email: status, subject, queue and send times, and the error if it failed.

Email template, 1 operation

  • list_email_templatesList email templatesGETAgents: ask firstLists the company's email templates (document templates in email mode): id, name, description and active flag. Pass one to send_template_email.

Entitlement, 1 operation

  • get_entitlementsGet entitlementsGETAgents: ask firstReturns the licence feature flags of the user's primary company: AI chat, desktop app and MCP access. They do not change when the user switches company.

File, 1 operation

  • copy_fileCopy filePOSTAgents: ask firstCopies a file on a file endpoint, or between two endpoints (a hosted partner gateway, a remote FTP server or an on-premise share). Leave the dst_ fields out to copy within one endpoint.

File endpoint, 1 operation

  • list_file_endpointsList file endpointsGETAgents: ask firstLists every place the company moves files to or from: hosted (partners connect to the gateway), remote (DataMagik dials their FTP, FTPS or SFTP server) or onprem (a path reached through the connector agent).

File operation, 1 operation

  • list_file_operationsList file operationsGETAgents: ask firstReturns the file audit trail, newest first: every list, read, write, delete, move, copy or mkdir anyone ran, including failed ones, with who triggered it and the caller IP address.

File source, 1 operation

  • list_file_sourcesList file sourcesGETAgents: ask firstLists the file endpoints as a file browser sees them, with what each allows right now (read, write, delete, mkdir, move) and whether its on-premise agent is connected. Needs DataMagik - Builder.

File transfer, 1 operation

  • list_file_transfersList file transfersGETAgents: ask firstLists files that actually moved in or out, newest first, including failed ones and why, with counts for the last 30 days.

Script, 1 operation

  • execute_scriptExecute scriptPOSTAgents: ask firstRuns a DataMagik script (an acting write: it may send, print or write data). If it ends within about 3 seconds the answer carries the result; otherwise call get_script_execution with execution_id until it ends.

Script schedule failure, 1 operation

  • list_schedule_failuresList schedule failuresGETAgents: ask firstLists the company's failed scheduled script runs in a time window, newest first, at most 200 (limited says when cut). Both bounds left out means today in the company timezone.

Shop floor screen, 1 operation

  • update_shop_floor_screenUpdate shop floor screenPUTAgents: ask firstEdits a registered shop-floor screen: its title, required roles or the app it renders. Fields left out keep their current value. The app must be a spa app of the same company.

Site update, 1 operation

  • get_site_update_statusGet site update statusGETAgents: ask firstReturns the progress of a site's rolling connector update: target version, status and counts of pending, updating, completed and failed connectors.

Status timeline, 1 operation

  • get_status_timelineGet status timelineGETAgents: ask firstReturns a time window's machine status spans (running, down and why, with the Plex event label), telling explained from unexplained downtime. Needs the shop-floor licence.

Storage quota, 1 operation

  • check_storage_quotaCheck storage quotaPOSTAgents: ask firstChecks whether a number of extra bytes would fit in the company's storage quota: current, limit and remaining GB, overage state and cost estimate.

Usage, 1 operation

  • get_current_usageGet current usageGETAgents: ask firstReturns this month's usage against the plan: documents, templates, API calls, AI chat messages, OCR pages and storage, estimated charges and overage. A limit of -1 means unlimited. Needs DataMagik - Builder.

User, 1 operation

  • get_current_userGet current userGETAgents: ask firstReturns the user the API key belongs to (id, name, email: personal data) and the company it is acting as.

Use DataMagik from Claude Code, Cursor or Codex

Connect DataMagik in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its DataMagik 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 DataMagik

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect DataMagik once

    Add your DataMagik 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.

DataMagik integration FAQ

What can you do with the DataMagik integration?

LiveContext exposes 106 operations on DataMagik, covering lookup entry, odbc query, printer and script schedule.

Popular integrations

Browse the whole catalog