FlowRunner
PricingContact
Theme
Start Free

MOCO is the German agency ERP: projects, time tracking, resource planning, invoicing, offers, deals and purchasing in one system. Agents create projects and activities, log time, issue offers and invoices, manage deals and start flows from MOCO web hooks.

1 trigger 132 actions API key available
MOCO website Platform Documentation Capability data verified 2026-08-18
The billing period closes and the month's tracked work has to become invoices
List Activities pulls the hours marked billable and not yet billed, per project
Get Project Report compares those hours and costs against each project's budget
Agent separates the hours that bill cleanly from the ones that need a decision
Create Invoice raises a draft per customer, naming the activities each line bills
Download Invoice Timesheet attaches the hours evidence behind every hours line
A person decides which hours are written down or disregarded before anything is sent

What This Integration Enables

MOCO is the German agency ERP, and its defining choice is that billing is not a downstream export. Time is logged against a project task, an invoice line can bill named time entries and expenses directly, and doing that marks those records billed. The hours and the charge are the same objects in two states rather than two systems that have to be reconciled. That is why automating MOCO is worth doing properly: an agent can carry work from a won deal through a project, its tasks, its contracts and its tracked time all the way to an offer, an invoice and a recorded payment without a spreadsheet appearing anywhere in the middle.

MOCO also has firm opinions about what cannot be undone, and they are the right opinions. It refuses to delete a company with projects, a project with time, a task with hours, a user with activities, or an invoice whose number the bookkeeping depends on. Each of those has an archive or deactivate alternative, and FlowRunner agents reach for the reversible one by default. What the platform cannot decide for you is which hours are worth billing, and that is exactly where FlowRunner's human-in-the-loop step belongs.

Without FlowRunner

Billing rebuilt from exports Hours are exported, grouped by hand, and typed back in as invoice lines
Write-downs left unrecorded Hours that will not be billed are quietly dropped, with no reason attached to them
Utilization known in arrears The number the agency runs on is assembled after the month it describes is over

With FlowRunner

Invoices built from the hours A line names the activities it bills, so the evidence and the charge are the same record
Write-downs carry a reason Hours taken out of billing are marked as such, with the reason kept against the project
Reports read on a schedule Utilization, finance, cashflow and planned against tracked are pulled and circulated

Use Case Scenarios

  • A won deal becomes a project that can actually take time

    A deal reaches Won, either in MOCO itself or in HubSpot with the agent mirroring it here. The agent calls Create Project for the customer with its currency set, because MOCO fixes currency at creation and refuses to change it later. Then it does the two things that are easy to forget and expensive to discover: Create Project Task for each billable service, since MOCO decides billability on the task rather than on the hours logged against it, and Create Project Contract for each person assigned, because without a contract that person cannot log time to the project at all. A kickoff message goes to Slack with the project link and the tasks the team should book to.

  • Timesheets imported in one call, not one at a time

    Hours recorded elsewhere in the week arrive as a batch. Rather than looping, the agent calls Create Activities once, because MOCO counts a single request against its rate limit no matter how many entries it carries. Each entry names its project task rather than its project, since that is the only way MOCO books time. Where a request needs to be recorded for somebody other than the key's own user, the agent sends it on behalf of that person explicitly. Afterwards it reads Get Planned Versus Tracked Report and posts the projects where the resource plan and the reality have parted company.

  • Supplier costs that reach the project margin

    A supplier invoice arrives as a PDF in the accounts inbox. The agent extracts the totals, calls Create Purchase with a line per tax rate because one supplier invoice can mix them, and then Assign Purchase To Project so the cost becomes a project expense rather than a general overhead. Get Project Report then tells the truth about that project's margin, and a monthly summary written into Google Sheets shows where third party costs are eating engagements that looked profitable on hours alone.

Human-in-Loop Highlight

The month-end billing run is where MOCO's design makes a human necessary rather than polite. An invoice line can bill tracked time by naming the activity identifiers, and the moment it does, MOCO marks those hours billed. From then on the platform refuses to delete them, and it refuses to delete the invoice too, because removing one would break the numbering sequence bookkeeping depends on. The alternative path is no softer: Disregard Activities takes hours out of billing permanently with a recorded reason, while leaving them on the project and counting against its budget. Both directions are one-way doors, and the choice between them is a commercial judgment about a client relationship, not a data question. So the billing agent assembles and stops. It posts to the account lead: "Northwind has 148 unbilled billable hours against a 120 hour retainer. 118 bill cleanly. 22 sit on the Discovery task, which the statement of work says is fixed price. 8 are on a task nobody has confirmed is in scope. Bill all 148, bill 118 and disregard 30 with a reason, or reduce the Discovery hours with Set Activity Billable Seconds and bill the rest?" The lead answers, the agent builds exactly that invoice and attaches the timesheet evidence to it. The arithmetic was never the hard part.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

