Earn 4,500 ($45.00)
write scheduling emails with OpenAI & calendly API (opportunity to open source)
Bounty Description
Problem Description
We want to help assistants generate scheduling emails which include up-to-date information about client availability, pulled from the calendar itself in real time.
The plan is to use LangChain – an increasingly popular framework for building LLM applications – more here: https://github.com/hwchase17/langchain – to create a simple web application that allows a user to generate a routine scheduling process email. The application will take as input an email thread where a request for scheduling help is made. The process will involve making an API call to the client's calendar (initially Calendly) to retrieve availability, using a language model with a few-shot prompt (specified by the user) to generate an email based on the availability, and then using the Calendly API to block the times offered. The application should be able to be called via an API from a Chrome extension to be used in-line.
Acceptance Criteria
- The application should be able to accept a user's personal Calendly API access_token as part of setup. (In the future we can implement Calendly OAuth)
- The application should be able to retrieve availability from the client's calendar (initially Calendly) – the calendly docs are here (https://developer.calendly.com/api-docs/3b1c2d5f97b5c-get-user-availability-schedule), and this should be relatively easy to create within the LangChain framework – I spoke to the developers and they recommended adding it to the utilities folder – https://github.com/hwchase17/langchain/tree/master/langchain/utilities – this is the portion of this project which could be open-sourced – the Langchain folks would love it!
- The application should be able to generate an email based on the availability using a language model with a few-shot prompt (I will provide a default few-shot prompt to help here, but we want the user to be able to provide their own few-shot prompt in order to personalize the writing style & content.)
- The application should be built so that it can be used directly in the browser, OR served as an API and called from eg – a Chrome extension
- The application must keep track of time zones effectively. That might involve some additional API or system call if we find that the language models have
Possible Future Bounties ...
- The application should be able to handle multiple calendars in the future.
- The application should be able to use the Google Calendar / Outlook API to block / reserve the times offered. (Calendly does not support this via their API!)