Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create system_overview.md #2554

Open
wants to merge 69 commits into
base: dev
Choose a base branch
from
Open

Conversation

nitzanballerine
Copy link
Collaborator

@nitzanballerine nitzanballerine commented Jul 22, 2024

Added a system overview page to the docs

Summary by CodeRabbit

  • New Features

    • Introduced a comprehensive overview of the Ballerine risk management platform, detailing its modular architecture and core functionalities.
    • Added practical examples for building risk flows, such as Know Your Business (KYB) and Know Your Customer (KYC).
    • Explained the roles of workflows, Collection Flows, Rules Engine, Case Management, Unified API, Child Workflows, Plugins, and Webhooks in the platform.
    • Provided detailed guides on adding rules and managing workflows, including the use of transition rules and a JSON Logic rule engine.
    • Launched comprehensive documentation for the case management dashboard, covering its functionalities and usage instructions.
    • Added a guide for calculating risk scores, including how to attach plugins for risk evaluations within workflow states.
    • Introduced documentation on integrating third-party checks into workflows using the unified API.
    • Enhanced the organization of documentation for improved navigation and clarity, including the introduction of new sections and restructured content.
    • Added an overview of workflows based on state machines and the features that enhance backend and frontend operations.
    • New documentation on configuring and utilizing webhooks, providing guidelines for real-time notifications and security practices.
  • Documentation

    • New files and sections added to enrich understanding of workflow configurations, webhook integrations, and case management functionalities.

Added a system overview page to the docs
Copy link

changeset-bot bot commented Jul 22, 2024

⚠️ No Changeset found

Latest commit: 2e933a5

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor

coderabbitai bot commented Jul 22, 2024

Walkthrough

The recent updates significantly enhance the Ballerine platform's documentation, emphasizing its modular architecture and introducing new features for workflow customization. The enhanced guides on risk evaluation, rule integration, and case management empower users to streamline operations, improve efficiency, and deepen their understanding of the platform's capabilities, including fresh documentation on workflows and webhook integration.

Changes

Files Change Summary
websites/docs/src/content/docs/en/getting_started/system_overview.md Introduced a comprehensive overview of the Ballerine platform's risk management capabilities, detailing workflows, modules, and integration options to enhance user understanding and process customization.
websites/docs/src/content/docs/en/getting_started/introduction.md Reformatted the module list for clarity, removed the No-Code Builder entry, and renamed Plugin System to Unified API, improving organization and readability.
websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md, websites/docs/src/content/docs/en/learn/adding_or_configuring_a_rule.md Provided guides on adding transition rules for workflows and configuring rules, enhancing user control and understanding of workflow processes and automated decision-making.
websites/docs/src/content/docs/en/learn/calculating_risk_scores.md Added documentation for calculating risk scores, detailing integration of plugins for risk evaluations at specific workflow states, including example configurations and visual aids for clarity.
websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md, websites/docs/src/content/docs/en/learn/creating_a_workflow.md Introduced documentation on customizing data collection flows and creating workflows via API, offering structured guidance and practical examples for users.
websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md, websites/docs/src/content/docs/en/learn/invoking_a_workflow.md Added comprehensive guides on implementing webhooks for real-time notifications and invoking workflows through API, enhancing integration and operational efficiency.
websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md Introduced documentation for the case management dashboard, detailing functionalities, filters, and actions to help users manage cases effectively and navigate the workflow process.
websites/docs/astro.config.mjs Made significant structural changes to the documentation configuration, including renaming sections and consolidating content to improve navigation and clarity for users.

Poem

In fields of code where rabbits play,
A platform blooms, bright as the day.
With modules flexible, risks in line,
We'll hop through flows, all will be fine!
So gather 'round, let workflows sing,
A dance of data—oh, what joy they bring! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 14

Outside diff range, codebase verification and nitpick comments (4)
websites/docs/src/content/docs/en/getting_started/system_overview.md (4)

4-4: Improve sentence clarity.

Consider rephrasing for better readability.

- Ballerine is a risk management platform for performing all types of risk flows and processes.
+ Ballerine is a risk management platform designed to handle various risk flows and processes.

7-11: Enhance list readability.

Consider rephrasing and formatting the list items for better readability.

- **Build a full KYB flow** using data collection flow, 3rd party vendors, risk rules, and the case management. 
- **Build a simple KYC** using 3rd party vendors, risk rules, and the case management. 
- **Build a simple digital form** using data collection flow. 
- **Manually review documents** using the case management.
-  Etc.
+ - **Build a full KYB flow** using data collection flow, third-party vendors, risk rules, and case management.
+ - **Build a simple KYC flow** using third-party vendors, risk rules, and case management.
+ - **Create a simple digital form** using data collection flow.
+ - **Manually review documents** using case management.
+ - And more.

21-21: Improve sentence clarity.

Consider rephrasing for better readability.

- Every workflow is a definition of a flow, made out of Ballerine's different modules.
+ Every workflow is a definition of a flow, composed of Ballerine's different modules.
Tools
LanguageTool

[style] ~21-~21: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)


37-37: Improve sentence clarity.

Consider rephrasing for better readability.

- All of the steps and inputs are fully customizable, to enable building different types of flows.
+ All steps and inputs are fully customizable, enabling the creation of various types of flows.
Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 2e58c20 and c6c026a.

Files selected for processing (1)
  • websites/docs/src/content/docs/en/getting_started/system_overview.md (1 hunks)
Additional context used
LanguageTool
websites/docs/src/content/docs/en/getting_started/system_overview.md

[style] ~21-~21: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)


[uncategorized] ~35-~35: “you” seems less likely than “your” (belonging to you).
Context: ... collect information and documents from you end users, using customizable, white-la...

(AI_HYDRA_LEO_CP_YOU_YOUR)


[style] ~35-~35: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)


[uncategorized] ~61-~61: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...g/configuring a rule]() Making a rule affect a workflow state ## Case Managment ...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[grammar] ~85-~85: This phrase is duplicated. You should probably use “Child Workflows” only once.
Context: ...a 3rd Party check to a workflow]() ## Child Workflows Child workflows allow for the generation and activation...

(PHRASE_REPETITION)


[uncategorized] ~94-~94: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...ow]() ## Plugins Ballerine's plugins enables deep integration with your existing sys...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[duplication] ~101-~101: Possible typo: you repeated a word
Context: ...ding a plugin to your workflow]() ## Webhooks Webhooks in Ballerine allow for real-time commun...

(ENGLISH_WORD_REPEAT_RULE)

Markdownlint
websites/docs/src/content/docs/en/getting_started/system_overview.md

13-13: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


24-24: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


38-38: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


55-55: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


66-66: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


81-81: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


88-88: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


96-96: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


104-104: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


26-26: null
No empty links

(MD042, no-empty-links)


28-28: null
No empty links

(MD042, no-empty-links)


30-30: null
No empty links

(MD042, no-empty-links)


32-32: null
No empty links

(MD042, no-empty-links)


40-40: null
No empty links

(MD042, no-empty-links)


42-42: null
No empty links

(MD042, no-empty-links)


44-44: null
No empty links

(MD042, no-empty-links)


57-57: null
No empty links

(MD042, no-empty-links)


59-59: null
No empty links

(MD042, no-empty-links)


61-61: null
No empty links

(MD042, no-empty-links)


68-68: null
No empty links

(MD042, no-empty-links)


70-70: null
No empty links

(MD042, no-empty-links)


72-72: null
No empty links

(MD042, no-empty-links)


83-83: null
No empty links

(MD042, no-empty-links)


90-90: null
No empty links

(MD042, no-empty-links)


98-98: null
No empty links

(MD042, no-empty-links)


106-106: null
No empty links

(MD042, no-empty-links)

Additional comments not posted (1)
websites/docs/src/content/docs/en/getting_started/system_overview.md (1)

101-101: Fix duplicated phrase.

"Webhooks" is repeated. Use it only once.

- ## Webhooks
- Webhooks in Ballerine allow for real-time communication and integration with external systems. They enable the system to send automated messages or information to other systems as events occur within Ballerine.
+ ## Webhooks
+ Webhooks in Ballerine allow for real-time communication and integration with external systems. They enable the system to send automated messages or information to other systems as events occur within Ballerine.

Likely invalid or redundant comment.

Tools
LanguageTool

[duplication] ~101-~101: Possible typo: you repeated a word
Context: ...ding a plugin to your workflow]() ## Webhooks Webhooks in Ballerine allow for real-time commun...

(ENGLISH_WORD_REPEAT_RULE)


[Making a rule affect a workflow state]()

## Case Managment
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix typo in heading.

"Managment" should be "Management".

- ## Case Managment
+ ## Case Management
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Case Managment
## Case Management

Comment on lines 40 to 44
[Creating a collection flow]()

[Configuring a collection flow]()

[Changing the collection flow design]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty links.

Empty links should be populated with the correct URLs or removed.

- [Creating a collection flow]()
- [Configuring a collection flow]()
- [Changing the collection flow design]()
+ [Creating a collection flow](URL)
+ [Configuring a collection flow](URL)
+ [Changing the collection flow design](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Creating a collection flow]()
[Configuring a collection flow]()
[Changing the collection flow design]()
[Creating a collection flow](URL)
[Configuring a collection flow](URL)
[Changing the collection flow design](URL)
Tools
Markdownlint

40-40: null
No empty links

(MD042, no-empty-links)


42-42: null
No empty links

(MD042, no-empty-links)


44-44: null
No empty links

(MD042, no-empty-links)


**Learn more about webhooks**

[How to use webhooks]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty link.

Empty link should be populated with the correct URL or removed.

- [How to use webhooks]()  
+ [How to use webhooks](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[How to use webhooks]()
[How to use webhooks](URL)
Tools
Markdownlint

106-106: null
No empty links

(MD042, no-empty-links)


**Learn more about plugins**

[Adding a plugin to your workflow]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty link.

Empty link should be populated with the correct URL or removed.

- [Adding a plugin to your workflow]()
+ [Adding a plugin to your workflow](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Adding a plugin to your workflow]()
[Adding a plugin to your workflow](URL)
Tools
Markdownlint

98-98: null
No empty links

(MD042, no-empty-links)

Comment on lines 57 to 61
[Adding rules to the workflow]()

[Adding/configuring a rule]()

[Making a rule affect a workflow state]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty links.

Empty links should be populated with the correct URLs or removed.

- [Adding rules to the workflow]()
- [Adding/configuring a rule]()
- [Making a rule affect a workflow state]()
+ [Adding rules to the workflow](URL)
+ [Adding/configuring a rule](URL)
+ [Making a rule affect the workflow state](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Adding rules to the workflow]()
[Adding/configuring a rule]()
[Making a rule affect a workflow state]()
[Adding rules to the workflow](URL)
[Adding/configuring a rule](URL)
[Making a rule affect the workflow state](URL)
Tools
LanguageTool

[uncategorized] ~61-~61: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...g/configuring a rule]() Making a rule affect a workflow state ## Case Managment ...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

Markdownlint

57-57: null
No empty links

(MD042, no-empty-links)


59-59: null
No empty links

(MD042, no-empty-links)


61-61: null
No empty links

(MD042, no-empty-links)


[Adding/configuring a rule]()

[Making a rule affect a workflow state]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix grammatical error.

"This verb does not appear to agree with the subject."

- [Making a rule affect a workflow state]()
+ [Making a rule affect the workflow state]()
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Making a rule affect a workflow state]()
[Making a rule affect the workflow state]()
Tools
LanguageTool

[uncategorized] ~61-~61: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...g/configuring a rule]() Making a rule affect a workflow state ## Case Managment ...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

Markdownlint

61-61: null
No empty links

(MD042, no-empty-links)


**Learn more about child workflows**

