The karbon connector reads how an accounting practice runs its work: which jobs it takes on, who does them, and how long they take.
| Connector name | karbon |
| Products | Records |
| Credentials | A Karbon API application's Authorization token and AccessKey |
| Plan | Karbon Business or Enterprise. Karbon allows one API application per account. |
What it pulls
| Object | Contents |
|---|---|
work_item |
Title, work type, status, primary and secondary status, assignee name and email, client key, name and type, client group, start, due, deadline and completed dates, to-do period, work template and schedule, estimated budget |
time_entry |
Work item, client, user, role, task type, date, minutes, hourly rate, total cost, billed status |
Choose a subset with the objects option: work_items, time_entries. Both are pulled by default.
Client and staff names become tokens. A staff member gets the same token as a work item assignee and on their time entries. Titles are treated as free text and redacted. See How scrubbing works.
Karbon's API has no way to list timelines, notes or emails, so the connector does not pull them.
Credentials
- In Karbon, go to Settings → Connected Apps → API Applications and open your application.
- Copy the Authorization token (a 36 character ID) as
applicationId. - Copy the AccessKey (a long key starting with
eyJ) asaccessKey.
The two values are not interchangeable. If you swap them, Karbon answers with an error and the SDK tells you which settings to check. The application reads the whole account. Clients marked private or hidden stay invisible to it unless you ask Karbon for access.
Connect
datayield connect karbon -o applicationId=env:KARBON_APP_ID -o accessKey=env:KARBON_ACCESS_KEYBoth values are stored as secrets. Values written as env:NAME are read from the environment at run time, which suits CI. See CLI reference.
Karbon is not on the portal's Connect button. Paste the keys into the SDK as above.
Options
| Option | Required | Meaning |
|---|---|---|
applicationId |
yes | The Authorization token. Stored as a secret. |
accessKey |
yes | The AccessKey. Stored as a secret. |
objects |
no | work_items, time_entries. Defaults to both. |
New records on each run
Time entries are filtered on their date, between the last successful run and now.
Karbon does not record when a work item last changed. So every run reads the full list of work items and sends the ones with a start, due, deadline or completed date inside the window. The first run sends every work item. A work item that changes without any of those dates moving is not sent again until one of them falls in a later window.
Rate limits
Karbon allows about 120 requests a minute. When it asks the SDK to slow down, the SDK waits as told and retries.