Moco

Learn how to use Moco with Composio

Overview

SLUG: MOCO

Description

MOCO is a business management software offering project management, time tracking, and invoicing solutions.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Moco

Create an auth config

Use the dashboard to create an auth config for the Moco toolkit. This allows you to connect multiple Moco accounts to Composio for agents to use.

1

Select App

Navigate to Moco.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Moco Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4moco_auth_config_id = "ac_YOUR_MOCO_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Moco for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, moco_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Moco toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: List Activities

Description

Tool to retrieve activities. Use when you need to list time entries with filters like date range, user, project, or billing status.

Action Parameters

billable
billed
company_id
from_date
page
Defaults to 1
project_id
sort_by
sort_order
Defaults to asc
task_id
term
to_date
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Activity

Description

Tool to retrieve a single activity by ID. Use when you need to fetch details for a specific activity after confirming the activity ID.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Activity

Description

Tool to update an existing activity. Use when you need to adjust details of a recorded time entry after confirming the activity exists.

Action Parameters

billable
date
description
id
integerRequired
project_id
remote_id
remote_service
remote_url
seconds
tag
task_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List comments

Description

Tool to retrieve a list of comments. Use after confirming the resource type and ID.

Action Parameters

commentable_id
commentable_type
manual
page
sort_by
sort_order
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Company

Description

Tool to create a new company. Use when you need to add a company after gathering required fields.

Action Parameters

address
alternative_correspondence_language
billing_email_cc
billing_notes
country_code
credit_number
currency
custom_properties
customer_tax
debit_number
default_invoice_due_days
email
fax
footer
iban
identifier
info
name
stringRequired
phone
supplier_tax
tags
type
stringRequired
user_id
vat_identifier
website

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete a company

Description

Tool to delete a company. Use when you need to remove a company from MOCO after confirming no active dependencies.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Contacts

Description

Tool to retrieve a list of contacts. Use when you need to list contacts optionally filtered by tags, term, or phone after confirming criteria.

Action Parameters

page
per_page
phone
tags
term

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Deal Categories

Description

Tool to list deal categories with their IDs and probabilities. Use when you need a reference of available deal category types after authenticating.

Action Parameters

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Deal

Description

Tool to delete a deal. Use when you have identified an obsolete or unwanted deal and confirmed its deletion. Example: "Delete the deal with id 123."

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Deal

Description

Tool to retrieve a single deal by ID. Use when you have a deal ID and need detailed deal information. Use after confirming the deal ID.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Deals

Description

Tool to retrieve a list of all deals (leads). Use when you need an overview of deals filtered by status, tags, date range, or associated company.

Action Parameters

closed_from
closed_to
company_id
status
tags

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Deal

Description

Tool to update an existing deal. Use when you need to modify one or more fields of a deal after retrieving its details.

Action Parameters

closed_on
company_id
currency
deal_category_id
id
integerRequired
info
money
name
person_id
reminder_date
service_period_from
service_period_to
status
tags
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Invoice

Description

Tool to create a new invoice. Use after gathering complete invoice data (customer, dates, items, etc.).

Action Parameters

cash_discount
cash_discount_days
change_address
Required
currency
stringRequired
custom_properties
customer_id
integerRequired
date
stringRequired
discount
due_date
stringRequired
footer
internal_contact_id
items
arrayRequired
print_detail_columns
project_id
recipient_address
stringRequired
salutation
service_period_from
service_period_to
status
Required
tags
tax
numberRequired
title
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Invoices

Description

Tool to retrieve a list of all invoices. Use when you need an overview of invoices, optionally filtered by status, date range, or client.

Action Parameters

company_id
date_from
date_to
identifier
include_disregarded
not_booked
page
per_page
project_id
service_period_from
service_period_to
status
tags
term

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Offer

Description

Tool to retrieve a single offer by ID. Use when you have an offer ID and need detailed offer information. Use after confirming the offer ID.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Offers

Description

Tool to retrieve a list of all offers. Use when you need an overview of offers filtered by status, date range, or identifiers.

Action Parameters

company_id
deal_id
from_date
identifier
project_id
sort
status
to_date

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Planning Entries

Description

Tool to retrieve a list of all planning entries. Use when you need an overview of planned hours filtered by period, user, or project.

Action Parameters

period
project_id
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Planning Entry

Description

Tool to create a new planning entry. Use when you need to allocate working hours to a project or deal.

Action Parameters

comment
deal_id
ends_on
stringRequired
hours_per_day
numberRequired
project_id
starts_on
stringRequired
symbol
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Planning Entry

Description

Tool to retrieve a single planning entry by ID. Use when you need detailed information for a specific planning entry after confirming its ID.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Project

Description

Tool to create a new project in MOCO. Use when you need to provision a project with validated parameters.

Action Parameters

billing_address
billing_contact_id
billing_email_cc
billing_email_to
billing_notes
billing_variant
Defaults to project
budget
budget_expenses
budget_monthly
co_leader_id
contact_id
currency
stringRequired
custom_properties
customer_id
integerRequired
deal_id
finish_date
stringRequired
fixed_price
booleanRequired
hourly_rate
identifier
info
leader_id
integerRequired
name
stringRequired
project_group_id
retainer
booleanRequired
secondary_contact_id
setting_include_time_report
start_date
stringRequired
tags

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Project

Description

Tool to retrieve a single project by ID. Use when you need detailed project information after confirming the project ID.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Projects

Description

Tool to retrieve a list of all projects. Use when you need an overview of projects optionally filtered by company, leader, date range, or tags after confirming criteria.

Action Parameters

company_id
created_from
created_to
identifier
include_archived
include_company
leader_id
project_group_id
retainer
tags
updated_from
updated_to

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Project

Description

Tool to update an existing project. Use when you need to modify project details after confirming the project ID.

Action Parameters

active
billable
billing_address
billing_contact_id
billing_email_cc
billing_email_to
billing_notes
billing_variant
budget
budget_expenses
budget_monthly
co_leader_id
contact_id
custom_properties
customer_id
deal_id
finish_date
fixed_price
hourly_rate
id
integerRequired
identifier
info
leader_id
name
project_group_id
retainer
secondary_contact_id
setting_include_time_report
start_date
tags

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Purchase

Description

Tool to create a new purchase. Use when you need to log an expense record after gathering date, items, and payment info.

Action Parameters

company_id
currency
stringRequired
custom_properties
date
stringRequired
due_date
file
iban
info
items
arrayRequired
payment_method
stringRequired
receipt_identifier
reference
service_period_from
service_period_to
status
tags
title
user_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Users

Description

Tool to list all users. Use when you need valid 'leader_id' or 'co_leader_id' for project creation after confirming available staff.

Action Parameters

include_archived
tags

Action Response

data
objectRequired
error
successful
booleanRequired