[Adding a child workflow to your workflow]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty link.

Empty link should be populated with the correct URL or removed.

- [Adding a child workflow to your workflow]()
+ [Adding a child workflow to your workflow](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Adding a child workflow to your workflow]()
[Adding a child workflow to your workflow](URL)
Tools
Markdownlint

90-90: null
No empty links

(MD042, no-empty-links)

Comment on lines 68 to 72
[Overview of case management]()

[Using the case management dashboard]()

[Customizing case management workflows]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty links.

Empty links should be populated with the correct URLs or removed.

- [Overview of case management]() 
- [Using the case management dashboard]() 
- [Customizing case management workflows]()
+ [Overview of case management](URL)
+ [Using the case management dashboard](URL)
+ [Customizing case management workflows](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Overview of case management]()
[Using the case management dashboard]()
[Customizing case management workflows]()
[Overview of case management](URL)
[Using the case management dashboard](URL)
[Customizing case management workflows](URL)
Tools
Markdownlint

68-68: null
No empty links

(MD042, no-empty-links)


70-70: null
No empty links

(MD042, no-empty-links)


72-72: null
No empty links

(MD042, no-empty-links)

Comment on lines 26 to 32
[Understanding workflows technology]()

[Creating a workflow]()

[Configuring workflow steps]()

[Debugging a workflow]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty links.

Empty links should be populated with the correct URLs or removed.

- [Understanding workflows technology]()
- [Creating a workflow]()
- [Configuring workflow steps]()
- [Debugging a workflow]()
+ [Understanding workflows technology](URL)
+ [Creating a workflow](URL)
+ [Configuring workflow steps](URL)
+ [Debugging a workflow](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Understanding workflows technology]()
[Creating a workflow]()
[Configuring workflow steps]()
[Debugging a workflow]()
[Understanding workflows technology](URL)
[Creating a workflow](URL)
[Configuring workflow steps](URL)
[Debugging a workflow](URL)
Tools
Markdownlint

26-26: null
No empty links

(MD042, no-empty-links)


28-28: null
No empty links

(MD042, no-empty-links)


30-30: null
No empty links

(MD042, no-empty-links)


32-32: null
No empty links

(MD042, no-empty-links)

Created "Create workflows_technology.md" page
Created "creating_a_workflow.md" page
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (2)
websites/docs/src/content/docs/en/learn/workflows_technology.md (2)

5-5: Adjust heading level.

Expected: h2; Actual: h3. Heading levels should only increment by one level at a time.

-### Why state machines?
+## Why state machines?
Tools
Markdownlint

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


9-9: Correct spelling.

The word "sub-states" is normally spelled as one word.

- Statecharts allow the definition of complex behavior using states, sub-states, and transitions between states.
+ Statecharts allow the definition of complex behavior using states, substates, and transitions between states.
Tools
LanguageTool

[misspelling] ~9-~9: This word is normally spelled as one.
Context: ...ition of complex behavior using states, sub-states, and transitions between states. It's a...

(EN_COMPOUNDS_SUB_STATES)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between c6c026a and 804d2e5.

Files selected for processing (1)
  • websites/docs/src/content/docs/en/learn/workflows_technology.md (1 hunks)
Additional context used
LanguageTool
websites/docs/src/content/docs/en/learn/workflows_technology.md

[misspelling] ~9-~9: This word is normally spelled as one.
Context: ...ition of complex behavior using states, sub-states, and transitions between states. It's a...

(EN_COMPOUNDS_SUB_STATES)

Markdownlint
websites/docs/src/content/docs/en/learn/workflows_technology.md

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

Additional comments not posted (2)
websites/docs/src/content/docs/en/learn/workflows_technology.md (2)

1-3: LGTM!

The introduction is clear and informative.


3-9: LGTM!

The explanation of state machines and statecharts is clear and informative.

Tools
LanguageTool

[misspelling] ~9-~9: This word is normally spelled as one.
Context: ...ition of complex behavior using states, sub-states, and transitions between states. It's a...

(EN_COMPOUNDS_SUB_STATES)

Markdownlint

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 804d2e5 and f63c870.

Files selected for processing (1)
  • websites/docs/src/content/docs/en/learn/creating_a_workflow.md (1 hunks)
Files skipped from review due to trivial changes (1)
  • websites/docs/src/content/docs/en/learn/creating_a_workflow.md

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between f63c870 and 6f51432.

Files selected for processing (15)
  • websites/docs/src/content/docs/en/getting_started/system_overview.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding rules_step_to_the_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_a_child_workflow_to_your_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_a_plugin_to_your_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_or_configuring_a_rule.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/changing the_collection_flow_design.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/configuring_workflow_steps.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/creating_a_collection_flow (1 hunks)
  • websites/docs/src/content/docs/en/learn/customizing_case_management_workflows.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/making_a_rule_affect_a_workflow_state.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/overview_of_case_management.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md (1 hunks)
Files skipped from review due to trivial changes (14)
  • websites/docs/src/content/docs/en/learn/adding rules_step_to_the_workflow.md
  • websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md
  • websites/docs/src/content/docs/en/learn/adding_a_child_workflow_to_your_workflow.md
  • websites/docs/src/content/docs/en/learn/adding_a_plugin_to_your_workflow.md
  • websites/docs/src/content/docs/en/learn/adding_or_configuring_a_rule.md
  • websites/docs/src/content/docs/en/learn/changing the_collection_flow_design.md
  • websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md
  • websites/docs/src/content/docs/en/learn/configuring_workflow_steps.md
  • websites/docs/src/content/docs/en/learn/creating_a_collection_flow
  • websites/docs/src/content/docs/en/learn/customizing_case_management_workflows.md
  • websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md
  • websites/docs/src/content/docs/en/learn/making_a_rule_affect_a_workflow_state.md
  • websites/docs/src/content/docs/en/learn/overview_of_case_management.md
  • websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md
Additional context used
LanguageTool
websites/docs/src/content/docs/en/getting_started/system_overview.md

[style] ~21-~21: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)


[uncategorized] ~34-~34: “you” seems less likely than “your” (belonging to you).
Context: ... collect information and documents from you end users, using customizable, white-la...

(AI_HYDRA_LEO_CP_YOU_YOUR)


[style] ~34-~34: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)


[uncategorized] ~60-~60: This verb does not appear to agree with the subject. Consider using a different form.
Context: ..._configuring_a_rule.md) [Making a rule affect a workflow state](websites/docs/src/con...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[grammar] ~84-~84: This phrase is duplicated. You should probably use “Child Workflows” only once.
Context: ...a 3rd Party check to a workflow]() ## Child Workflows Child workflows allow for the generation and activation...

(PHRASE_REPETITION)


[duplication] ~100-~100: Possible typo: you repeated a word
Context: ...ing_a_plugin_to_your_workflow.md) ## Webhooks Webhooks in Ballerine allow for real-time commun...

(ENGLISH_WORD_REPEAT_RULE)

Markdownlint
websites/docs/src/content/docs/en/getting_started/system_overview.md

13-13: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


24-24: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


37-37: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


54-54: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


80-80: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


87-87: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


95-95: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


103-103: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


82-82: null
No empty links

(MD042, no-empty-links)

Additional comments not posted (11)
websites/docs/src/content/docs/en/getting_started/system_overview.md (11)

1-10: LGTM!

The "System Overview" section is clear and concise.


13-13: Fix heading level.

Expected: h2; Actual: h3. Heading levels should only increment by one level at a time.

- ### Example flow using Ballerine's modules
+ ## Example flow using Ballerine's modules
Tools
Markdownlint

13-13: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


34-34: Fix grammatical error.

"you end users" should be "your end users".

- collect information and documents from you end users, using customizable, white-label digital forms.
+ collect information and documents from your end users, using customizable, white-label digital forms.
Tools
LanguageTool

[uncategorized] ~34-~34: “you” seems less likely than “your” (belonging to you).
Context: ... collect information and documents from you end users, using customizable, white-la...

(AI_HYDRA_LEO_CP_YOU_YOUR)


[style] ~34-~34: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)


39-43: Fix empty links.

Empty links should be populated with the correct URLs or removed.

- [Creating a collection flow](websites/docs/src/content/docs/en/learn/creating_a_collection_flow)
- [Configuring a collection flow](websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md)
- [Changing the collection flow design](websites/docs/src/content/docs/en/learn/changing the_collection_flow_design.md)
+ [Creating a collection flow](URL)
+ [Configuring a collection flow](URL)
+ [Changing the collection flow design](URL)

51-61: LGTM!

The "Rules Engine" section is clear and concise.

Tools
LanguageTool

[uncategorized] ~60-~60: This verb does not appear to agree with the subject. Consider using a different form.
Context: ..._configuring_a_rule.md) [Making a rule affect a workflow state](websites/docs/src/con...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

Markdownlint

54-54: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


62-62: Fix typo in heading.

"Managment" should be "Management".

- ## Case Managment
+ ## Case Management

76-83: LGTM!

The "Unified API" section is clear and concise.

Tools
Markdownlint

80-80: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


82-82: null
No empty links

(MD042, no-empty-links)


84-84: Fix duplicated phrase.

"Child Workflows" is repeated. Use it only once.

- ## Child Workflows
- Child workflows allow for the generation and activation of extra side workflows (for example: generating multiple KYC flows for the UBOs provided mid-flow, or an extra KYB process for a parent company) and enable complex, nested processes within the main workflows.
+ ## Child Workflows
+ Child workflows allow for the generation and activation of extra side workflows (for example: generating multiple KYC flows for the UBOs provided mid-flow, or an extra KYB process for a parent company) and enable complex, nested processes within the main workflows.
Tools
LanguageTool

[grammar] ~84-~84: This phrase is duplicated. You should probably use “Child Workflows” only once.
Context: ...a 3rd Party check to a workflow]() ## Child Workflows Child workflows allow for the generation and activation...

(PHRASE_REPETITION)


93-93: Fix grammatical error.

"This verb does not appear to agree with the subject."

- Ballerine's plugins enables deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.
+ Ballerine's plugins enable deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.

97-97: Fix empty link.

Empty link should be populated with the correct URL or removed.

- [Adding a plugin to your workflow](websites/docs/src/content/docs/en/learn/adding_a_plugin_to_your_workflow.md)
+ [Adding a plugin to your workflow](URL)

105-105: Fix empty link.

Empty link should be populated with the correct URL or removed.

- [How to use webhooks](websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md)
+ [How to use webhooks](URL)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 49137b7 and d4f8923.

Files selected for processing (1)
  • websites/docs/src/content/docs/en/learn/calculating_risk_scores.md (1 hunks)
Additional context used
Markdownlint
websites/docs/src/content/docs/en/learn/calculating_risk_scores.md

4-4: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

Additional comments not posted (5)
websites/docs/src/content/docs/en/learn/calculating_risk_scores.md (5)

1-2: LGTM!

The introduction is clear and provides a good overview of the purpose of the document.


4-22: LGTM!

The example configuration is well-formatted and easy to understand.

Tools
Markdownlint

4-4: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


24-35: LGTM!

The explanations for each field in the example configuration are clear and detailed.


37-39: LGTM!

The images are relevant and add value to the documentation.


41-41: LGTM!

The video link is relevant and provides additional context.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Outside diff range, codebase verification and nitpick comments (2)
websites/docs/src/content/docs/en/getting_started/system_overview.md (2)

4-4: Improve sentence structure for clarity.

Consider rephrasing for better readability.

- Ballerine is a risk management platform for performing all types of risk flows and processes.
+ Ballerine is a risk management platform designed to handle various types of risk flows and processes.

21-21: Fix wordiness.

The phrase "made out of" is wordy. Consider using "composed of" instead.

- made out of Ballerine's different modules.
+ composed of Ballerine's different modules.
Tools
LanguageTool

