Harvest
Create and list time entries in Harvest. In Appbricx, your workflows and server functions call it by name once it is connected.
What you can do
11 actions, each one call from a workflow or a server function. Triggers come from your app: a row changing, a schedule or a webhook.
- Get Time EntriesFetches Time Entries
get_time_entries - Get ClientsFetches Clients
get_clients - Get EstimatesFetches Estimates
get_estimates - Get ExpensesFetches expenses
get_expenses - Get InvoicesFetches invoices
get_invoices - Get ProjectsFetches projects
get_projects - Get RolesFetches Roles
get_roles - Get TasksFetches Tasks
get_tasks - Get UsersFetches Users
get_users - Uninvoiced ReportUninvoiced hours and expenses for all billable projects
reports-uninvoiced - Custom API CallMake a custom API call to a specific endpoint
custom_api_call
Set it up
About two minutes, once per project or once for the whole workspace.
- Open Integrations in the builder
Backend panel, Integrations tab, then Harvest. To connect it for every project, use Workspace settings, Integrations.
- Add your credentials
An API key (or token) from your Harvest account, pasted once. It is stored encrypted and only read on the server when an action runs.
- API key From Harvest's settings
- Call an action
From a workflow, by integration id and action name. The call answers with success, output and, when it fails, the reason.
Workflow // .workflow.js (native ctx) export async function run(ctx) { const res = await ctx.integrations.invoke("harvest", "get_time_entries", {}); if (!res.success) throw new Error(res.error); ctx.log.info("Harvest answered", { output: res.output }); }
More in Project management
Harvest and its logo are trademarks of their owner, shown only to identify the service this integration connects to. Their use does not imply endorsement by, or affiliation with, that company.