Skip to content

Conversation

@Fawas003
Copy link
Contributor

@Fawas003 Fawas003 commented Sep 24, 2025

Updated Bhashini Integration documentation

Summary by CodeRabbit

  • Documentation
    • Updated integration guide with the latest revision date and clarified that the feature is in an experimental phase.
    • Refreshed screenshots and diagrams for improved clarity.
    • Updated sample flow links to reflect the current process.
    • Added a new section covering the OpenAI Speech Engine integration, including setup guidance and usage notes.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 24, 2025

Walkthrough

Documentation update to the Bhashini integration guide: refreshed date, added experimental-phase note, updated image assets and sample flow links, and introduced an OpenAI Speech Engine section. No code or control-flow changes.

Changes

Cohort / File(s) Summary of Changes
Documentation: Bhashini integration guide
docs/5. Integrations/Bhashini Integrations.md
Updated last updated date (as "Septemper"), added experimental-phase notice, revised image assets, refreshed sample flow links, and added an OpenAI Speech Engine section. No code changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • Update bhashinisttandtts #394 — Also updates Bhashini integration documentation; likely parallel or complementary doc changes to the same integration content.

Poem

A rabbit flips through docs so bright,
New notes hop in, images take flight.
“Experiment ahead,” the margins say,
With OpenAI whispers leading the way.
I nibble links, the flows align—
Thump-thump! This guide reads fine. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly indicates that the Bhashini Integrations documentation file was updated, which aligns directly with the primary change of revising and expanding that document.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bhashini-update-2

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

@github-actions github-actions bot temporarily deployed to pull request September 24, 2025 20:02 Inactive
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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b6a8c77 and 69d7b12.

