The Credits page listed the app logic function row as "A small fraction
of a credit / Thousands per credit", which understates the rate.
A workflow step and a logic function run each cost a flat 100
micro-credits (`workflow-executor.workspace-service.ts:353`,
`logic-function-executor.service.ts:536`), i.e. $0.0001, or 10,000 runs
per credit. Since the two rows carried the same rate stated twice,
they're merged into one.
Also adds a note that Call Recorder and Last contact don't consume
credits for their logic function runs. They're in
`MARKETPLACE_BILLING_EXEMPT_UNIVERSAL_IDENTIFIERS`, which is 2 of the 3
apps currently in `MARKETPLACE_VETTED_APPLICATIONS`. The note is
explicit that the exemption covers only the per-run charge, since those
apps still bill metered work (recorded call minutes) through
`chargeCredits`.
## Test plan
Docs-only change. Rates cross-checked against
`workflow-executor.workspace-service.ts` and
`logic-function-executor.service.ts`; the exempt list against
`marketplace-billing-exempt-applications.constant.ts` and
`marketplace-vetted-applications.constant.ts`.
Co-authored-by: Martin <martin@twenty.com>
Rewrites the billing **Credits** doc so it actually explains what a
credit is worth and how far it goes — the previous version listed bare
credit counts and described AI cost only as "variable based on usage."
What changed:
- Leads with **1 credit = $1 of usage**, so the balance is easy to
reason about.
- Adds a "How far does a credit go?" table grounded in how billing
actually works: standard workflow steps cost ~$0.0001 each, quick AI
messages a fraction of a cent, while large multi-step agent tasks (e.g.
configuring several objects) can run to ~$1 or more.
- Explains that AI usage is metered at the model providers' published
token rates and converted straight to credits — no marked-up internal
rate.
- Reframes allocation (5/mo, 50/yr) in terms of equivalent dollar usage,
and tightens the rollover, monitoring, and top-up sections.
Docs-only change; no code or behavior affected.
<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/22099?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->
Add missing info about how to edit navigation bar, add many-to-many
relation and get Enterprise key for Org license on self-hosted
---------
Co-authored-by: Charles Bochet <charles@twenty.com>
Reorganizing by Feature sections
Capabilities folders to give an overview of each feature
How-Tos folders to give guidance for advanced customizations
Reorganized the Developers section as well, moving the API sub section
there
added some new visuals and videos to illustrate the How-Tos articles
checked the typos, the links and added a section at the end of the
doc.json file to redirect existing links to the new ones (SEO purpose +
continuity of the user experience)
What I have not updated is the "l" folder that, per my understanding,
contains the translation of the User Guide - that I only edited in
English
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is
generating a summary for commit
5301502a32856e5b45d7ef30253fa7db6dc55233. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@twenty.com>
Co-authored-by: Abdul Rahman <ar5438376@gmail.com>
Co-authored-by: Félix Malfait <felix.malfait@gmail.com>