A Telex Interval Integration that sends daily wellness check-ins to monitor remote team health using Typeform.
This integration automates the process of collecting team well-being data by generating a Typeform survey daily at 9 AM and posting the survey URL to the team-health-monitor
channel in Telex. It’s designed to help remote teams track physical and mental health, work environment effectiveness, team connectivity, and professional growth.
- Creates a daily Typeform survey with 17 questions covering general well-being, physical/mental health, work setup, team interaction, and personal development.
- Sends the survey URL to the
team-health-monitor
Telex channel at 9 AM. - Supports response tracking via the
/get-responses
endpoint.
- Deployed URL: https://telex-team-health-monitor.onrender.com
- Integration JSON: https://telexintegrations.github.io/telex-team-health-monitor/integration.json
- Author: Chidera
- GitHub Profile: https://github.com/oderahub
- Version: 1.0.0
- Node.js (v16+)
- Typeform API Key (stored in
.env
asTYPEFORM_API_KEY
) - GitHub repository under
telexintegrations/telex-team-health-monitor
- Render account for deployment
- Telex account with access to the
telexintegrations
organization
- Clone the Repository:
git clone [email protected]:telexintegrations/telex-team-health-monitor.git cd telex-team-health-monitor
- Install Dependencies:
npm install
- Set Environment Variables:
- Create a
.env
file in the root:TYPEFORM_API_KEY=your_typeform_api_key_here
- Create a
- Run Locally:
npm run dev
- Server runs on
http://localhost:3000
.
- Server runs on
npm run build
- Link the repository to Render.
- Set Build Command:
npm install && npm run build
- Set Start Command:
npm start
- Add Environment Variable:
TYPEFORM_API_KEY
- Deployed URL:
https://telex-team-health-monitor.onrender.com
- Place
integration.json
and.nojekyll
in thedocs/
folder. - Enable GitHub Pages:
- Go to
Settings > Pages > Source: main, Folder: /docs
. - URL: https://telexintegrations.github.io/telex-team-health-monitor/integration.json
- Go to
- Start the Server:
npm run dev
- Test
/send-check-in
:curl -X POST -H "Content-Type: application/json" -d '{"return_url": "http://localhost:3000/api/test-return"}' http://localhost:3000/api/send-check-in
- Expected Response:
{ "success": true, "message": "Check-in sent", "formUrl": "https://form.typeform.com/to/[new-id]" }
- Verify Form: Open
formUrl
in a browser, submit a test response.
- Expected Response:
- Test
/get-responses
:curl http://localhost:3000/api/get-responses
- Expected:
{"success":true,"data":{"items":[...],"total_items":1,"page_count":1}}
- Expected:
- Test Webhook Callback:
- Check the console for
Received from return_url with the form URL
message.
- Check the console for
- Test
/send-check-in
:curl -X POST -H "Content-Type: application/json" -d '{"return_url": "http://localhost:3000/api/test-return"}' https://telex-team-health-monitor.onrender.com/api/send-check-in
- Verify the form URL works.
- Check Render Logs: Ensure no errors and form creation succeeds.
- Add Integration:
- Telex UI > Apps > "Add Integration"
- Enter: https://telexintegrations.github.io/telex-team-health-monitor/integration.json
- Save and confirm "Remote Team Health Monitor" appears.
- Set Output:
- Apps > "Remote Team Health Monitor" > "Manage Access" > "Output" > Check only
team-health-monitor
> Save.
- Apps > "Remote Team Health Monitor" > "Manage Access" > "Output" > Check only
- Test Trigger:
- Current interval:
*/5 * * * *
(every 5 minutes). - Wait 5 minutes, then check the
team-health-monitor
channel forNew wellness check-in: [form-url]
. - Open the URL, submit a response.
- Current interval:
- Adjust for Production:
- Update
integration.json
to0 9 * * *
, re-push, re-add in Telex. - Wait until 9 AM to verify the daily trigger.
- Update
- Webhook: The app uses a hardcoded Telex webhook (
https://ping.telex.im/v1/webhooks/01953768-51a0-7689-951c-404b5a46a508
) to send messages to theteam-health-monitor
channel. - Logo: Uses a Cloudinary placeholder; replace with a custom logo if desired.
- For issues: Contact the author or check Render/Telex logs.