Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[30.06.] Integreat Chat / Digital Counseling #2619

Closed
Tracked by #2826 ...
svenseeberg opened this issue Jan 24, 2024 · 2 comments · Fixed by #2738
Closed
Tracked by #2826 ...

[30.06.] Integreat Chat / Digital Counseling #2619

svenseeberg opened this issue Jan 24, 2024 · 2 comments · Fixed by #2738
Assignees
Labels
effort: high Big change, which requires >12h feature New feature or request prio: high Needs to be resolved ASAP.
Milestone

Comments

@svenseeberg
Copy link
Member

svenseeberg commented Jan 24, 2024

Motivation

Integreat mostly provides one way communication (except for e-mail addresses provided in feedback forms). We want to extend that functionality with a digital counseling solution that enables continuous bi-directional communication between app users and region managers/counselors.

Proposed Solution

  • The Integreat app search functionality is being extended to act like a chat. Messages are sent to the CMS API.
  • The able to fetch responses from the API.
  • Zammad acts as a back end (database) for storing messages. Messages (Strings) are sent from the app to an API endpoint of the CMS. The CMS stores the message in Zammad via the Zammad API.
  • The Integreat CMS is responsible for mapping the app (temporary chat ID?) to Zammad ticket IDs. App users can close and start a new chat which will delete the ID on the app.
  • Except for a region setting to enable the functionality and set a Zammad URL, no GUI in the CMS is required for this feature.
  • To prevent abuse, an IP based rate limit has to be implemented.
  • The Integreat CMS is a proxy for messages between the Integreat app and Zammad (per region).
  • In the future the Integreat CMS can query other components (automatic translation services, a content search engine & LLMs) to create automated responses and translation services.
  • If automatic responses are sent to the user, a copy is also attached to the Zammad ticket.

To sum up:

  • We need to implement a pull and post messages API endpoint.
  • The CMS needs a new model to store a map of device IDs to Zammad ticket IDs.
  • The CMS uses Zammad issues to store messages.

Flow for posting messages from the app:

  • The app sends a message (string + device ID) to the CMS
  • The CMS looks in its mapping model if there already is an existing Zammad issue
  • If not, a new issues is created and the message is stored
  • if a ticket exists, the new message is appended

Flow for getting answers:

  • the app sends a device ID
  • The CMS maps the device ID into a Zammad ticket ID
  • If the ticket exists, all messages are returned to the app

Alternatives

  • N/A

User Story

As a migrant I want to directly chat with regional counseling services to avoid having to physically travel to a help desk.

Additional Context

Design Requirements

  • None, no GUI
@svenseeberg svenseeberg added feature New feature or request prio: low Not urgent, can be resolved in the distant future. effort: high Big change, which requires >12h labels Jan 24, 2024
@svenseeberg svenseeberg added this to the 24Q1 milestone Jan 24, 2024
@JoeyStk JoeyStk added the question Further information is requested label Feb 23, 2024
@JoeyStk
Copy link
Contributor

JoeyStk commented Feb 23, 2024

I added the "question" label because we still need a discussion on what exactly and when exactly it needs to be done. This will be discussed in the next backlog grooming session.

@dkehne dkehne added prio: medium Should be scheduled in the forseeable future. and removed prio: low Not urgent, can be resolved in the distant future. labels Feb 27, 2024
@dkehne
Copy link

dkehne commented Feb 27, 2024

New prio added.

@JoeyStk JoeyStk removed the question Further information is requested label Feb 27, 2024
@charludo charludo self-assigned this Mar 1, 2024
@JoeyStk JoeyStk added prio: high Needs to be resolved ASAP. and removed prio: medium Should be scheduled in the forseeable future. labels Apr 3, 2024
@JoeyStk JoeyStk modified the milestones: 24Q1, 24Q2 Apr 3, 2024
@charludo charludo changed the title Integreat Chat / Digital Counseling [30.06.] Integreat Chat / Digital Counseling May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: high Big change, which requires >12h feature New feature or request prio: high Needs to be resolved ASAP.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants