---
# System prepended metadata

title: Corporate Action Calendar Bot
tags: [user stories]

---

---
tags: user stories
title: Corporate Action Calendar Bot
description: A bot that parses BSE feed for IPO, Dividends etc., and lets you subscribe to it
---

# Intro

We'd like an automated way of fetching upcoming IPO, and corporate actions (dividends, splits, bonus, rights issue etc.).

It'd also be in interest of someone to be able to subscribe to these.

# How

### Searching for tickers

Users would access it via slash command as shown below

![](https://i.imgur.com/NULzbEW.png)


**Sample invocation**

`/tickcer query:reliance`
`/ticket query:reliance limit:1`


#### Valid Queries

Queries should be case-insensitive

| query | ✅ / ❌ | Comment |
| -------- | -------- | ----|
| `ril`     | ✅    | User is looking for RIL, and precision of ticker says one result is enough |
| `reliance` | ✅   | More than one result is needed, sorted by market cap|
| `ril,infy,tcs` | ✅ | More than one ticker can be searched for, separated by separators |

`limit` is an optional number, and we want only pure integers. Anything else, we should ignore and warn the user, return default number of results.

Default value of `limit` should be 5.

#### Invalid Queries

In case of invalid queries, we should prompt the user that their ticker didn't yield any searches.

And at the same time offer common words that can be used as a ticker.

`/ticker query:rol` would return 3 results, but it's possible user wanted to search for `ril`.

We could add a _Did you mean RIL? Run <valid query>_ in the response.



### Corporate News 

Users would access it via slash command as shown belo

![](https://i.imgur.com/XcNDQUW.png)

![](https://i.imgur.com/KnSrgUD.png)

### Valid Queries

- **ticker**

  It has to be exact match. If a ticker match fails, prompt the user to use the `/ticker` slash command to first locate the correct ticker.

- **date range**

  This is where we'd want to be a little bit liberal, and let the user ease out on manually having to compute difference between two dates.
  
  | query | ✅ / ❌ | Comment |
  | -------- | -------- | ----|
  | `3M` / `3m`     | ✅    | News, starting from date of 3 months ago |
  | `1D` / `1M` / `1Y` | ✅   | Similar to before|
  | `2.3y` | ✅ | Should be treated as 2 years 3 months |
  | random string |  ❌ | |
  | 1/1/2020-1/6/2021 | ✅| News between 1st Jan 2020 and 1st June 2021 |
  | 1 jan 2022 - 1 jan 2023 | ✅ | |
  | 1 jan 2023-1 apr 2022 | ❌ | Dates are reversed, not a valid range |

   We should allow some valid date formats for people to be able to specify date ranges.
   
### Dividends

Similar to above.

Should have a slash command `/dividend`

### IPO

Similar to above

Should have a slash command `/ipo`