132 actions

Account

3
  • Verify API Key Checks that the key and the account host are both right. MOCO says which one is wrong, which is rarer than it sounds, so this is the first call on a new connection.
  • Get Profile Reads the user the key belongs to, together with the account. Where a flow discovers the identifier every user-scoped filter needs.
  • Get My Performance Report Reads hours worked against hours expected for the key's own user, over the account's reporting period.

Companies

6
  • List Companies Lists customers, suppliers and internal organizations in one place, narrowed by type, tags or a search term.
  • Get Company Reads one company with its billing settings, VAT codes and custom fields.
  • Create Company Creates a company. The type decides what the record can be used for and is not sensibly changed later, since only a customer can be invoiced.
  • Update Company Updates the fields supplied. Tags are the exception: they replace the whole set rather than adding to it.
  • Set Company Archived Archives a company or brings it back, hiding it from pickers without touching its projects, invoices or history.
  • Delete Company Deletes a company. MOCO refuses once projects, invoices or purchases are attached, which is most of them, so archiving is the usual answer.

Contacts

5
  • List Contacts Lists the people recorded against companies.
  • Get Contact Reads one contact person.
  • Create Contact Creates a contact, usually attached to a company, who can then be named as the recipient on an invoice or an offer.
  • Update Contact Updates the fields supplied, with tags replacing the whole set.
  • Delete Contact Deletes a contact person, leaving their company untouched.

Projects

11
  • List Projects Lists projects narrowed by customer, leader, group, deal, tags or a search term. Archived projects are left out unless you ask for them.
  • List My Projects Lists the projects the key's own user is assigned to, which is the set that person can log time against.
  • Get Project Reads one project with its budget, billing settings, leader and tasks.
  • Get Project Report Reads hours and costs against budget, billed against unbilled. The single call that answers whether a project is making money.
  • Create Project Creates a project for a customer. The currency is mandatory and cannot be changed afterwards, and a retainer needs its own extra fields with their own rules.
  • Update Project Updates the fields supplied, with tags replacing the whole set. Currency stays fixed.
  • Set Project Archived Archives a project or reopens it. An archived project stops accepting time and leaves the pickers while keeping everything attached to it.
  • Set Project Report Sharing Turns a project's shareable report link on or off. Turning it on produces a URL anybody holding it can open without signing in, so treat the returned address accordingly.
  • Set Project Group Puts a project into a project group or takes it out, which are different routes rather than one field.
  • List Project Groups Lists the account's project groups, which bundle related projects for reporting.
  • Delete Project Permanently deletes a project. MOCO refuses once time, expenses or invoices are attached, so archiving is the usual answer.

Project Tasks

5
  • List Project Tasks Lists a project's tasks, which are the services time is booked against. Time in MOCO is always logged against a task, never a project directly.
  • Get Project Task Reads one task with its rate, budget and whether it is billable.
  • Create Project Task Adds a task to a project. Billability is decided here rather than on the hours, so a task created unbillable makes every hour on it unbillable.
  • Update Project Task Updates a task. Setting it inactive closes it to new time without touching the hours already booked.
  • Delete Project Task Deletes a task. MOCO refuses once time has been booked to it, so deactivating is the alternative.

Project Contracts

4
  • List Project Contracts Lists who is assigned to a project and at what rate. Without a contract, a person cannot log time to the project at all.
  • Create Project Contract Assigns a user to a project, optionally at their own hourly rate. The step that makes their time bookable.
  • Update Project Contract Updates a contract's rate, budget or active state.
  • Delete Project Contract Removes an assignment. MOCO refuses once that person has booked time, so setting the contract inactive is the alternative.

Expenses

5
  • List Expenses Lists expenses across every project, which is the view for finding what still needs billing.
  • Get Expense Reads one project expense.
  • Create Expense Records an expense against a project. Unit cost is what you paid and unit price is what the customer is charged, and swapping them inverts the margin silently.
  • Update Expense Updates the fields supplied on an expense.
  • Delete Expense Deletes a project expense.

Time Tracking

