For everyone at SasthoTech
How to work in SasthoTech Ops
SasthoTech Ops is our workspace for leads, setups, support, engineering and team cash. You can use it in the browser at ops.sasthotech.com, on your phone, or straight from Telegram. Switch between Employee and Admin at the top to see the parts that apply to you, and use the search box to jump to anything.
Signing in
Open ops.sasthotech.com. Your admin creates your account with your work email.
With your password
Type your email and password, then Sign in.
With an emailed code
Tap Email me a sign-in code, enter your email, then type the 6-digit code from the email. It works once, for 10 minutes.
Forgot your password
Tap Forgot password?. Open the link in the email within 30 minutes and choose a new password (8 characters or more).
To change your password, photo, name or job title later: Settings → My account. You can also pick a light or dark look there.
Link your Telegram
Linking lets the bot know who you are, so you get your own notifications, your morning summary and buttons that work on your leads and tasks.
- In the app, open Settings → My account → Telegram and tap Link Telegram. You get a short code.
- Open the SasthoTech bot in Telegram and send
/link CODE(the code is valid for 15 minutes). - The bot answers "✅ Linked to your name". Send
/helpto see what it can do.
Finding your way
Sidebar
Home, Team dashboard, Inbox, your Favorites and all workspace pages. On a phone, tap the menu button at the top left to open it.
Search
Press Ctrl+K (⌘+K on Mac) or tap Search to find any page, lead, ticket or task.
Inbox
Mentions, assignments, comment replies and reminders. Turn on browser notifications from the Inbox page if you want them on this device.
On your phone
Everything works at phone width. Tap a row's name or a board card to open it full screen.
Home and your day
Home shows what's yours: leads, setups, tickets and tasks assigned to you, what's due today and what's overdue. Support staff also see the engineering tasks they raised.
Every morning at 9:00 (Dhaka) the bot sends you the same summary in Telegram. Send /today any time to get it again.
Admins and sales managers also have the Team dashboard: leads by source and ad, speed to first call, conversion, stage ageing and overdue follow-ups per rep.
Pages and databases
The workspace works like Notion. Pages hold text, headings, lists, images and databases. Databases (like the Hospital CRM) have rows with properties.
Working with a database
- Views: tabs above the table (Table, Board, Calendar, List, Gallery, Chart). Each view keeps its own filters and sort.
- Filter, Sort, Group, Properties: the icons in the bar above the table. On a phone they show as icons only.
- Open a row: click OPEN next to its name (desktop) or tap the name (phone). The row opens with all its properties, comments and history.
- Edit: click any cell. Changes save as you go and everyone sees them.
- New row: the blue New button, or + New at the bottom of a table or board column.
Comments and mentions
Type @ and a name in a comment to notify that person. They see it in their Inbox and in Telegram.
Deleted pages and rows go to Trash (bottom of the sidebar), where you can restore them.
Sales and Tele-Sales
Open Tele-Sales. Sales Queue (mine) lists your open leads, oldest follow-up first.
- Work the oldest lead first. Call the number on the lead.
- Press 📞 Log Call: choose how it went, add notes and set the next follow-up (required).
- Update the Status as the lead moves: In progress → Interested → Visit → Done.
- When the status becomes Done, the lead goes to the Setup team automatically, with the dates stamped.
/call, tap the lead, tap how the call went, then tap the next follow-up. No SL numbers needed.The buttons on a lead (First Contact Done, Send to Visit, Visit Done, Send to Set-up…) do the same steps as in Notion, with the right dates filled in.
How a lead moves
Each team picks the lead up where the previous one finished. Dates are stamped at each step, so the dashboard can show how long each stage took.
flowchart LR A[New lead
Facebook / Notion] --> B[Sales
calls & follow-ups] B -->|Visit| C[Visit] C -->|Done| D[Setup
Not received] D --> E[Received → Setup started
→ On-site / training] E -->|Go-Live| F[Support
Not started] F --> G[First contact → Ongoing
→ Resolved]
Setup team
Open Setup. Setup Board groups clients by Setup Status. Incoming from Sales shows new handovers.
- Pick up a new client: set On-site Person to yourself and move Setup Status to Received.
- Move it along: Setup started → On-site / training. Use Tech dependency when engineering has to do something first.
- After go-live, choose Go-Live Done. Then Handed to Support passes the client to Support with a support owner assigned.
Each status change is your report: no separate update needed.
Support team
Open Support. My tickets lists yours; Open tickets shows everyone's.
- Open tickets oldest first. Mark Issue found, or Send to tech when engineering must fix it.
- When engineering marks it Tech done, confirm with the client, then Resolve and choose how (call, AnyDesk, on-site, all good).
- Clients and staff can open a ticket from Telegram with
/issue SL-12 what's wrong.
Engineering
Open Engineering. The board groups tasks by status. My tasks shows yours, Emergencies the urgent ones.
From Telegram: /mytasks lists your tasks; /start_task 7, /review 7 and /done 7 move task #7. Task notifications come with Start / Review / Done buttons.
The SasthoTech bot
Most daily work can be done from Telegram. Notifications arrive with buttons: a new lead card has Log call and snooze, a task has Start / Review / Done, a ticket has To tech / Resolve.
You don't need to remember SL numbers. Send a command on its own and the bot shows your leads as buttons, with 👤 Mine · ⏰ Overdue · 📋 All and Next › for more.
All bot commands
Send these in a private chat with the bot (most also work in the staff group).
| Send | What it does |
|---|---|
/help | What the bot can do for you. |
/today | What's due today and overdue (also sent at 9:00). |
/leads | Your open leads as buttons. /leads all, /leads overdue for others. |
/lead popular | Find a lead by name, hospital or phone and open its card. |
/call | Log a call: pick the lead, how it went, the next follow-up. /call SL-12 notes keeps your notes. |
/status | Change a lead's status with buttons. Quick way: /status SL-12 visit. |
/followup | Set the next follow-up. Quick way: /followup SL-12 tomorrow. |
/followups | Your overdue follow-ups. |
/mytickets | Your open support tickets. |
/issue SL-12 text | Open a support ticket for a client. |
/mytasks | Your open engineering tasks. |
/workspace | Open the full workspace inside Telegram. |
/balance | Cash you're holding (Hisab). /history for your last entries. |
/commands | Commands that add records to databases (for example /expense). |
/approvals | Hisab entries waiting for your approval, sent to you privately. |
/hisab | Everyone's cash as buttons: tap a person for their balance and history. /balance karim by name, /report for the team. |
The workspace inside Telegram
Send /workspace (or tap the menu button next to the message box) and the whole app opens inside Telegram, already signed in with your linked account. Use Telegram's back arrow to go back.
It works in the Telegram apps for Android, iPhone and desktop. In Telegram Web (in a browser) use ops.sasthotech.com instead.
If it shows "Still loading — the connection looks slow…", wait a little or check your internet. If it shows an error, take a screenshot and send it to your admin.
Hisab: writing your expenses
Hisab is our team cash book. Just write in the Hisab Telegram group, the way you'd tell a person. English, Banglish and Bangla all work.
| You write | The bot records |
|---|---|
| Bus 800, lunch 200, rickshaw 60 | Three expenses, each checked against the price limits. |
| Ibn Sina Setup bus fare - 800 | Starts the event "Ibn Sina Setup"; your next costs join it until /endevent. |
| A receipt photo with a caption | The amounts from the photo, with the photo kept for the admin. |
| Collection from Ibn Sina Hospital 5000 on 11 Oct | A collection (adds to the cash you hold). |
| Transferred 3000 to Sasthotech | Money sent to the company; counts once the admin checks it arrived. |
| cash from amimoy 5000 | Cash from a teammate; Amimoy confirms with a button. |
| office bazar 260 | An office expense (goes to HR / Office). |
A list of several days
Write the date on its own line, then the costs under it. Parts like 60+350+40 are added up. A line without numbers (a place) applies to the lines below it.
Commands in the group: /balance, /history, /undo (cancel your last message), /event, /endevent.
Round trips, several people, nights
Price limits are per trip, per person, per night and per room. Say so in the message and the limit is multiplied:
bus 1600 jawa-asha(or two way, round trip, return, up-down, যাওয়া-আসা)lunch 600 3 jon(or for 3 people, x3)hotel 4000 2 nights(or 2 din, 2 rat, 2 rooms)
If you forget, the bot asks with buttons under its reply: ↔️ round trip, 👥 2 people, 🌙 2 nights. Tap one. If it now fits the limit, it's approved straight away. You can also reply to the bot's message in your own words ("amra 2 jon chilam, 2 rooms") and it checks again, or passes your note to the admin.
Reading the bot's reply
- ✓ counted. △ waiting for the admin; the line under it says why.
- Cash with you is the money you're holding now (given to you + collected − spent − sent to the company).
- Things that wait for approval: above a price limit, dated more than 7 days ago, the same claim made twice, a second claim for the same hospital trip, and transfers to the company.
Giving and taking money
Hisab admins write plain sentences in the group:
| Write | Result |
|---|---|
| Deposit 1000 @rafid · 10000 deposited @rahim · 5000 dilam (as a reply) | 💰 Adds to that person's cash. |
| Deduct 1000 @rafid · minus · cut · took back · 1000 kete nao (reply) · ferot · -1000 @rafid | ➖ Takes it off their cash. |
| /adjust @user -300 reason · /void 42 | A correction, or cancel entry #42. |
| /report · /company · /export | Team summary, company account, CSV of all entries. |
Anything else an admin writes ("Collection 12,000", a bus fare) is recorded as the admin's own entry, like anyone's. A person without a Telegram username can be named by replying to one of their messages.
To see anyone's cash at any time, send /hisab to the bot privately and tap a person; then History or Team report.
Approvals
Every message with waiting entries becomes a task for that team's admins.
- You get it privately in Telegram with ✅ Approve and ❌ Reject. One approval is enough; the group message is stamped too.
/approvalssends you everything still waiting for you.- In the app: Hisab → Waiting for you. Team admins who aren't managers see it on their My cash page.
- You can't approve your own entry while another admin exists (you can reject it, which cancels it).
Hisab settings
Teams
Four teams: Sales (Demo), Setup, HR / Office, Collections. Set each person's team in Hisab → Team. An entry goes to the person's team unless its words say otherwise (office costs → HR, collections → Collections).
Team admins
Hisab → Settings & rules → Team admins: tick who approves each team, e.g. Mizan for Collections. App admins can always approve. A team with nobody ticked falls back to admins and sales managers.
Who reads the messages
- Reader: the main AI. Claude (paid, most accurate, a few dollars a month for our size) or Google Gemini (free, slower at busy times).
- Backup reader: takes over when the main one fails or is busy (e.g. Gemini behind Claude, or Groq).
- Clear written lists are read by fixed rules, with no AI. If both AIs fail, the price limits decide and the reply says why.
Rules
- Price limits: words and the maximum per item (lunch 200, bus 1500…). Above it waits for approval.
- Expenses dated more than … days ago need approval (default 7).
- Low balance and maximum to hold: alerts and the weekly "send the rest" check.
People and roles
Settings → Members: add people, set their role, deactivate those who leave (they can't sign in; their history stays).
| Role | Can |
|---|---|
| Admin | Everything, including server settings, integrations and approving any Hisab entry. |
| Sales manager | Team dashboard, Hisab, automations, integrations. |
| Sales · Setup · Support · Engineer | Their work and every page; changes records. |
| Viewer | Read only. |
Telegram bot setup
- Integrations → Telegram bot: paste the bot token from @BotFather and set the webhook.
- Workspace in Telegram → Set menu button so everyone sees the Workspace button.
- Add the bot to the staff group and send
/bind staff; add it to the Hisab group and send/bind hisab. - Make the bot an admin of the Hisab group. Otherwise Telegram only shows it /commands and expenses get no reply.
/helpin the group warns you if this is the problem.
Notion sync
During the trial the Notion CRM stays the main copy of the leads; this app follows it both ways.
- Every 2 minutes, leads added or edited in Notion (including new Facebook leads) come into the app.
- Changes made in the app or Telegram (status, follow-up, assignee, calls) go to the same Notion page straight away; Telegram calls become Call Log Entries.
- If both change at once, Notion wins. Notion's own automations keep stamping dates.
- In Notion, create an internal integration and copy its secret. Share the Hospital CRM, Pharmacy CRM and Call Log Entries databases with it (••• → Connections).
- Integrations → Notion sync: paste the secret, check the three database ids, Save, then Turn on.
- Watch Last from Notion / Last to Notion / Problems. Sync now runs it at once.
Needed for "Forgot password?" and sign-in codes. Settings → Server settings → Email (SMTP):
- Gmail / Google Workspace: server
smtp.gmail.com, port 587, your address, and an app password (Google account → Security → App passwords). - Fill From, e.g.
SasthoTech Ops <ops@sasthotech.com>, save, then Send test email.
Automations
Automations lists the rules: When a row is added, a property changes or a button is pressed, do something (set a property, stamp a date, assign round-robin, notify people, send a webhook). Turn rules on or off with the checkbox; each database also has a ⚡ button in its view bar.
With Notion sync on, edits that come from Notion only run the notification parts of rules.
Server and health
- Settings → Server settings: file storage (Cloudflare R2), public address, email, website form key, docs link. Secrets are stored encrypted.
- Integrations: incoming events and outgoing messages with their state; Retry on anything that failed.
- New versions are deployed from Coolify (Deploy); the database updates itself on start.
Questions and fixes
The bot doesn't reply to my expenses in the Hisab group
The bot must be an admin of the group, and the group must be bound with /bind hisab. Ask your admin. Commands like /balance work either way.
The Workspace in Telegram stays blank or says "Still loading"
Usually a slow connection: wait a few seconds. If an error appears, screenshot it for your admin. Telegram Web isn't supported; use the phone or desktop app, or ops.sasthotech.com.
"Your role is Viewer"
Viewers can read but not change records. Ask an admin to change your role in Settings → Members.
I made a mistake in Hisab
Send /undo to cancel your last message, or reply to the bot's message to explain. An admin can correct it with /adjust or /void.
I didn't get the reset email or sign-in code
Check spam. Codes last 10 minutes and links 30 minutes; ask for a new one. If none arrive, email may not be set up yet: ask an admin.
"The AI reader didn't answer — …"
The reason follows the dash (bad key, quota, model retired). Fix it in Hisab → Settings & rules; the message was still recorded with the price limits.
A lead changed in the app didn't change in Notion
Check Integrations → Notion sync → Problems. Common causes: the database isn't shared with the integration, or the option name doesn't exist in Notion.
Nothing matches that search. Try another word, or switch to Admin if you're looking for settings.