📒 Files selected for processing (1)
  • docs/5. Integrations/Bhashini Integrations.md (5 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
docs/5. Integrations/Bhashini Integrations.md

105-105: Link text should be descriptive

(MD059, descriptive-link-text)

🔇 Additional comments (6)
docs/5. Integrations/Bhashini Integrations.md (6)

26-27: Experimental note LGTM.

Clear expectation setting for users.


53-58: STT flow usage LGTM.

Variable references and example alignment look correct.


68-69: TTS section visuals LGTM.

Screenshots placed appropriately.


83-84: Webhook configuration screenshot LGTM.


101-104: Attachment expression instructions LGTM.


119-119: Verify engine key name.

Confirm whether the accepted value is open-ai or openai in the Function Body; update the docs accordingly.

<td><b>6 minutes read</b></td>
<td style={{ paddingLeft: 40 }}><b>Level: Advanced</b></td>
<td style={{ paddingLeft: 40 }}><b>Last Updated: August 2025</b></td>
<td style={{ paddingLeft: 40 }}><b>Last Updated: Septemper 2025</b></td>
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix typo in “Last Updated”.

Change “Septemper” to “September”.

Apply this diff:

-      <td style={{ paddingLeft: 40 }}><b>Last Updated: Septemper 2025</b></td>
+      <td style={{ paddingLeft: 40 }}><b>Last Updated: September 2025</b></td>
📝 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
<td style={{ paddingLeft: 40 }}><b>Last Updated: Septemper 2025</b></td>
<td style={{ paddingLeft: 40 }}><b>Last Updated: September 2025</b></td>
🤖 Prompt for AI Agents
In docs/5. Integrations/Bhashini Integrations.md around line 6, fix the typo in
the "Last Updated" text by replacing "Septemper 2025" with the correct spelling
"September 2025" so the line reads: <b>Last Updated: September 2025</b>.

The output of the text response from the Bhashini depends on the language preference of the user. For instance if a user has selected Hindi language, the response from Glific will be in Hindi script.

[Sample Flow](https://drive.google.com/file/d/1qkNGzLCQacrlP96GCytCihRGM4LhfokL/view) Click on the Sample Flow link to import it and explore how it works.
[Sample Flow](https://drive.google.com/file/d/1F5oJGRxE7G6RgpyG77q2srqnikUZMDab/view?usp=sharing) Click on the Sample Flow link to import it and explore how it works.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Use descriptive link text for accessibility and lint compliance (MD059).

Rename “Sample Flow” to something descriptive.

Apply this diff (keep the same URL):

-[Sample Flow](https://drive.google.com/file/d/1F5oJGRxE7G6RgpyG77q2srqnikUZMDab/view?usp=sharing) Click on the Sample Flow link to import it and explore how it works.
+[Sample STT Flow (Speech-to-Text)](https://drive.google.com/file/d/1F5oJGRxE7G6RgpyG77q2srqnikUZMDab/view?usp=sharing) Import this flow to explore how it works.
📝 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
[Sample Flow](https://drive.google.com/file/d/1F5oJGRxE7G6RgpyG77q2srqnikUZMDab/view?usp=sharing) Click on the Sample Flow link to import it and explore how it works.
[Sample STT Flow (Speech-to-Text)](https://drive.google.com/file/d/1F5oJGRxE7G6RgpyG77q2srqnikUZMDab/view?usp=sharing) Import this flow to explore how it works.
🤖 Prompt for AI Agents
In docs/5. Integrations/Bhashini Integrations.md around line 60, the Markdown
link text "Sample Flow" is not descriptive for accessibility; replace the link
text with a more descriptive phrase (for example "Bhashini integration sample
flow" or "Bhashini sample flow for importing and exploring"), keeping the URL
unchanged so the link becomes [Bhashini integration sample
flow](https://drive.google.com/file/d/1F5oJGRxE7G6RgpyG77q2srqnikUZMDab/view?usp=sharing).

#### Step 5: Create a `send Message` node and paste the variable.

`@results.bhasini_tts.media_url` for the voice input. `Bhasini_tts` is the webhook result name used in the given example.
`@results.bhashini_tts.media_url` for the voice input. `Bhashini_tts` is the webhook result name used in the given example.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix inconsistent result name casing.

Use the same lowercase bhashini_tts everywhere.

Apply this diff:

-`@results.bhashini_tts.media_url` for the voice input. `Bhashini_tts` is the webhook result name used in the given example.
+`@results.bhashini_tts.media_url` for the voice input. `bhashini_tts` is the webhook result name used in the given example.
📝 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
`@results.bhashini_tts.media_url` for the voice input. `Bhashini_tts` is the webhook result name used in the given example.
`@results.bhashini_tts.media_url` for the voice input. `bhashini_tts` is the webhook result name used in the given example.
🤖 Prompt for AI Agents
In docs/5. Integrations/Bhashini Integrations.md around line 97, the webhook
result name is inconsistently cased as `Bhashini_tts`; change all occurrences to
the lowercase `bhashini_tts` to match the rest of the document. Update every
reference in prose, examples, inline code snippets and JSON keys so they
consistently use `bhashini_tts`.

<img width="610" height="249" alt="Screenshot 2025-08-10 at 12 38 39 AM" src="https://github.com/user-attachments/assets/48fc86ca-dd21-47fb-9178-66eaee0553a7" />
<img width="588" height="239" alt="Screenshot 2025-09-25 at 12 56 50 AM" src="https://github.com/user-attachments/assets/ebf00923-4da8-4944-ab5f-b929b52ce5fc" />

Please note: In order to get the voice notes as outputs, the Glific instance must be linked to the Google Cloud Storage for your organization. This is to facilitate storage of the voice notes generated by Bhashini as a result of the webhook call. To set up Google Cloud Storage [click here](https://glific.github.io/docs/docs/Onboarding/GCS%20Setup/Google%20Cloud%20Storage%20Setup/)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Replace “click here” with descriptive link text (MD059).

Improves accessibility and passes markdownlint.

Apply this diff:

-Please note: In order to get the voice notes as outputs, the Glific instance must be linked to the Google Cloud Storage for your organization. This is to facilitate storage of the voice notes generated by Bhashini as a result of the webhook call. To set up Google Cloud Storage [click here](https://glific.github.io/docs/docs/Onboarding/GCS%20Setup/Google%20Cloud%20Storage%20Setup/)
+Please note: In order to get the voice notes as outputs, the Glific instance must be linked to Google Cloud Storage for your organization. This facilitates storage of the voice notes generated by Bhashini as a result of the webhook call. See the [Google Cloud Storage Setup guide](https://glific.github.io/docs/docs/Onboarding/GCS%20Setup/Google%20Cloud%20Storage%20Setup/).
📝 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
Please note: In order to get the voice notes as outputs, the Glific instance must be linked to the Google Cloud Storage for your organization. This is to facilitate storage of the voice notes generated by Bhashini as a result of the webhook call. To set up Google Cloud Storage [click here](https://glific.github.io/docs/docs/Onboarding/GCS%20Setup/Google%20Cloud%20Storage%20Setup/)
Please note: In order to get the voice notes as outputs, the Glific instance must be linked to Google Cloud Storage for your organization. This facilitates storage of the voice notes generated by Bhashini as a result of the webhook call. See the [Google Cloud Storage Setup guide](https://glific.github.io/docs/docs/Onboarding/GCS%20Setup/Google%20Cloud%20Storage%20Setup/).
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

105-105: Link text should be descriptive

(MD059, descriptive-link-text)

🤖 Prompt for AI Agents
In docs/5. Integrations/Bhashini Integrations.md around line 105, replace the
non-descriptive link text "click here" with a descriptive phrase (e.g., "Google
Cloud Storage setup" or "GCS setup guide") so the link reads naturally and
improves accessibility; update the markdown link text accordingly while keeping
the same URL.

Please note: In order to get the voice notes as outputs, the Glific instance must be linked to the Google Cloud Storage for your organization. This is to facilitate storage of the voice notes generated by Bhashini as a result of the webhook call. To set up Google Cloud Storage [click here](https://glific.github.io/docs/docs/Onboarding/GCS%20Setup/Google%20Cloud%20Storage%20Setup/)

#### Step 6: To get the translated text out, create another send message node, and call the `@results.bhasini_tts.translated_text`.
#### Step 6: To get the translated text out, create another send message node, and call the `@results.bhashini_tts.translated_text`.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Tighten wording and fix node name capitalization.

Apply this diff:

-#### Step 6: To get the translated text out, create another send message node, and call the `@results.bhashini_tts.translated_text`.
+#### Step 6: To get the translated text, create another `Send Message` node and use `@results.bhashini_tts.translated_text`.
📝 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
#### Step 6: To get the translated text out, create another send message node, and call the `@results.bhashini_tts.translated_text`.
#### Step 6: To get the translated text, create another `Send Message` node and use `@results.bhashini_tts.translated_text`.
🤖 Prompt for AI Agents
In docs/5. Integrations/Bhashini Integrations.md around line 107, tighten the
wording and capitalize the node name: rewrite the sentence to be concise and
change "send message node" to "Send Message node", e.g. "Step 6: To retrieve the
translated text, create another Send Message node and reference
@results.bhashini_tts.translated_text."

<img width="549" height="416" alt="Screenshot 2025-08-10 at 12 41 10 AM" src="https://github.com/user-attachments/assets/77e31147-8e08-4db5-ba10-ce4b76552829" />
<img width="586" height="451" alt="Screenshot 2025-09-25 at 12 57 47 AM" src="https://github.com/user-attachments/assets/bcbd8b0f-1b80-4d6c-8c2b-9753b2802d8e" />

[Sample Flow](https://drive.google.com/file/d/1WCOLQMF-OgLVR7PNHXbggMSeDXMJbui7/view) Click on the Sample Flow link to import it and explore how it works.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Use descriptive link text for the TTS sample flow (MD059).

Apply this diff (keep the same URL):

-[Sample Flow](https://drive.google.com/file/d/1WCOLQMF-OgLVR7PNHXbggMSeDXMJbui7/view) Click on the Sample Flow link to import it and explore how it works.
+[Sample TTS Flow (Text-to-Speech)](https://drive.google.com/file/d/1WCOLQMF-OgLVR7PNHXbggMSeDXMJbui7/view) Import this flow to explore how it works.
📝 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
[Sample Flow](https://drive.google.com/file/d/1WCOLQMF-OgLVR7PNHXbggMSeDXMJbui7/view) Click on the Sample Flow link to import it and explore how it works.
[Sample TTS Flow (Text-to-Speech)](https://drive.google.com/file/d/1WCOLQMF-OgLVR7PNHXbggMSeDXMJbui7/view) Import this flow to explore how it works.
🤖 Prompt for AI Agents
In docs/5. Integrations/Bhashini Integrations.md around line 111, the link text
"Sample Flow" is not descriptive per MD059; update the Markdown link text to a
more descriptive label that explains what the link is (e.g., "Bhashini TTS
sample flow (Google Drive)" or "Bhashini text-to-speech sample flow") while
keeping the same URL, so the link reads clearly for accessibility and SEO.

Comment on lines +116 to +121
Apart from Bhashini, the OpenAI speech engine can also be used to generate text-to-speech (TTS) responses. Since we are also experimenting with Bhashini, the response quality may sometimes be inconsistent or unreliable in a few languages.This is another alternative, users can try both options to see which gives better results for their audience and language preferences.

### How to configure:
- In the `Function Body`, set the speech engine to `open-ai`.
- Keep the remaining steps the same as those mentioned in the Speech-to-Text section above.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix grammar/punctuation and correct section reference (TTS vs STT).

Apply this diff:

-Apart from Bhashini, the OpenAI speech engine can also be used to generate text-to-speech (TTS) responses. Since we are also experimenting with Bhashini, the response quality may sometimes be inconsistent or unreliable in a few languages.This is another alternative, users can try both options to see which gives better results for their audience and language preferences.
+Apart from Bhashini, the OpenAI speech engine can also be used to generate text-to-speech (TTS) responses. Since we are also experimenting with Bhashini, the response quality may sometimes be inconsistent or unreliable in a few languages. This is another alternative. Users can try both options to see which gives better results for their audience and language preferences.
@@
-- Keep the remaining steps the same as those mentioned in the Speech-to-Text section above.
+- Keep the remaining steps the same as those mentioned in the Text-to-Speech section above.
📝 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
Apart from Bhashini, the OpenAI speech engine can also be used to generate text-to-speech (TTS) responses. Since we are also experimenting with Bhashini, the response quality may sometimes be inconsistent or unreliable in a few languages.This is another alternative, users can try both options to see which gives better results for their audience and language preferences.
### How to configure:
- In the `Function Body`, set the speech engine to `open-ai`.
- Keep the remaining steps the same as those mentioned in the Speech-to-Text section above.
Apart from Bhashini, the OpenAI speech engine can also be used to generate text-to-speech (TTS) responses. Since we are also experimenting with Bhashini, the response quality may sometimes be inconsistent or unreliable in a few languages. This is another alternative. Users can try both options to see which gives better results for their audience and language preferences.
### How to configure:
- In the `Function Body`, set the speech engine to `open-ai`.
- Keep the remaining steps the same as those mentioned in the Text-to-Speech section above.
🤖 Prompt for AI Agents
In docs/5. Integrations/Bhashini Integrations.md around lines 116 to 121, fix
grammar and punctuation and correct the incorrect section reference: reword the
paragraph for clarity, split run-on sentences, and change the reference from
"Speech-to-Text" to "Text-to-Speech"; keep the instruction that in the `Function
Body` set the speech engine to `open-ai` and say to follow the remaining steps
as those in the Text-to-Speech section, ensuring proper punctuation and
capitalization throughout.

@SangeetaMishr SangeetaMishr merged commit 5adf68b into main Sep 25, 2025
7 checks passed
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.

3 participants