[style] ~21-~21: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between d4f8923 and e131e8d.

Files selected for processing (3)
  • websites/docs/astro.config.mjs (3 hunks)
  • websites/docs/src/content/docs/en/getting_started/introduction.md (2 hunks)
  • websites/docs/src/content/docs/en/getting_started/system_overview.md (1 hunks)
Files skipped from review due to trivial changes (1)
  • websites/docs/src/content/docs/en/getting_started/introduction.md
Additional context used
LanguageTool
websites/docs/src/content/docs/en/getting_started/system_overview.md

[style] ~21-~21: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)


[style] ~36-~36: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)


[uncategorized] ~58-~58: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...about the rule engine** [Making a rule affect a workflow state](websites/docs/src/con...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[grammar] ~84-~84: This phrase is duplicated. You should probably use “Child Workflows” only once.
Context: ...a 3rd Party check to a workflow]() ## Child Workflows Child workflows allow for the generation and activation...

(PHRASE_REPETITION)


[uncategorized] ~93-~93: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...ow.md) ## Plugins Ballerine's plugins enables deep integration with your existing sys...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[duplication] ~100-~100: Possible typo: you repeated a word
Context: ...ontent/docs/en/learn/plugins.mdx) ## Webhooks Webhooks in Ballerine allow for real-time commun...

(ENGLISH_WORD_REPEAT_RULE)

Markdownlint
websites/docs/src/content/docs/en/getting_started/system_overview.md

13-13: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


24-24: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


39-39: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


56-56: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


80-80: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


87-87: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


95-95: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


103-103: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


82-82: null
No empty links

(MD042, no-empty-links)

Additional comments not posted (9)
websites/docs/src/content/docs/en/getting_started/system_overview.md (3)

53-61: LGTM!

The section is well-written and clear.

Tools
LanguageTool

[uncategorized] ~58-~58: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...about the rule engine** [Making a rule affect a workflow state](websites/docs/src/con...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

Markdownlint

56-56: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


62-62: Fix typo in heading.

"Managment" should be "Management".

- ## Case Managment
+ ## Case Management

Likely invalid or redundant comment.


67-72: Fix empty links.

Empty links should be populated with the correct URLs or removed.

- [Overview of case management]()
- [Using the case management dashboard]()
- [Add and Customize Workflows in the Case Management]()
+ [Overview of case management](URL)
+ [Using the case management dashboard](URL)
+ [Add and Customize Workflows in the Case Management](URL)

Likely invalid or redundant comment.

websites/docs/astro.config.mjs (6)

38-41: LGTM!

The addition of the "System Overview" link is appropriate and aligns with the PR objectives.


71-87: LGTM!

The renaming of "Guides" to "Workflows" is appropriate and aligns with the new focus on workflows.


92-112: LGTM!

The renaming of "Workflows" to "Collection Flows" is appropriate and aligns with the new focus on collection flows.


117-128: LGTM!

The renaming of "KYB Collection Flow" to "Rule Engine" is appropriate and aligns with the new focus on the rule engine.


156-163: LGTM!

The renaming of "Case Management" to "Plugins" is appropriate and aligns with the new focus on plugins.


282-309: LGTM!

The addition of the "Examples" section is appropriate and provides useful examples for users.

- **Manually review documents** using the case management.
- Etc.

### Example flow using Ballerine's modules
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix heading level.

Expected: h2; Actual: h3. Heading levels should only increment by one level at a time.

- ### Example flow using Ballerine's modules
+ ## Example flow using Ballerine's modules
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Example flow using Ballerine's modules
## Example flow using Ballerine's modules
Tools
Markdownlint

13-13: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


[Adding a 3rd Party check to a workflow]()

## Child Workflows
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix duplicated phrase.

"Child Workflows" is repeated. Use it only once.

- ## Child Workflows
- Child workflows allow for the generation and activation of extra side workflows (for example: generating multiple KYC flows for the UBOs provided mid-flow, or an extra KYB process for a parent company) and enable complex, nested processes within the main workflows.
+ ## Child Workflows
+ Child workflows allow for the generation and activation of extra side workflows (for example: generating multiple KYC flows for the UBOs provided mid-flow, or an extra KYB process for a parent company) and enable complex, nested processes within the main workflows.

Committable suggestion was skipped due to low confidence.

Tools
LanguageTool

[grammar] ~84-~84: This phrase is duplicated. You should probably use “Child Workflows” only once.
Context: ...a 3rd Party check to a workflow]() ## Child Workflows Child workflows allow for the generation and activation...

(PHRASE_REPETITION)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Outside diff range, codebase verification and nitpick comments (10)
websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md (1)

10-10: Avoid using bare URLs.

Bare URLs should be avoided in markdown files. Use a proper link format instead.

- To add a 3rd party check using Ballerine's unified API, please contact Ballerine at sales@ballerine.com.
+ To add a 3rd party check using Ballerine's unified API, please contact Ballerine at [sales@ballerine.com](mailto:sales@ballerine.com).
Tools
Markdownlint

10-10: null
Bare URL used

(MD034, no-bare-urls)

websites/docs/src/content/docs/en/getting_started/system_overview.md (9)

25-27: Fix wordiness.

The phrase "made out of" is wordy. Consider using "composed of" instead.

- made out of Ballerine's different modules.
+ composed of Ballerine's different modules.
Tools
LanguageTool

[style] ~27-~27: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)


30-30: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about workflows**
+ ### Learn more about workflows
Tools
Markdownlint

30-30: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


45-45: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about collection flows**
+ ### Learn more about collection flows
Tools
Markdownlint

45-45: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


62-62: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about the rule engine**
+ ### Learn more about the rule engine
Tools
Markdownlint

62-62: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


71-71: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about case management**
+ ### Learn more about case management
Tools
Markdownlint

71-71: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


86-86: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about the unified API**
+ ### Learn more about the unified API
Tools
Markdownlint

86-86: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


93-93: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about child workflows**
+ ### Learn more about child workflows
Tools
Markdownlint

93-93: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


101-101: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about plugins**
+ ### Learn more about plugins
Tools
Markdownlint

101-101: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


109-109: Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about webhooks**
+ ### Learn more about webhooks
Tools
Markdownlint

109-109: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between e131e8d and 4726c0c.

Files selected for processing (5)
  • services/workflows-service/prisma/data-migrations (1 hunks)
  • websites/docs/.astro/types.d.ts (1 hunks)
  • websites/docs/astro.config.mjs (3 hunks)
  • websites/docs/src/content/docs/en/getting_started/system_overview.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md (1 hunks)
Files skipped from review due to trivial changes (1)
  • websites/docs/.astro/types.d.ts
Files skipped from review as they are similar to previous changes (1)
  • websites/docs/astro.config.mjs
Additional context used
Markdownlint
websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md

10-10: null
Bare URL used

(MD034, no-bare-urls)

websites/docs/src/content/docs/en/getting_started/system_overview.md

19-19: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


30-30: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


45-45: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


62-62: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


71-71: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


86-86: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


93-93: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


101-101: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


109-109: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


88-88: null
No empty links

(MD042, no-empty-links)

LanguageTool
websites/docs/src/content/docs/en/getting_started/system_overview.md

[style] ~27-~27: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)


[style] ~42-~42: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)


[grammar] ~90-~90: This phrase is duplicated. You should probably use “Child Workflows” only once.
Context: ...a 3rd Party check to a workflow]() ## Child Workflows Child workflows allow for the generation and activation...

(PHRASE_REPETITION)


[duplication] ~106-~106: Possible typo: you repeated a word
Context: ...ontent/docs/en/learn/plugins.mdx) ## Webhooks Webhooks in Ballerine allow for real-time commun...

(ENGLISH_WORD_REPEAT_RULE)

Additional comments not posted (3)
services/workflows-service/prisma/data-migrations (1)

1-1: Subproject commit reference updated.

Ensure to verify the updates in the subproject for any potential impacts.

websites/docs/src/content/docs/en/getting_started/system_overview.md (2)

68-68: Fix typo in heading.

"Managment" should be "Management".

- ## Case Managment
+ ## Case Management

Likely invalid or redundant comment.


106-106: Fix duplicated phrase.

"Webhooks" is repeated. Use it only once.

- ## Webhooks
- Webhooks in Ballerine allow for real-time communication and integration with external systems. They enable the system to send automated messages or information to other systems as events occur within Ballerine.
+ ## Webhooks
+ Webhooks in Ballerine allow for real-time communication and integration with external systems. They enable the system to send automated messages or information to other systems as events occur within Ballerine.

Likely invalid or redundant comment.

Tools
LanguageTool

[duplication] ~106-~106: Possible typo: you repeated a word
Context: ...ontent/docs/en/learn/plugins.mdx) ## Webhooks Webhooks in Ballerine allow for real-time commun...

(ENGLISH_WORD_REPEAT_RULE)

@@ -0,0 +1,112 @@
---
title: System Overview
description: dsadasds
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix description typo.

The description appears to be a placeholder text and should be updated with a meaningful description.

- description: dsadasds
+ description: This document provides an overview of the Ballerine system, including its modules and functionalities.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
description: dsadasds
description: This document provides an overview of the Ballerine system, including its modules and functionalities.


## Plugins

Ballerine's plugins enables deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix grammatical error.

"Ballerine's plugins enables deep integration" should be "Ballerine's plugins enable deep integration".

- Ballerine's plugins enables deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.
+ Ballerine's plugins enable deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Ballerine's plugins enables deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.
Ballerine's plugins enable deep integration with your existing systems, allowing for functionalities such as triggering flows through your CRM, integrating with pre-existing vendors, and displaying their information within Ballerine's platform.


**Learn more about the unified API**

[Adding a 3rd Party check to a workflow]()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix empty link.

Empty link should be populated with the correct URL or removed.

- [Adding a 3rd Party check to a workflow]()
+ [Adding a 3rd Party check to a workflow](URL)
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[Adding a 3rd Party check to a workflow]()
[Adding a 3rd Party check to a workflow](URL)
Tools
Markdownlint

88-88: null
No empty links

(MD042, no-empty-links)

Comment on lines +19 to +21
### Example flow using Ballerine's modules

<img title="Example workflow" alt="Example workflow" src="https://uploads-ssl.webflow.com/62a3bad46800eb4715b2faf1/669ea9cfe853bf03be6dcbc3_Workflow%20example.png">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix heading level.

The heading level should be adjusted to increment by one level at a time.

- ### Example flow using Ballerine's modules
+ ## Example flow using Ballerine's modules
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Example flow using Ballerine's modules
<img title="Example workflow" alt="Example workflow" src="https://uploads-ssl.webflow.com/62a3bad46800eb4715b2faf1/669ea9cfe853bf03be6dcbc3_Workflow%20example.png">
## Example flow using Ballerine's modules
<img title="Example workflow" alt="Example workflow" src="https://uploads-ssl.webflow.com/62a3bad46800eb4715b2faf1/669ea9cfe853bf03be6dcbc3_Workflow%20example.png">
Tools
Markdownlint

19-19: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)



## Collection Flows
Ballerine's collection flow module enables you to collect information and documents from you end users, using customizable, white-label digital forms.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix grammatical error.

"you end users" should be "your end users".

- collect information and documents from you end users, using customizable, white-label digital forms.
+ collect information and documents from your end users, using customizable, white-label digital forms.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Ballerine's collection flow module enables you to collect information and documents from you end users, using customizable, white-label digital forms.
Ballerine's collection flow module enables you to collect information and documents from your end users, using customizable, white-label digital forms.
Tools
LanguageTool

[style] ~42-~42: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (2)
websites/docs/src/content/docs/en/learn/workflows_technology.md (2)

10-10: Fix the heading level.

The heading level should increment by one level at a time. Change the heading level from h3 to h2.

- ### Why state machines?
+ ## Why state machines?
Tools
Markdownlint

10-10: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


14-14: Correct the spelling.

The word "sub-states" should be spelled as "substates".

- Statecharts allow the definition of complex behavior using states, sub-states, and transitions between states.
+ Statecharts allow the definition of complex behavior using states, substates, and transitions between states.
Tools
LanguageTool

[misspelling] ~14-~14: This word is normally spelled as one.
Context: ...ition of complex behavior using states, sub-states, and transitions between states. It's a...

(EN_COMPOUNDS_SUB_STATES)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 4726c0c and 3c20d0d.

Files selected for processing (1)
  • websites/docs/src/content/docs/en/learn/workflows_technology.md (1 hunks)
Additional context used
LanguageTool
websites/docs/src/content/docs/en/learn/workflows_technology.md

[misspelling] ~14-~14: This word is normally spelled as one.
Context: ...ition of complex behavior using states, sub-states, and transitions between states. It's a...

(EN_COMPOUNDS_SUB_STATES)

Markdownlint
websites/docs/src/content/docs/en/learn/workflows_technology.md

10-10: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

Additional comments not posted (1)
websites/docs/src/content/docs/en/learn/workflows_technology.md (1)

1-4: LGTM!

The frontmatter metadata is correct and the introduction section provides a clear overview of the workflow technology.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Outside diff range, codebase verification and nitpick comments (5)
websites/docs/src/content/docs/en/learn/creating_a_workflow.md (1)

10-10: Fix heading level.

The heading level should be adjusted to ensure proper structure and readability.

- ### Copying a Workflow
+ ## Copying a Workflow
Tools
Markdownlint

10-10: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md (3)

8-8: Avoid using emphasis for headings.

Emphasis should not be used as a heading. Use a proper heading level instead.

- **Customizing Data Collection Flow Steps and Fields**
+ ## Customizing Data Collection Flow Steps and Fields
Tools
Markdownlint

8-8: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


12-12: Avoid using hard tabs.

Hard tabs should be replaced with spaces for consistent formatting.

- 1.	**Navigate to Workflow Definitions:**
+ 1. **Navigate to Workflow Definitions:**
- 2.	**Edit Workflow Definition:**
+ 2. **Edit Workflow Definition:**
- 3.	**Adjust UI Definition:**
+ 3. **Adjust UI Definition:**

Also applies to: 15-15, 18-18

Tools
Markdownlint

12-12: Column: 3
Hard tabs

(MD010, no-hard-tabs)


21-21: Correct the heading level.

Heading levels should only increment by one level at a time.

- ### Example of Adding MCC Components
+ ## Example of Adding MCC Components
Tools
Markdownlint

21-21: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

websites/docs/src/content/docs/en/learn/adding_or_configuring_a_rule.md (1)

10-10: Specify the language for the fenced code block.

Fenced code blocks should have a language specified for proper syntax highlighting.

- ```
+ ```json
Tools
Markdownlint

10-10: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 3c20d0d and 51f4515.

Files selected for processing (9)
  • websites/docs/src/content/docs/en/learn/adding_or_configuring_a_rule.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/calculating_risk_scores.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/configuring_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/creating_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/invoking_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md (1 hunks)
Files skipped from review due to trivial changes (1)
  • websites/docs/src/content/docs/en/learn/configuring_a_workflow.md
Additional context used
Markdownlint
websites/docs/src/content/docs/en/learn/creating_a_workflow.md

10-10: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md

21-21: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


12-12: Column: 3
Hard tabs

(MD010, no-hard-tabs)


15-15: Column: 3
Hard tabs

(MD010, no-hard-tabs)


18-18: Column: 3
Hard tabs

(MD010, no-hard-tabs)


8-8: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

websites/docs/src/content/docs/en/learn/adding_or_configuring_a_rule.md

10-10: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

websites/docs/src/content/docs/en/learn/calculating_risk_scores.md

9-9: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)

websites/docs/src/content/docs/en/learn/invoking_a_workflow.md

9-9: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


13-13: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


21-21: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)


50-50: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md

8-8: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


74-74: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md

44-44: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


45-45: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


48-48: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


49-49: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


50-50: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


51-51: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


52-52: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


55-55: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


56-56: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


59-59: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


60-60: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


63-63: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


64-64: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


67-67: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


68-68: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


69-69: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


70-70: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


71-71: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


72-72: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


73-73: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


76-76: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


77-77: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


80-80: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


81-81: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


84-84: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


85-85: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


88-88: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


89-89: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


92-92: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


93-93: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


96-96: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


97-97: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


100-100: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


101-101: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


102-102: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


105-105: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


106-106: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


113-113: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


116-116: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md

85-85: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


86-86: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


77-77: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


78-78: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


79-79: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


80-80: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


78-78: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


80-80: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)

LanguageTool
websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md

[uncategorized] ~58-~58: Loose punctuation mark.
Context: ...le to be applied. - in: Checks if the value of `entity.data.add...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...rray ["0742"]. - var: Retrieves the value from the workflow c...

(UNLIKELY_OPENING_PUNCTUATION)

websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md

[style] ~10-~10: Consider removing “of” to be more concise
Context: ...se, a webhook can be sent that includes all of the case's data (data from the collection f...

(ALL_OF_THE)

websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md

[uncategorized] ~28-~28: Loose punctuation mark.
Context: ...ontain includes: - User Provided Data: Information directly supplied by the us...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~29-~29: Loose punctuation mark.
Context: ...tion process. - Registry Provided Data: Enhanced data sourced from third-party ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~30-~30: Loose punctuation mark.
Context: ...party providers. - Child Workflow Data: This includes both user-provided and en...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~34-~34: The usual preposition to use with “corner” is “in”, not “on”. Did you mean “in the top right corner”?
Context: ...individuals) ### Case actions Located on the top right corner of a case are the case action buttons. ...

(ON_IN_THE_CORNER)


[style] ~62-~62: Consider removing “of” to be more concise
Context: ... | | Manual review | All of the information has been collected and the ...

(ALL_OF_THE)


[uncategorized] ~62-~62: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...ll of the information has been collected and the case is ready to be manually review...

(COMMA_COMPOUND_SENTENCE_2)


[uncategorized] ~85-~85: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...s cannot be accepted the way it was sent and new documents should be provided. once ...

(COMMA_COMPOUND_SENTENCE_2)


[style] ~85-~85: Consider using “email”.
Context: ...nd initiate a re-upload flow. This will send an email to the user, with a link that redirects to...

(SEND_AN_EMAIL)


[style] ~87-~87: Consider using “email”.
Context: ...es have been problematic. this will send an email to the UBO, with a link to a new KYC flow....

(SEND_AN_EMAIL)

Additional comments not posted (26)
websites/docs/src/content/docs/en/learn/calculating_risk_scores.md (4)

1-7: LGTM!

The front matter and introduction are correctly formatted and appropriate.


29-40: LGTM!

The explanation section is clear, detailed, and well-structured.


42-46: LGTM!

The images are correctly formatted and appropriately placed.


46-46: LGTM!

The conclusion and the link to the video demonstration are appropriate.

websites/docs/src/content/docs/en/learn/invoking_a_workflow.md (2)

78-78: LGTM!

The explanation section is clear, detailed, and well-structured.


82-92: LGTM!

The Case Management invocation section is clear, detailed, and well-structured.

websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md (3)

1-7: LGTM!

The front matter and introduction are correctly formatted and appropriate.


8-10: LGTM!

The transition rules section is clear, detailed, and well-structured.

Tools
Markdownlint

8-8: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


50-65: LGTM!

The explanation section is clear, detailed, and well-structured.

Tools
LanguageTool

[uncategorized] ~58-~58: Loose punctuation mark.
Context: ...le to be applied. - in: Checks if the value of `entity.data.add...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~59-~59: Loose punctuation mark.
Context: ...rray ["0742"]. - var: Retrieves the value from the workflow c...

(UNLIKELY_OPENING_PUNCTUATION)

websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (6)

10-10: Consider removing “of” to be more concise.

The phrase "all of the case's data" can be simplified to "all the case's data" for better readability.
[style]

- all of the case's data
+ all the case's data
Tools
LanguageTool

[style] ~10-~10: Consider removing “of” to be more concise
Context: ...se, a webhook can be sent that includes all of the case's data (data from the collection f...

(ALL_OF_THE)


14-37: LGTM!

The JSON structure of the webhook event is clear and well-formatted.


42-106: LGTM!

The properties of the webhook event are well-documented. The indentation issues have been addressed in previous comments.

Tools
Markdownlint

44-44: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


45-45: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


48-48: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


49-49: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


50-50: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


51-51: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


52-52: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


55-55: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


56-56: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


59-59: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


60-60: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


63-63: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


64-64: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


67-67: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


68-68: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


69-69: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


70-70: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


71-71: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


72-72: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


73-73: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


76-76: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


77-77: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


80-80: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


81-81: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


84-84: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


85-85: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


88-88: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


89-89: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


92-92: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


93-93: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


96-96: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


97-97: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


100-100: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


101-101: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


102-102: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


105-105: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


106-106: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


109-116: LGTM!

The example use cases for webhook events are clear and well-explained.

Tools
Markdownlint

113-113: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


116-116: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


118-124: LGTM!

The guidelines for handling incoming webhooks are clear and well-structured.


126-130: LGTM!

The security recommendations for handling webhooks are clear and appropriate.

websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md (11)

12-12: Consider rephrasing for clarity.

The phrase "On the left side of the screen is a sidebar featuring various Views, or as we call them, filters." can be simplified for better readability.
[style]

- On the left side of the screen is a sidebar featuring various Views, or as we call them, filters.
+ On the left side of the screen is a sidebar featuring various views, also known as filters.

14-14: Consider rephrasing for clarity.

The phrase "to the case list" can be simplified for better readability.
[style]

- to the case list.
+ in the case list.

16-16: Consider rephrasing for clarity.

The phrase "segmenting your case lists based on different workflows you provide to users" can be simplified for better readability.
[style]

- segmenting your case lists based on different workflows you provide to users
+ segmenting your case lists based on different workflows

18-23: LGTM!

The description of the case list and its functionality is clear.


28-30: Fix loose punctuation marks.

The punctuation marks in the list items are inconsistent. Ensure all list items are properly punctuated.
[style]

- - `User Provided Data`: Information directly supplied by the user during the collection process.
- - `Registry Provided Data`: Enhanced data sourced from third-party providers.
- - `Child Workflow Data`: This includes both user-provided and enriched data, typically concerning an entity that is in relation to the main entity (e.g. UBOs data that comes from various individuals)
+ - `User Provided Data`: Information directly supplied by the user during the collection process.
+ - `Registry Provided Data`: Enhanced data sourced from third-party providers.
+ - `Child Workflow Data`: This includes both user-provided and enriched data, typically concerning an entity that is in relation to the main entity (e.g., UBOs data that comes from various individuals).
Tools
LanguageTool

[uncategorized] ~28-~28: Loose punctuation mark.
Context: ...ontain includes: - User Provided Data: Information directly supplied by the us...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~29-~29: Loose punctuation mark.
Context: ...tion process. - Registry Provided Data: Enhanced data sourced from third-party ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~30-~30: Loose punctuation mark.
Context: ...party providers. - Child Workflow Data: This includes both user-provided and en...

(UNLIKELY_OPENING_PUNCTUATION)


34-34: Use “in” instead of “on” for better readability.

The usual preposition to use with “corner” is “in”, not “on”.
[grammar]

- Located on the top right corner of a case are the case action buttons.
+ Located in the top right corner of a case are the case action buttons.
Tools
LanguageTool

[grammar] ~34-~34: The usual preposition to use with “corner” is “in”, not “on”. Did you mean “in the top right corner”?
Context: ...individuals) ### Case actions Located on the top right corner of a case are the case action buttons. ...

(ON_IN_THE_CORNER)


38-38: Fix unordered list indentation.

The indentation of the unordered list items is inconsistent. Ensure all list items are properly indented.
[style]

- - `Ask for all re-uploads` - Request users to provide documents or data, that was marked throughout the case, by the agent as problematic, again for verification.
+ - `Ask for all re-uploads` - Request users to provide documents or data, that was marked throughout the case by the agent as problematic, again for verification.

62-62: Consider removing “of” to be more concise.

The phrase "all of the information" can be simplified to "all the information" for better readability.
[style]

- All of the information has been collected and the case is ready to be manually reviewed.
+ All the information has been collected and the case is ready to be manually reviewed.
Tools
LanguageTool

[style] ~62-~62: Consider removing “of” to be more concise
Context: ... | | Manual review | All of the information has been collected and the ...

(ALL_OF_THE)


[uncategorized] ~62-~62: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...ll of the information has been collected and the case is ready to be manually review...

(COMMA_COMPOUND_SENTENCE_2)


72-80: Fix table formatting and punctuation.

The table formatting and punctuation are inconsistent. Ensure the table columns are properly aligned and punctuated.
[style]

- | Block type | Read/Write (can an agent edit the information) | Actions |
- | --- | --- | --- |
- | User provided data block | Read/Write | None |
- | Registry-provided data block | Read | None |
- | Enriched data block (currently not used) | Read | None |
- | Document block | Read/Write | approve
- Ask to re-upload |
- | KYC block (AKA - Child Workflow) | Read/Write | approve
- Ask to re-upload |
+ | Block type | Read/Write (can an agent edit the information) | Actions |
+ | --- | --- | --- |
+ | User provided data block | Read/Write | None |
+ | Registry-provided data block | Read | None |
+ | Enriched data block (currently not used) | Read | None |
+ | Document block | Read/Write | approve, ask to re-upload |
+ | KYC block (AKA - Child Workflow) | Read/Write | approve, ask to re-upload |
Tools
Markdownlint

77-77: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


78-78: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


79-79: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


80-80: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


78-78: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


80-80: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


84-87: Fix punctuation and indentation issues.

The punctuation and indentation of the list items are inconsistent. Ensure all list items are properly punctuated and indented.
[style]

- - `Ask to re-upload` - An agent can click the “ask to re-upload” button to:
-    - **mark** that one or more documents cannot be accepted the way it was sent and new documents should be provided. once the problematic documents have been marked, the agent can click the `Ask for all re-uploads` action on the top of the case, and initiate a re-upload flow. This will send an email to the user, with a link that redirects to a flow in which they can re-upload the problematic document.
-    - Instantly initiate a re-upload flow to UBOs whose KYC processes have been problematic.
-    this will send an email to the UBO, with a link to a new KYC flow.
+ - `Ask to re-upload` - An agent can click the “ask to re-upload” button to:
+   - **mark** that one or more documents cannot be accepted the way it was sent, and new documents should be provided. Once the problematic documents have been marked, the agent can click the `Ask for all re-uploads` action on the top of the case and initiate a re-upload flow. This will send an email to the user, with a link that redirects to a flow in which they can re-upload the problematic document.
+   - Instantly initiate a re-upload flow to UBOs whose KYC processes have been problematic. This will send an email to the UBO, with a link to a new KYC flow.
Tools
LanguageTool

[uncategorized] ~85-~85: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...s cannot be accepted the way it was sent and new documents should be provided. once ...

(COMMA_COMPOUND_SENTENCE_2)


[style] ~85-~85: Consider using “email”.
Context: ...nd initiate a re-upload flow. This will send an email to the user, with a link that redirects to...

(SEND_AN_EMAIL)


[style] ~87-~87: Consider using “email”.
Context: ...es have been problematic. this will send an email to the UBO, with a link to a new KYC flow....

(SEND_AN_EMAIL)

Markdownlint

85-85: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


86-86: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


91-99: LGTM!

The description of the block status is clear and well-structured.

Comment on lines +13 to +27
```json
{
"name": "risk_evaluation",
"pluginKind": "riskRules",
"stateNames": [
"manual_review",
"calculate_risk"
],
"rulesSource": {
"source": "notion",
"databaseId": "ef017053c5fc418383ff3489d8f3e02b"
}
}

```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specify language for the code block.

The JSON code block should have a language specified for better readability.

- ```
+ ```json

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines 13 to 15
```
POST /api/v1/external/workflows/run
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specify language for the code block.

The HTTP code block should have a language specified for better readability.

- ```
+ ```http

<details>
<summary>Tools</summary>

<details>
<summary>Markdownlint</summary><blockquote>

13-13: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines 21 to 44
```
{
"workflowId": "till_basic_kyb_demo",
"context": {
"entity": {
"type": "business",
"id": "my-enduser-id111",
"data": {
"country": "US",
"registrationNumber": "756OPOPOP08238",
"companyName": "TILL COMPANY LIMITED",
"additionalInfo": {
"mainRepresentative": {
"email": "email@ballerine.com",
"lastName": "Last",
"firstName": "First"
}
}
}
},
"documents": []
}
}
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specify language for the code block.

The JSON code block should have a language specified for better readability.

- ```
+ ```json

<details>
<summary>Tools</summary>

<details>
<summary>Markdownlint</summary><blockquote>

21-21: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines 50 to 76
```
curl -X POST "<//api/v1/external/workflows/run>" \\
-H "Content-Type: application/json" \\
-d '{
"workflowId": "till_basic_kyb_demo",
"context": {
"entity": {
"type": "business",
"id": "my-enduser-id111",
"data": {
"country": "US",
"registrationNumber": "756OPOPOP08238",
"companyName": "TILL COMPANY LIMITED",
"additionalInfo": {
"mainRepresentative": {
"email": "email@ballerine.com",
"lastName": "Last",
"firstName": "First"
}
}
}
},
"documents": []
}
}'

```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specify language for the code block.

The bash code block should have a language specified for better readability.

- ```
+ ```bash

<details>
<summary>Tools</summary>

<details>
<summary>Markdownlint</summary><blockquote>

50-50: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines 1 to 7
---
title: Invoking a Workflow
description: Instructions on how to invoke a workflow using the API or through the Case Management application.
---

# Invoking a Workflow
nvoking a runtime instance of a workflow definition can be done either via the API or from the Case Management application. Once a workflow is invoked, it starts running from its initial state.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix typo in the introduction.

"nvoking" should be "Invoking".

- nvoking a runtime instance of a workflow definition can be done either via the API or from the Case Management application.
+ Invoking a runtime instance of a workflow definition can be done either via the API or from the Case Management application.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: Invoking a Workflow
description: Instructions on how to invoke a workflow using the API or through the Case Management application.
---
# Invoking a Workflow
nvoking a runtime instance of a workflow definition can be done either via the API or from the Case Management application. Once a workflow is invoked, it starts running from its initial state.
---
title: Invoking a Workflow
description: Instructions on how to invoke a workflow using the API or through the Case Management application.
---
# Invoking a Workflow
Invoking a runtime instance of a workflow definition can be done either via the API or from the Case Management application. Once a workflow is invoked, it starts running from its initial state.

Comment on lines +16 to +47
```json
"collection_flow": {
"on": {
"COLLECTION_FLOW_FINISHED": [
{
"cond": {
"type": "json-logic",
"options": {
"rule": {
"in": [
{
"var": "entity.data.additionalInfo.store.mcc"
},
[
"0742"
]
]
}
}
},
"target": "rejected"
},
{
"target": "get_vendor_data"
}
]
},
"tags": [
"collection_flow"
]
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specify language for the code block.

The JSON code block should have a language specified for better readability.

- ```
+ ```json

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines 74 to 117
```
"collection_flow": {
"on": {
"COLLECTION_FLOW_FINISHED": [
{
"cond": {
"type": "json-logic",
"options": {
"rule": {
"and": [
{
"in": [
{
"var": "entity.data.additionalInfo.store.mcc"
},
[
"0742"
]
]
},
{
"==": [
{
"var": "entity.data.country"
},
"US"
]
}
]
}
}
},
"target": "rejected"
},
{
"target": "get_vendor_data"
}
]
},
"tags": [
"collection_flow"
]
}
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specify language for the code block.

The JSON code block should have a language specified for better readability.

- ```
+ ```json

<details>
<summary>Tools</summary>

<details>
<summary>Markdownlint</summary><blockquote>

74-74: null
Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit -->

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Outside diff range, codebase verification and nitpick comments (14)
websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md (3)

10-46: Specify language for the code block.

The JSON code block should have a language specified for better readability.

- ```
+ ```json

48-60: Fix punctuation issues.

There are minor punctuation issues in the explanation section.

- **`in`**: Checks if the value of `entity.data.additionalInfo.store.mcc` is in the array `["0742"]`.
+ **`in`**: Checks if the value of `entity.data.additionalInfo.store.mcc` is in the array `["0742"]`.
- **`var`**: Retrieves the value from the workflow context, in this case, the MCC code.
+ **`var`**: Retrieves the value from the workflow context, in this case, the MCC code.
Tools
LanguageTool

[uncategorized] ~56-~56: Loose punctuation mark.
Context: ...le to be applied. - in: Checks if the value of `entity.data.add...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~57-~57: Loose punctuation mark.
Context: ...rray ["0742"]. - var: Retrieves the value from the workflow c...

(UNLIKELY_OPENING_PUNCTUATION)


68-115: Specify language for the code block.

The JSON code block should have a language specified for better readability.

- ```
+ ```json
websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (1)

10-35: Specify language for the code block.

The JSON code block should have a language specified for better readability.

- ```
+ ```json
websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md (5)

8-14: Minor grammatical fix needed.

The explanation of filters is clear, but there is a minor issue with punctuation.

- For instance, clicking on a view labeled “Onboarding” will load the cases in your onboarding workflow, to the case list.
+ For instance, clicking on a view labeled “Onboarding” will load the cases in your onboarding workflow to the case list.

22-28: Fix punctuation for better readability.

There are minor grammatical issues with punctuation in the list of data types.

- The data it can contain includes:
- - `User Provided Data`: Information directly supplied by the user during the collection process.
- - `Registry Provided Data`: Enhanced data sourced from third-party providers.
- - `Child Workflow Data`: This includes both user-provided and enriched data, typically concerning an entity that is in relation to the main entity (e.g. UBOs data that comes from various individuals)
+ The data it can contain includes:
+ - `User Provided Data` - Information directly supplied by the user during the collection process.
+ - `Registry Provided Data` - Enhanced data sourced from third-party providers.
+ - `Child Workflow Data` - This includes both user-provided and enriched data, typically concerning an entity that is in relation to the main entity (e.g., UBOs data that comes from various individuals).
Tools
LanguageTool

[uncategorized] ~26-~26: Loose punctuation mark.
Context: ...ontain includes: - User Provided Data: Information directly supplied by the us...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~27-~27: Loose punctuation mark.
Context: ...tion process. - Registry Provided Data: Enhanced data sourced from third-party ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~28-~28: Loose punctuation mark.
Context: ...party providers. - Child Workflow Data: This includes both user-provided and en...

(UNLIKELY_OPENING_PUNCTUATION)


30-44: Fix preposition usage for better readability.

There is a minor grammatical issue with preposition usage in the description of case action buttons.

- Located on the top right corner of a case are the case action buttons.
+ Located in the top right corner of a case are the case action buttons.
Tools
LanguageTool

[grammar] ~32-~32: The usual preposition to use with “corner” is “in”, not “on”. Did you mean “in the top right corner”?
Context: ...individuals) ### Case actions Located on the top right corner of a case are the case action buttons. ...

(ON_IN_THE_CORNER)


45-64: Fix verb form and tense for better readability.

There are minor grammatical issues with verb form and tense in the description of case statuses.

- The collection flow has been completed, but there are processes that are still taking place for the information of the case to be complete. The available information can already be reviewed, but approval can only be done once the processes conclude.
+ The collection flow has been completed, but there are processes that are still taking place for the information of the case to be completed. The available information can already be reviewed, but approval can only be done once the processes have concluded.
Tools
LanguageTool

[uncategorized] ~58-~58: This verb may not be in the correct form. Consider using a different form for this context.
Context: ...e for the information of the case to be complete. The available information can already ...

(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)


[uncategorized] ~58-~58: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...val can only be done once the processes conclude. | Reject
Ask for all re-uploads ...

(AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)


[style] ~60-~60: Consider removing “of” to be more concise
Context: ... | | Manual review | All of the information has been collected and the ...

(ALL_OF_THE)


[uncategorized] ~60-~60: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...ll of the information has been collected and the case is ready to be manually review...

(COMMA_COMPOUND_SENTENCE_2)


66-97: Fix table formatting and list indentation.

There are minor issues with table formatting and list indentation in the explanation of blocks and their actions.

- | Document block | Read/Write | approve
- Ask to re-upload |
- | KYC block (AKA - Child Workflow) | Read/Write | approve
- Ask to re-upload |
+ | Document block | Read/Write | approve <br> Ask to re-upload |
+ | KYC block (AKA - Child Workflow) | Read/Write | approve <br> Ask to re-upload |

- - `Ask to re-upload` - An agent can click the “ask to re-upload” button to:
- - **mark** that one or more documents cannot be accepted the way it was sent and new documents should be provided. once the problematic documents have been marked, the agent can click the `Ask for all re-uploads` action on the top of the case, and initiate a re-upload flow. This will send an email to the user, with a link that redirects to a flow in which they can re-upload the problematic document.
- - Instantly initiate a re-upload flow to UBOs whose KYC processes have been problematic.
- this will send an email to the UBO, with a link to a new KYC flow.
+ - `Ask to re-upload` - An agent can click the “ask to re-upload” button to:
+   - **mark** that one or more documents cannot be accepted the way it was sent and new documents should be provided. Once the problematic documents have been marked, the agent can click the `Ask for all re-uploads` action on the top of the case, and initiate a re-upload flow. This will send an email to the user, with a link that redirects to a flow in which they can re-upload the problematic document.
+   - Instantly initiate a re-upload flow to UBOs whose KYC processes have been problematic. This will send an email to the UBO, with a link to a new KYC flow.
Tools
LanguageTool

[uncategorized] ~83-~83: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...s cannot be accepted the way it was sent and new documents should be provided. once ...

(COMMA_COMPOUND_SENTENCE_2)


[style] ~83-~83: Consider using “email”.
Context: ...nd initiate a re-upload flow. This will send an email to the user, with a link that redirects to...

(SEND_AN_EMAIL)


[style] ~85-~85: Consider using “email”.
Context: ...es have been problematic. this will send an email to the UBO, with a link to a new KYC flow....

(SEND_AN_EMAIL)

Markdownlint

83-83: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


84-84: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


75-75: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


76-76: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


77-77: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


78-78: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


76-76: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


78-78: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)

websites/docs/src/content/docs/en/learn/add_and_customize_workflows_in_the_case_management.md (5)

11-17: Specify language for code block.

The code block should specify the language for better readability.

- ```bash
+ ```http

21-27: Specify language for code block.

The code block should specify the language for better readability.

- ```bash
+ ```http

33-105: Specify language for code block.

The code block should specify the language for better readability.

- ```json

107-195: Fix list indentation and heading punctuation.

There are minor issues with list indentation and heading punctuation.

- > ### Example Schema:
+ > ### Example Schema

- - **Field Titles and Labels:** Customize how each field is labeled in the UI.
-     - Example: `"ui:title": "Entity ID (As represented in your system)"` sets the display title for the `id` field.
- - **Field Visibility:** Control whether a field is shown or hidden.
-     - Example: `"hidden": true` hides the `type` field.
- - **Field Order:** Specify the order in which fields should appear.
-     - Example: `"ui:order": ["email", "firstName", "lastName"]` defines the display order of the nested fields within `mainRepresentative`.
+ - **Field Titles and Labels:** Customize how each field is labeled in the UI.
+   - Example: `"ui:title": "Entity ID (As represented in your system)"` sets the display title for the `id` field.
+ - **Field Visibility:** Control whether a field is shown or hidden.
+   - Example: `"hidden": true` hides the `type` field.
+ - **Field Order:** Specify the order in which fields should appear.
+   - Example: `"ui:order": ["email", "firstName", "lastName"]` defines the display order of the nested fields within `mainRepresentative`.
Tools
Markdownlint

137-137: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


139-139: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


141-141: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


191-191: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


193-193: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


195-195: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


118-118: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


120-120: null
Multiple spaces after blockquote symbol

(MD027, no-multiple-space-blockquote)


121-121: null
Multiple spaces after blockquote symbol

(MD027, no-multiple-space-blockquote)


263-270: Fix preposition usage for better readability.

There is a minor grammatical issue with preposition usage in the description of form rendering.

- When the "Create Case" form is rendered in the Case Management application, it will display the input fields based on this schema. The data entered in these fields will then be used as the context for the workflow.
+ When the "Create Case" form is rendered in the Case Management application, it will display the input fields based on this schema. The data entered into these fields will then be used as the context for the workflow.
Tools
LanguageTool

[grammar] ~270-~270: There isn’t usually a preposition after “entered”. Did you mean “entered these fields”?
Context: ...t fields based on this schema. The data entered in these fields will then be used as the context for th...

(ENTER_IN)

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 51f4515 and ebe10e8.

Files selected for processing (20)
  • services/workflows-service/prisma/data-migrations (1 hunks)
  • websites/docs/astro.config.mjs (3 hunks)
  • websites/docs/src/content/docs/en/getting_started/system_overview.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/add_and_customize_workflows_in_the_case_management.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_a_child_workflow_to_your_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_a_plugin_to_your_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/adding_rules_step_to_the_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/calculating_risk_scores.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/case_management_overview.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/changing_the_collection_flow_design.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/configuring_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/creating_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/invoking_a_workflow.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/overview_of_case_management.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md (1 hunks)
  • websites/docs/src/content/docs/en/learn/workflows_technology.md (1 hunks)
Files skipped from review due to trivial changes (6)
  • websites/docs/src/content/docs/en/learn/adding_a_child_workflow_to_your_workflow.md
  • websites/docs/src/content/docs/en/learn/adding_a_plugin_to_your_workflow.md
  • websites/docs/src/content/docs/en/learn/configuring_a_collection_flow.md
  • websites/docs/src/content/docs/en/learn/configuring_a_workflow.md
  • websites/docs/src/content/docs/en/learn/invoking_a_workflow.md
  • websites/docs/src/content/docs/en/learn/overview_of_case_management.md
Files skipped from review as they are similar to previous changes (5)
  • services/workflows-service/prisma/data-migrations
  • websites/docs/src/content/docs/en/learn/adding_rules_step_to_the_workflow.md
  • websites/docs/src/content/docs/en/learn/calculating_risk_scores.md
  • websites/docs/src/content/docs/en/learn/changing_the_collection_flow_design.md
  • websites/docs/src/content/docs/en/learn/creating_a_workflow.md
Additional context used
Markdownlint
websites/docs/src/content/docs/en/learn/adding_a_3rd_party_check_to_a_workflow.md

7-7: null
Bare URL used

(MD034, no-bare-urls)

websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md

42-42: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


43-43: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


46-46: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


47-47: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


48-48: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


49-49: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


50-50: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


53-53: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


54-54: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


57-57: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


58-58: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


61-61: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


62-62: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


65-65: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


66-66: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


67-67: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


68-68: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


69-69: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


70-70: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


71-71: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


74-74: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


75-75: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


78-78: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


79-79: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


82-82: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


83-83: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


86-86: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


87-87: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


90-90: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


91-91: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


94-94: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


95-95: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


98-98: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


99-99: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


100-100: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


103-103: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


104-104: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


111-111: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


114-114: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

websites/docs/src/content/docs/en/getting_started/system_overview.md

27-27: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


42-42: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


57-57: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


66-66: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


81-81: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


88-88: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


96-96: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


104-104: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


83-83: null
No empty links

(MD042, no-empty-links)

websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md

83-83: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


84-84: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


75-75: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


76-76: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


77-77: Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe
Table pipe style

(MD055, table-pipe-style)


78-78: Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe
Table pipe style

(MD055, table-pipe-style)


76-76: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)


78-78: Expected: 3; Actual: 1; Too few cells, row will be missing data
Table column count

(MD056, table-column-count)

websites/docs/src/content/docs/en/learn/add_and_customize_workflows_in_the_case_management.md

137-137: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


139-139: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


141-141: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


191-191: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


193-193: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


195-195: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


118-118: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


120-120: null
Multiple spaces after blockquote symbol

(MD027, no-multiple-space-blockquote)


121-121: null
Multiple spaces after blockquote symbol

(MD027, no-multiple-space-blockquote)

LanguageTool
websites/docs/src/content/docs/en/learn/workflows_technology.md

[misspelling] ~12-~12: This word is normally spelled as one.
Context: ...ition of complex behavior using states, sub-states, and transitions between states. It's a...

(EN_COMPOUNDS_SUB_STATES)

websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md

[uncategorized] ~56-~56: Loose punctuation mark.
Context: ...le to be applied. - in: Checks if the value of `entity.data.add...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~57-~57: Loose punctuation mark.
Context: ...rray ["0742"]. - var: Retrieves the value from the workflow c...

(UNLIKELY_OPENING_PUNCTUATION)

websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md

[style] ~8-~8: Consider removing “of” to be more concise
Context: ...se, a webhook can be sent that includes all of the case's data (data from the collection f...

(ALL_OF_THE)

websites/docs/src/content/docs/en/getting_started/system_overview.md

[style] ~24-~24: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)


[uncategorized] ~39-~39: “you” seems less likely than “your” (belonging to you).
Context: ... collect information and documents from you end users, using customizable, white-la...

(AI_HYDRA_LEO_CP_YOU_YOUR)


[style] ~39-~39: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)


[grammar] ~85-~85: This phrase is duplicated. You should probably use “Child Workflows” only once.
Context: ...a 3rd Party check to a workflow]() ## Child Workflows Child workflows allow for the generation and activation...

(PHRASE_REPETITION)


[duplication] ~101-~101: Possible typo: you repeated a word
Context: ...ontent/docs/en/learn/plugins.mdx) ## Webhooks Webhooks in Ballerine allow for real-time commun...

(ENGLISH_WORD_REPEAT_RULE)

websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md

[uncategorized] ~26-~26: Loose punctuation mark.
Context: ...ontain includes: - User Provided Data: Information directly supplied by the us...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~27-~27: Loose punctuation mark.
Context: ...tion process. - Registry Provided Data: Enhanced data sourced from third-party ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~28-~28: Loose punctuation mark.
Context: ...party providers. - Child Workflow Data: This includes both user-provided and en...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~32-~32: The usual preposition to use with “corner” is “in”, not “on”. Did you mean “in the top right corner”?
Context: ...individuals) ### Case actions Located on the top right corner of a case are the case action buttons. ...

(ON_IN_THE_CORNER)


[uncategorized] ~58-~58: This verb may not be in the correct form. Consider using a different form for this context.
Context: ...e for the information of the case to be complete. The available information can already ...

(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)


[uncategorized] ~58-~58: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...val can only be done once the processes conclude. | Reject
Ask for all re-uploads ...

(AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)


[style] ~60-~60: Consider removing “of” to be more concise
Context: ... | | Manual review | All of the information has been collected and the ...

(ALL_OF_THE)


[uncategorized] ~60-~60: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...ll of the information has been collected and the case is ready to be manually review...

(COMMA_COMPOUND_SENTENCE_2)


[uncategorized] ~83-~83: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...s cannot be accepted the way it was sent and new documents should be provided. once ...

(COMMA_COMPOUND_SENTENCE_2)


[style] ~83-~83: Consider using “email”.
Context: ...nd initiate a re-upload flow. This will send an email to the user, with a link that redirects to...

(SEND_AN_EMAIL)


[style] ~85-~85: Consider using “email”.
Context: ...es have been problematic. this will send an email to the UBO, with a link to a new KYC flow....

(SEND_AN_EMAIL)

websites/docs/src/content/docs/en/learn/add_and_customize_workflows_in_the_case_management.md

[grammar] ~270-~270: There isn’t usually a preposition after “entered”. Did you mean “entered these fields”?
Context: ...t fields based on this schema. The data entered in these fields will then be used as the context for th...

(ENTER_IN)

Additional comments not posted (17)
websites/docs/src/content/docs/en/learn/case_management_overview.md (1)

9-9: Fix the typo in "management".

There is a typo in the word "management".

- The case managment can gather data from the various modules of Ballerine, such as the collection flows, 3rd party providers, rules, child workflows, plugins, and manual review agents decisions.
+ The case management can gather data from the various modules of Ballerine, such as the collection flows, 3rd party providers, rules, child workflows, plugins, and manual review agents decisions.

Likely invalid or redundant comment.

websites/docs/src/content/docs/en/learn/adding_rules_and_affect_workflows.md (3)

6-8: LGTM!

The introduction to transition rules is clear and informative.


64-66: LGTM!

The section on customizing transition rules is clear and informative.


Line range hint 116-116: LGTM!

The conclusion is clear and provides a good summary of the document.

Tools
LanguageTool

[uncategorized] ~56-~56: Loose punctuation mark.
Context: ...le to be applied. - in: Checks if the value of `entity.data.add...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~57-~57: Loose punctuation mark.
Context: ...rray ["0742"]. - var: Retrieves the value from the workflow c...

(UNLIKELY_OPENING_PUNCTUATION)

websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (4)

6-8: LGTM!

The introduction to webhook events is clear and informative.

Tools
LanguageTool

[style] ~8-~8: Consider removing “of” to be more concise
Context: ...se, a webhook can be sent that includes all of the case's data (data from the collection f...

(ALL_OF_THE)


107-115: LGTM!

The section on example use cases for webhooks is clear and informative.

Tools
Markdownlint

111-111: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


114-114: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


116-123: LGTM!

The section on handling webhooks is clear and informative.


124-128: LGTM!

The section on security recommendations for handling webhooks is clear and informative.

websites/docs/src/content/docs/en/getting_started/system_overview.md (2)

1-4: LGTM!

The introduction to the system overview is clear and informative.


16-18: Fix heading level.

The heading level should be adjusted to increment by one level at a time.

- ### Example flow using Ballerine's modules
+ ## Example flow using Ballerine's modules

Likely invalid or redundant comment.

websites/docs/src/content/docs/en/learn/using_the_case_management_dashboard.md (2)

1-7: Introduction is clear and well-structured.

The section provides a good overview of the case management dashboard and its components.


16-20: Explanation of the case list is clear.

The section provides a good overview of the case list and its functionality.

websites/docs/src/content/docs/en/learn/add_and_customize_workflows_in_the_case_management.md (1)

1-10: Introduction is clear and well-structured.

The section provides a good overview of customizing case management workflows.

websites/docs/astro.config.mjs (4)

38-40: Addition of System Overview link is consistent and improves documentation structure.

The new link for System Overview in the Getting started section is a good addition.


71-144: Changes in the Learn section are consistent and improve documentation organization.

The updates to the Learn section with new labels and links for workflows, collection flows, rule engine, and case management are well-structured and enhance the documentation.


146-151: Addition of Unified API section is consistent and improves documentation structure.

The new Unified API section with a link for adding a 3rd party check to a workflow is a good addition.


156-162: Changes in the Plugins section are consistent and improve documentation organization.

The updates to the Plugins section with new labels and links are well-structured and enhance the documentation.

---


To add a 3rd party check using Ballerine's unified API, please contact Ballerine at support@ballerine.com.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid using bare URLs.

Bare URLs should be avoided in markdown files. Use a proper link format instead.

- To add a 3rd party check using Ballerine's unified API, please contact Ballerine at support@ballerine.com.
+ To add a 3rd party check using Ballerine's unified API, please contact Ballerine at [support@ballerine.com](mailto:support@ballerine.com).
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
To add a 3rd party check using Ballerine's unified API, please contact Ballerine at support@ballerine.com.
To add a 3rd party check using Ballerine's unified API, please contact Ballerine at [support@ballerine.com](mailto:support@ballerine.com).
Tools
Markdownlint

7-7: null
Bare URL used

(MD034, no-bare-urls)


In our system, workflows are defined using a State Machine model, specifically statecharts, which is implemented using the [XState library](https://xstate.js.org/docs/). In the realm of state machines, a system can be in only one state at a time. From that state, certain actions or events can lead the system to transition to other states.

Statecharts allow the definition of complex behavior using states, sub-states, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the misspelling of "sub-states".

The word "sub-states" should be spelled as one word.

- Statecharts allow the definition of complex behavior using states, sub-states, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes.
+ Statecharts allow the definition of complex behavior using states, substates, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Statecharts allow the definition of complex behavior using states, sub-states, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes.
Statecharts allow the definition of complex behavior using states, substates, and transitions between states. It's a robust way to manage and visualize the different stages of a process and the conditions that lead to state changes.
Tools
LanguageTool

[misspelling] ~12-~12: This word is normally spelled as one.
Context: ...ition of complex behavior using states, sub-states, and transitions between states. It's a...

(EN_COMPOUNDS_SUB_STATES)

Comment on lines 40 to 104
- `id`

- **Description:** Unique identifier for the webhook event.
- **Type:** `string`
- `eventName`

- **Description:** The name of the event that triggered the webhook.
- **Type:** `string`
- **Possible Values:**
- `'workflow.context.document.completed'` - Triggered when a case is approved or rejected.
- `'workflow.context.document.updated'` - Triggered when there is an action (like a request for revisions, vendor check retrieved, etc.) made on an active case.
- `apiVersion`

- **Description:** The version of the API used for the webhook.
- **Type:** `number`
- `timestamp`

- **Description:** The ISO 8601 date and time when the event occurred.
- **Type:** `string`
- `assignedAt`

- **Description:** The ISO 8601 date and time when the case was assigned.
- **Type:** `string`
- `assignee`

- **Description:** Details of the assignee.
- **Type:** `object`
- **Properties:**
- `id` - **Type:** `string`
- `firstName` - **Type:** `string`
- `lastName` - **Type:** `string`
- `email` - **Type:** `string`
- `workflowCreatedAt`

- **Description:** The ISO 8601 date and time when the workflow was created.
- **Type:** `string`
- `workflowResolvedAt`

- **Description:** The ISO 8601 date and time when the workflow was resolved.
- **Type:** `string`
- `workflowDefinitionId`

- **Description:** Unique identifier for the workflow definition.
- **Type:** `string`
- `workflowRuntimeId`

- **Description:** Unique identifier for the workflow runtime instance.
- **Type:** `string`
- `ballerineEntityId`

- **Description:** Unique identifier for the Ballerine entity.
- **Type:** `string`
- `correlationId`

- **Description:** Unique identifier for correlating between entity IDs in your systems and Ballerine's system.
- **Type:** `string`
- `environment`

- **Description:** The environment where the event occurred.
- **Type:** `string`
- **Possible Values:** `sandbox`, `production`
- `data`

- **Description:** Additional data relevant to the event.
- **Type:** `object`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix unordered list indentation.

The indentation of the unordered list items is inconsistent. Ensure all list items are properly indented.

- -   `id`
-     -   **Description:** Unique identifier for the webhook event.
-     -   **Type:** `string`
- -   `eventName`
-     -   **Description:** The name of the event that triggered the webhook.
-     -   **Type:** `string`
-     -   **Possible Values:**
-         -   `'workflow.context.document.completed'` - Triggered when a case is approved or rejected.
-         -   `'workflow.context.document.updated'` - Triggered when there is an action (like a request for revisions, vendor check retrieved, etc.) made on an active case.
- -   `apiVersion`
-     -   **Description:** The version of the API used for the webhook.
-     -   **Type:** `number`
- -   `timestamp`
-     -   **Description:** The ISO 8601 date and time when the event occurred.
-     -   **Type:** `string`
- -   `assignedAt`
-     -   **Description:** The ISO 8601 date and time when the case was assigned.
-     -   **Type:** `string`
- -   `assignee`
-     -   **Description:** Details of the assignee.
-     -   **Type:** `object`
-     -   **Properties:**
-         -   `id` - **Type:** `string`
-         -   `firstName` - **Type:** `string`
-         -   `lastName` - **Type:** `string`
-         -   `email` - **Type:** `string`
- -   `workflowCreatedAt`
-     -   **Description:** The ISO 8601 date and time when the workflow was created.
-     -   **Type:** `string`
- -   `workflowResolvedAt`
-     -   **Description:** The ISO 8601 date and time when the workflow was resolved.
-     -   **Type:** `string`
- -   `workflowDefinitionId`
-     -   **Description:** Unique identifier for the workflow definition.
-     -   **Type:** `string`
- -   `workflowRuntimeId`
-     -   **Description:** Unique identifier for the workflow runtime instance.
-     -   **Type:** `string`
- -   `ballerineEntityId`
-     -   **Description:** Unique identifier for the Ballerine entity.
-     -   **Type:** `string`
- -   `correlationId`
-     -   **Description:** Unique identifier for correlating between entity IDs in your systems and Ballerine's system.
-     -   **Type:** `string`
- -   `environment`
-     -   **Description:** The environment where the event occurred.
-     -   **Type:** `string`
-     -   **Possible Values:** `sandbox`, `production`
- -   `data`
-     -   **Description:** Additional data relevant to the event.
-     -   **Type:** `object`
+ - `id`
+   - **Description:** Unique identifier for the webhook event.
+   - **Type:** `string`
+ - `eventName`
+   - **Description:** The name of the event that triggered the webhook.
+   - **Type:** `string`
+   - **Possible Values:**
+     - `'workflow.context.document.completed'` - Triggered when a case is approved or rejected.
+     - `'workflow.context.document.updated'` - Triggered when there is an action (like a request for revisions, vendor check retrieved, etc.) made on an active case.
+ - `apiVersion`
+   - **Description:** The version of the API used for the webhook.
+   - **Type:** `number`
+ - `timestamp`
+   - **Description:** The ISO 8601 date and time when the event occurred.
+   - **Type:** `string`
+ - `assignedAt`
+   - **Description:** The ISO 8601 date and time when the case was assigned.
+   - **Type:** `string`
+ - `assignee`
+   - **Description:** Details of the assignee.
+   - **Type:** `object`
+   - **Properties:**
+     - `id` - **Type:** `string`
+     - `firstName` - **Type:** `string`
+     - `lastName` - **Type:** `string`
+     - `email` - **Type:** `string`
+ - `workflowCreatedAt`
+   - **Description:** The ISO 8601 date and time when the workflow was created.
+   - **Type:** `string`
+ - `workflowResolvedAt`
+   - **Description:** The ISO 8601 date and time when the workflow was resolved.
+   - **Type:** `string`
+ - `workflowDefinitionId`
+   - **Description:** Unique identifier for the workflow definition.
+   - **Type:** `string`
+ - `workflowRuntimeId`
+   - **Description:** Unique identifier for the workflow runtime instance.
+   - **Type:** `string`
+ - `ballerineEntityId`
+   - **Description:** Unique identifier for the Ballerine entity.
+   - **Type:** `string`
+ - `correlationId`
+   - **Description:** Unique identifier for correlating between entity IDs in your systems and Ballerine's system.
+   - **Type:** `string`
+ - `environment`
+   - **Description:** The environment where the event occurred.
+   - **Type:** `string`
+   - **Possible Values:** `sandbox`, `production`
+ - `data`
+   - **Description:** Additional data relevant to the event.
+   - **Type:** `object`
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- `id`
- **Description:** Unique identifier for the webhook event.
- **Type:** `string`
- `eventName`
- **Description:** The name of the event that triggered the webhook.
- **Type:** `string`
- **Possible Values:**
- `'workflow.context.document.completed'` - Triggered when a case is approved or rejected.
- `'workflow.context.document.updated'` - Triggered when there is an action (like a request for revisions, vendor check retrieved, etc.) made on an active case.
- `apiVersion`
- **Description:** The version of the API used for the webhook.
- **Type:** `number`
- `timestamp`
- **Description:** The ISO 8601 date and time when the event occurred.
- **Type:** `string`
- `assignedAt`
- **Description:** The ISO 8601 date and time when the case was assigned.
- **Type:** `string`
- `assignee`
- **Description:** Details of the assignee.
- **Type:** `object`
- **Properties:**
- `id` - **Type:** `string`
- `firstName` - **Type:** `string`
- `lastName` - **Type:** `string`
- `email` - **Type:** `string`
- `workflowCreatedAt`
- **Description:** The ISO 8601 date and time when the workflow was created.
- **Type:** `string`
- `workflowResolvedAt`
- **Description:** The ISO 8601 date and time when the workflow was resolved.
- **Type:** `string`
- `workflowDefinitionId`
- **Description:** Unique identifier for the workflow definition.
- **Type:** `string`
- `workflowRuntimeId`
- **Description:** Unique identifier for the workflow runtime instance.
- **Type:** `string`
- `ballerineEntityId`
- **Description:** Unique identifier for the Ballerine entity.
- **Type:** `string`
- `correlationId`
- **Description:** Unique identifier for correlating between entity IDs in your systems and Ballerine's system.
- **Type:** `string`
- `environment`
- **Description:** The environment where the event occurred.
- **Type:** `string`
- **Possible Values:** `sandbox`, `production`
- `data`
- **Description:** Additional data relevant to the event.
- **Type:** `object`
- `id`
- **Description:** Unique identifier for the webhook event.
- **Type:** `string`
- `eventName`
- **Description:** The name of the event that triggered the webhook.
- **Type:** `string`
- **Possible Values:**
- `'workflow.context.document.completed'` - Triggered when a case is approved or rejected.
- `'workflow.context.document.updated'` - Triggered when there is an action (like a request for revisions, vendor check retrieved, etc.) made on an active case.
- `apiVersion`
- **Description:** The version of the API used for the webhook.
- **Type:** `number`
- `timestamp`
- **Description:** The ISO 8601 date and time when the event occurred.
- **Type:** `string`
- `assignedAt`
- **Description:** The ISO 8601 date and time when the case was assigned.
- **Type:** `string`
- `assignee`
- **Description:** Details of the assignee.
- **Type:** `object`
- **Properties:**
- `id` - **Type:** `string`
- `firstName` - **Type:** `string`
- `lastName` - **Type:** `string`
- `email` - **Type:** `string`
- `workflowCreatedAt`
- **Description:** The ISO 8601 date and time when the workflow was created.
- **Type:** `string`
- `workflowResolvedAt`
- **Description:** The ISO 8601 date and time when the workflow was resolved.
- **Type:** `string`
- `workflowDefinitionId`
- **Description:** Unique identifier for the workflow definition.
- **Type:** `string`
- `workflowRuntimeId`
- **Description:** Unique identifier for the workflow runtime instance.
- **Type:** `string`
- `ballerineEntityId`
- **Description:** Unique identifier for the Ballerine entity.
- **Type:** `string`
- `correlationId`
- **Description:** Unique identifier for correlating between entity IDs in your systems and Ballerine's system.
- **Type:** `string`
- `environment`
- **Description:** The environment where the event occurred.
- **Type:** `string`
- **Possible Values:** `sandbox`, `production`
- `data`
- **Description:** Additional data relevant to the event.
- **Type:** `object`
Tools
Markdownlint

42-42: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


43-43: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


46-46: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


47-47: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


48-48: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


49-49: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


50-50: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


53-53: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


54-54: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


57-57: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


58-58: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


61-61: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


62-62: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


65-65: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


66-66: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


67-67: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


68-68: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


69-69: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


70-70: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


71-71: Expected: 4; Actual: 8
Unordered list indentation

(MD007, ul-indent)


74-74: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


75-75: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


78-78: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


79-79: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


82-82: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


83-83: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


86-86: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


87-87: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


90-90: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


91-91: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


94-94: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


95-95: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


98-98: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


99-99: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


100-100: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


103-103: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)


104-104: Expected: 2; Actual: 4
Unordered list indentation

(MD007, ul-indent)

Comment on lines +54 to +57
## Rules Engine
The Rules Engine applies risk rules to assign risk scores, present risk indicators, and automate decisions within workflows. It encompasses transition rules, risk calculation, and alerting mechanisms.

**Learn more about the rule engine**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use heading instead of emphasis.

Emphasis is used instead of a heading. Consider using a proper heading.

- **Learn more about the rule engine**
+ ### Learn more about the rule engine
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Rules Engine
The Rules Engine applies risk rules to assign risk scores, present risk indicators, and automate decisions within workflows. It encompasses transition rules, risk calculation, and alerting mechanisms.
**Learn more about the rule engine**
## Rules Engine
The Rules Engine applies risk rules to assign risk scores, present risk indicators, and automate decisions within workflows. It encompasses transition rules, risk calculation, and alerting mechanisms.
### Learn more about the rule engine
Tools
Markdownlint

57-57: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

Comment on lines +63 to +66
## Case Managment
The Case Management module provides a user interface for manual decision-making processes, such as approving, rejecting, or requesting re-submission of cases. It offers customizable layouts and information presentation, allowing users to efficiently handle and review cases.

**Learn more about case management**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix typo in heading and use heading instead of emphasis.

"Managment" should be "Management". Also, emphasis is used instead of a heading.

- ## Case Managment
+ ## Case Management
- **Learn more about case management**
+ ### Learn more about case management
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Case Managment
The Case Management module provides a user interface for manual decision-making processes, such as approving, rejecting, or requesting re-submission of cases. It offers customizable layouts and information presentation, allowing users to efficiently handle and review cases.
**Learn more about case management**
## Case Management
The Case Management module provides a user interface for manual decision-making processes, such as approving, rejecting, or requesting re-submission of cases. It offers customizable layouts and information presentation, allowing users to efficiently handle and review cases.
### Learn more about case management
Tools
Markdownlint

66-66: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

Comment on lines +38 to +43
## Collection Flows
Ballerine's collection flow module enables you to collect information and documents from you end users, using customizable, white-label digital forms.
All of the steps and inputs are fully customizable, to enable building different types of flows.

**Learn more about collection flows**

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix grammatical error and use heading instead of emphasis.

"you end users" should be "your end users". Also, emphasis is used instead of a heading.

- collect information and documents from you end users, using customizable, white-label digital forms.
+ collect information and documents from your end users, using customizable, white-label digital forms.
- **Learn more about collection flows**
+ ### Learn more about collection flows
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Collection Flows
Ballerine's collection flow module enables you to collect information and documents from you end users, using customizable, white-label digital forms.
All of the steps and inputs are fully customizable, to enable building different types of flows.
**Learn more about collection flows**
## Collection Flows
Ballerine's collection flow module enables you to collect information and documents from your end users, using customizable, white-label digital forms.
All of the steps and inputs are fully customizable, to enable building different types of flows.
### Learn more about collection flows
Tools
LanguageTool

[uncategorized] ~39-~39: “you” seems less likely than “your” (belonging to you).
Context: ... collect information and documents from you end users, using customizable, white-la...

(AI_HYDRA_LEO_CP_YOU_YOUR)


[style] ~39-~39: Consider removing “of” to be more concise
Context: ...ustomizable, white-label digital forms. All of the steps and inputs are fully customizable...

(ALL_OF_THE)

Markdownlint

42-42: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

Comment on lines +22 to +27
## Workflows
A workflow is the engine that orchestrates the different steps of a risk flow, and how they should interact with each other.
Every workflow is a definition of a flow, made out of Ballerine's different modules.
Whenever a risk flow ("Customer Onboarding" for example) starts, the workflow that is assigned to that risk flow initiates and controls which module should be in use and when.

**Learn more about workflows**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix wordiness and use heading instead of emphasis.

The phrase "made out of" is wordy. Consider using "composed of" instead. Also, emphasis is used instead of a heading.

- made out of Ballerine's different modules.
+ composed of Ballerine's different modules.
- **Learn more about workflows**
+ ### Learn more about workflows
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Workflows
A workflow is the engine that orchestrates the different steps of a risk flow, and how they should interact with each other.
Every workflow is a definition of a flow, made out of Ballerine's different modules.
Whenever a risk flow ("Customer Onboarding" for example) starts, the workflow that is assigned to that risk flow initiates and controls which module should be in use and when.
**Learn more about workflows**
## Workflows
A workflow is the engine that orchestrates the different steps of a risk flow, and how they should interact with each other.
Every workflow is a definition of a flow, composed of Ballerine's different modules.
Whenever a risk flow ("Customer Onboarding" for example) starts, the workflow that is assigned to that risk flow initiates and controls which module should be in use and when.
### Learn more about workflows
Tools
LanguageTool

[style] ~24-~24: ‘made out of’ might be wordy. Consider a shorter alternative.
Context: ...ery workflow is a definition of a flow, made out of Ballerine's different modules. Whenever...

(EN_WORDINESS_PREMIUM_MADE_OUT_OF)

Markdownlint

27-27: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between ebe10e8 and 2e933a5.

Files selected for processing (1)
  • websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (1 hunks)
Additional context used
LanguageTool
websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md

[style] ~11-~11: Consider removing “of” to be more concise
Context: ...se, a webhook can be sent that includes all of the case’s data (data from the collection f...

(ALL_OF_THE)

Additional comments not posted (8)
websites/docs/src/content/docs/en/learn/how_to_use_webhooks.md (8)

1-4: Metadata section is well-defined.

The title and description provide a clear overview of the documentation page.


6-7: Introduction is clear and informative.

The overview of the types of webhooks supported by Ballerine is well-explained.


9-11: Clear explanation of webhook functionality.

The section provides a good understanding of how webhooks work and their purpose.

Tools
LanguageTool

[style] ~11-~11: Consider removing “of” to be more concise
Context: ...se, a webhook can be sent that includes all of the case’s data (data from the collection f...

(ALL_OF_THE)


13-45: Detailed and clear explanation of system webhooks.

The section is well-structured and provides useful information on subscription levels and example configurations.


48-101: Example configuration is clear and well-documented.

The example provided is useful for understanding how to configure a workflow with subscriptions.


105-131: Detailed and clear explanation of custom webhooks.

The section is well-structured and provides useful information on custom webhook configurations.


151-217: Webhook structure is well-defined and properties are clearly explained.

The section provides a clear understanding of the data structure and properties of a webhook.


219-245: Practical example use cases and important security recommendations.

The example use cases are practical and the security recommendations are crucial for secure webhook handling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants