ml-connector
DeltekMonday.com

Deltek and Monday.com integration

Deltek runs project-based finance and accounting. Monday.com runs the boards your teams work from every day. Connecting the two puts live Deltek records in front of people who never open the ERP. ml-connector pushes Deltek projects, AP invoices, and employees into Monday.com boards as items, keeps their column values current as the ERP data changes, and reads approved status changes back from Monday.com into the matching Deltek records. It handles the very different APIs and data shapes on each side so the two systems stay in agreement.

How Deltek works

Deltek Vantagepoint exposes firms, contacts, employees, projects, AP invoices, AR invoices, journal entries, and GL accounts through a REST API on a tenant-specific URL such as https://acme.deltekfirst.com/acme/api/, authenticated with OAuth 2.0 password grant against the /api/token endpoint. Deltek Costpoint exposes the same finance and procurement data over SOAP web services and flat-file import templates instead, using JWT certificate auth. Vantagepoint offers workflow-triggered outbound webhooks but no full event bus, so records are read by page-based polling, and it has no idempotency header, so the caller must check for an existing record before posting.

How Monday.com works

Monday.com is a work operating system, not an accounting package, so it has no native invoice, purchase order, or GL account objects. Everything lives as boards, items, and typed columns reached through one GraphQL endpoint at https://api.monday.com/v2, where each query or mutation is a POST. Authentication is a personal API token or an OAuth 2.0 token, both sent as the raw Authorization header with no Bearer prefix. Items are read with cursor-based pagination capped at 500 per page, writes pass each column value as a JSON-encoded string, and Monday.com can push board events such as create_item and change_column_value to a registered webhook URL.

What moves between them

The main flow runs from Deltek into Monday.com. ml-connector reads Deltek projects, AP invoices, and employees and creates or updates one Monday.com item per record, writing each Deltek field into the board column you map it to. As Deltek invoice amounts, due dates, project stages, or approval status change, the matching item's column values are refreshed on each poll. A smaller flow runs the other direction: when someone moves an item or changes a status column on Monday.com, ml-connector reads that event and updates the corresponding Deltek record, for example marking an AP invoice approved. Deltek stays the system of record for finance, so balances and postings are never authored on the board.

How ml-connector handles it

ml-connector stores both credential sets encrypted. It obtains a Deltek OAuth access token with the password grant, sends it as a Bearer token, and refreshes it when a call returns 401, while on the Monday.com side it sends the API token as the raw Authorization header with no Bearer prefix. Because Monday.com has no finance objects, the connector is configured with the customer's board IDs and column IDs, and maps each Deltek field, such as invoice amount, due date, or project stage, to a specific column; every Monday.com column value is written as a JSON-encoded string, not an object. Reads from Deltek use page-based pagination and run on a schedule, since Vantagepoint workflow webhooks are limited and Costpoint is pull-only. Inbound Monday.com app webhooks are verified by the signed JWT in the Authorization header, and the initial challenge handshake is answered so the subscription activates. Deltek has no idempotency key, so ml-connector queries by invoice number before posting to avoid duplicates, while Monday.com mutations carry an Idempotency-Key on retry. Monday.com returns HTTP 429 with a Retry-After header and caps board mutations at 40 per minute, so writes are paced and backed off. Item cursors expire, so each read completes in one pass. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A 250-person architecture and engineering firm runs Deltek Vantagepoint for projects, billing, and accounting, while its project managers and principals live in Monday.com boards. Before the integration, the finance team fielded a steady stream of questions about which AP invoices had posted and which client bills were overdue, and managers had no view of project financial status without asking accounting or opening the ERP. With Deltek and Monday.com connected, each project and its open AP invoices appear as items on the team's board with amount, due date, and approval status columns kept current from the ERP. When a principal flips an invoice item to approved on the board, that status flows back to Deltek, and the back-and-forth email about invoice and project status is gone.

What you can do

  • Push Deltek projects, AP invoices, and employees into Monday.com boards as items with mapped column values.
  • Keep item columns such as amount, due date, project stage, and approval status current from Deltek on each poll.
  • Read Monday.com status and move events back into Deltek to update the matching project or invoice record.
  • Bridge Deltek OAuth password-grant tokens with Monday.com's raw-token GraphQL header and verify signed app webhooks.
  • Poll Deltek on a schedule with duplicate checks, paced Monday.com writes, error replay, and a full audit trail.

Questions

Which direction does data move between Deltek and Monday.com?
The main flow is Deltek into Monday.com: projects, AP invoices, and employees become board items whose columns are kept current from the ERP. A smaller reverse flow reads status and move events from Monday.com to update the matching Deltek record, such as marking an invoice approved. Deltek stays the system of record, so financial balances and postings are never authored on the board.
Monday.com has no invoice or GL objects, so how does the mapping work?
Monday.com stores everything as boards, items, and typed columns rather than finance objects, so the connector is configured with your specific board IDs and column IDs. Each Deltek field, such as invoice amount or due date, is mapped to a column you choose, and ml-connector writes each value as the JSON-encoded string Monday.com's GraphQL API requires. The customer's board layout defines what each item means.
How are the two different authentication models handled?
Deltek Vantagepoint uses OAuth 2.0 password grant against its tenant /api/token endpoint and returns a Bearer token that ml-connector refreshes on a 401, while Monday.com expects the API token sent as the raw Authorization header with no Bearer prefix. Both credential sets are stored encrypted. Inbound Monday.com app webhooks are verified by the signed JWT in their Authorization header before any update is applied.

Related integrations

Connect Deltek and Monday.com

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started