10
  • List Activities Lists tracked time, narrowed by project, task, user, company or date. Billable and not yet billed is how a workflow finds what needs invoicing.
  • Get Activity Reads one tracked time entry.
  • Create Activity Logs time against a project task. The task identifier is what matters, because MOCO never books time to a project directly.
  • Create Activities Logs several entries in one request, which is how a timesheet import should be done: one call against the rate limit rather than one per entry.
  • Update Activity Updates an entry. MOCO refuses to change the duration while a timer is running on it, so the timer is stopped first.
  • Start Activity Timer Starts MOCO's timer on an existing entry so the duration counts up in real time.
  • Stop Activity Timer Stops the timer and writes the elapsed time into the entry's duration.
  • Set Activity Billable Seconds Sets how much of an entry is billable, separately from how much was worked. How three hours are billed for four hours of work without rewriting what happened.
  • Disregard Activities Marks time as not to be invoiced, with a reason. Not deletion: the hours stay on the project and keep counting against its budget.
  • Delete Activity Deletes a tracked entry. MOCO refuses once it has been billed, which is why disregarding exists.

Comments

5
  • List Comments Lists comments, which MOCO attaches to almost every kind of record.
  • Get Comment Reads one comment.
  • Create Comment Adds a comment to a record, addressed by MOCO's own class name and the record identifier together.
  • Update Comment Rewrites a comment's text. A comment cannot be moved to another record.
  • Delete Comment Deletes a comment.

Deals

9
  • List Deals Lists pipeline deals, optionally narrowed by status, company or responsible user.
  • Get Deal Reads one deal.
  • Create Deal Creates a sales deal. The category carries the probability MOCO weights the pipeline by, so it should match the real stage.
  • Update Deal Updates a deal, which is how it moves through the pipeline. Won or Lost with a closing date is what takes it out of the forecast.
  • Delete Deal Deletes a deal. Any project created from it is untouched.
  • List Deal Categories Lists the pipeline stages with the probability each one carries.
  • Create Deal Category Adds a pipeline stage. The probability is what turns a pipeline into a weighted forecast.
  • Update Deal Category Renames a stage or changes its probability, which reweights every deal in it.
  • Delete Deal Category Deletes a stage. MOCO refuses while deals are still in it.

Offers

7
  • List Offers Lists offers, narrowed by status to find, for example, everything sent and not yet accepted.
  • Get Offer Reads one offer with its line items and totals.
  • Create Offer Creates an offer with its lines. The VAT code is mandatory and has to be an active sale code in the account.
  • Set Offer Status Moves an offer to a status through its own route, so a status change never rewrites the document by accident.
  • Send Offer By Email Emails an offer to its recipients and moves it to Sent. Real mail from your account, so it belongs behind a review step.
  • Download Offer Fetches the offer as a PDF into FlowRunner file storage and returns a URL a later step can attach or archive.
  • Delete Offer Deletes an offer. MOCO refuses once it has been billed.

Invoices

10
  • List Invoices Lists invoices by status, customer or date. Overdue is how a workflow finds what is late.
  • Get Invoice Reads one invoice with its lines and totals.
  • Create Invoice Creates an invoice with its lines. A line can bill named time entries or expenses, and doing so marks them billed, which is the operation this page's human gate exists for.
  • Set Invoice Status Moves an invoice to a status. Ignored is MOCO's word for a write-off, which is a different act from deleting the document.
  • Send Invoice By Email Emails an invoice to its recipients and moves it to Sent, which starts the payment clock. Real mail, and not something to retry casually.
  • Download Invoice Fetches the invoice as a PDF into FlowRunner file storage.
  • Get Invoice Timesheet Reads the time entries an invoice bills, which is the evidence behind its hours lines.
  • Download Invoice Timesheet Fetches that timesheet as a PDF, which is the document customers ask for when they query an hours line.
  • List Invoice Expenses Lists the expenses an invoice bills.
  • Delete Invoice Deletes an invoice. MOCO refuses for most finished invoices, because deleting one breaks the numbering sequence.

Payments and Reminders

7
  • List Invoice Payments Lists payments recorded against invoices, optionally for one invoice.
  • Get Invoice Payment Reads one payment.
  • Create Invoice Payment Records a payment. Mark it partial when it does not settle the invoice, or MOCO treats it as full settlement.
  • Update Invoice Payment Updates a payment. Changing the amount changes whether MOCO regards the invoice as settled.
  • Delete Invoice Payment Deletes a payment, which puts the invoice back in the outstanding pile.
  • List Invoice Reminders Lists dunning reminders raised against overdue invoices.
  • Send Invoice Reminder Emails a dunning reminder to the customer. Real mail chasing a real person for money, so it belongs behind a check that the invoice is genuinely unpaid.

Purchases

6
  • List Purchases Lists the supplier invoices and receipts the agency has to pay.
  • Get Purchase Reads one purchase with its lines.
  • Create Purchase Records a supplier invoice or receipt. Each line names its own tax, because one supplier invoice can mix rates.
  • Update Purchase Updates the fields supplied. Items are the exception: they replace the whole set of lines.
  • Assign Purchase To Project Books a purchase item onto a project, turning a supplier cost into a project expense so it reaches the margin.
  • Delete Purchase Deletes a purchase. MOCO refuses once it has been exported to bookkeeping.

Planning

5
  • List Planning Entries Lists the blocks of a person's time reserved for a project, narrowed by user, project or date.
  • Get Planning Entry Reads one planning entry.
  • Create Planning Entry Reserves a block of somebody's time for a project. Planning for another person requires a key permitted to do so.
  • Update Planning Entry Moves or resizes a booking.
  • Delete Planning Entry Releases a booked block of time.

Schedules

3
  • List Schedules Lists absence schedules: holiday, sickness and other days somebody is not available, kept separately from planning entries.
  • Create Schedule Records a day somebody is away. Morning and afternoon are separate flags, so a half day turns on only one of them.
  • Delete Schedule Removes a recorded absence.

Users

7
  • List Users Lists the account's users.
  • Get User Reads one user.
  • Get User Performance Report Reads a person's hours worked against hours expected, month by month.
  • Create User Creates a user. MOCO sends a welcome email by default, so an automated import that should not notify anybody yet turns it off.
  • Update User Updates a user. Setting them inactive frees the seat while keeping everything they did.
  • List User Roles Lists the roles a user can hold.
  • Delete User Deletes a user. MOCO refuses once the person has tracked time, which is nearly always, so deactivating is the answer.

Presences

4
  • List Presences Lists attendance records, the clock in and clock out times MOCO keeps separately from tracked project time.
  • Create Presence Records an attendance block for the key's own user, or for somebody else where the key is permitted to act on their behalf.
  • Touch Presence Clocks in or out in one call, opening a block if none is open and closing the open one if there is.
  • Delete Presence Deletes an attendance record.

Holidays

3
  • List Holidays Lists holiday entitlements, the yearly allowances absences are measured against.
  • Create Holiday Entitlement Records a person's entitlement for a year, given as days or as hours but not both.
  • Delete Holiday Entitlement Deletes a holiday entitlement.

Tags

6
  • List Tags Lists the account's tags. A tag belongs to a context, so the same word can exist separately for projects and companies.
  • Create Tag Creates a tag in a context, which cannot be changed later.
  • Update Tag Renames or recolors a tag. Every record carrying it follows the rename.
  • Delete Tag Deletes a tag and removes it from every record carrying it.
  • Set Record Tags Changes the tags on a record. The mode decides whether the set is replaced, added to or narrowed, and only one of those can lose a tag somebody else applied.
  • List Record Tags Lists the tags currently on a record.

Reports

5
  • Get Utilization Report Reads how much of each person's available time went to billable work. The number an agency runs on.
  • Get Finance Report Reads revenue, costs and margin over a period.
  • Get Cashflow Report Reads money in against money out over a period.
  • Get Absences Report Reads holiday taken and remaining, per person.
  • Get Planned Versus Tracked Report Reads planned time against tracked time, which is how a team finds out whether the resource plan is holding.

Web Hooks

6
  • List Web Hooks Lists the account's web hooks with their target, event and whether MOCO has disabled them.
  • Get Web Hook Reads one web hook, including whether and when MOCO switched it off.
  • Create Web Hook Subscribes an address to one MOCO event. A hook covers one target and one event, so watching two events means two hooks.
  • Update Web Hook Changes where a web hook posts to. The target and event of an existing hook cannot be changed.
  • Set Web Hook Enabled Enables or disables a hook. Disabling stops deliveries without losing the subscription, and re-enabling revives one MOCO switched off.
  • Delete Web Hook Deletes a web hook so MOCO stops posting to it.

Triggers

1 triggers

Event Triggers

1
  • On MOCO Event Fires when a record changes in MOCO. A subscription covers one target and one event, so choosing several events creates several web hooks behind the scenes. Web hooks are available on a paid MOCO subscription. Set a webhook secret in the connection to have deliveries verified, and gate the flow on the verified field so an unsigned delivery cannot drive a write.

Frequently Asked Questions

What can FlowRunner do with MOCO?

FlowRunner agents can run Verify API Key, Get Profile, and Get My Performance Report in MOCO, plus 129 more actions.

Does connecting MOCO to FlowRunner require OAuth?

No. MOCO connects to FlowRunner with an API key, no OAuth flow required.

Can MOCO trigger a FlowRunner workflow automatically?

Yes. MOCO supports 1 trigger that can start a FlowRunner workflow automatically.

Start building with MOCO

Free plan, no card required. Connect in minutes.