# angular-freshdesk

> [![Maintainability](https://api.codeclimate.com/v1/badges/75bc5877b3bf6939fe44/maintainability)](https://codeclimate.com/github/lucas-subli/angular-freshdesk/maintainability) [![Build Status](https://travis-ci.org/lucas-subli/angular-freshdesk.svg?branch=

Latest version **20.0.3** (published 2025-07-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install angular-freshdesk
pnpm add angular-freshdesk
yarn add angular-freshdesk
bun add angular-freshdesk
```

## Health

**Score 35/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 20.0.3 |
| Published | 2025-07-12 |
| First published | 2022-12-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 13.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | lucas.subli |
| Maintainers | lucas.subli |
| Keywords | angular, freshdesk |

## Links

- npm: https://www.npmjs.com/package/angular-freshdesk
- Repository: https://github.com/lucas-subli/angular-freshdesk
- Homepage: https://github.com/lucas-subli/angular-freshdesk#readme
- Issues: https://github.com/lucas-subli/issues
- npm.io page: https://npm.io/package/angular-freshdesk

## Dependencies (1)

- [tslib](https://npm.io/package/tslib.md) ^2.6.2

## Recent versions

- 20.0.3 (latest) — 2025-07-12
- 20.0.2 — 2025-07-09
- 20.0.1 — 2025-07-08
- 19.2.1-b — 2025-03-10
- 19.2.1 — 2025-03-08
- 18.1.2 — 2024-07-30
- 17.2.4 — 2024-03-11
- 16.2.1 — 2023-08-16
- 15.0.2 — 2023-01-04
- 15.0.1 — 2023-01-03
- 0.1.6 — 2022-12-05
- 0.1.4 — 2022-12-05
- 0.1.1 — 2022-12-05
- 0.1.0 — 2022-12-05

## README

# angular-freshdesk

[![Maintainability](https://api.codeclimate.com/v1/badges/75bc5877b3bf6939fe44/maintainability)](https://codeclimate.com/github/lucas-subli/angular-freshdesk/maintainability)
[![Build Status](https://travis-ci.org/lucas-subli/angular-freshdesk.svg?branch=master)](https://travis-ci.org/lucas-subli/angular-freshdesk)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/lucas-subli/angular-freshdesk/issues)

Freshdesk widget for Angular 15+ (fork of https://github.com/AlisonVilela/ngx-freshdesk-webwidget). I just updated the libs.
The lib version is supposed to track the intended angular version.

## Installation

Via [npm](https://www.npmjs.com/package/angular-freshdesk):

```bash
npm install angular-freshdesk --save
```

## Usage

### 1. Import the `FreshdeskWebwidgetModule`

```ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

import { FreshdeskWebwidgetModule } from 'angualr-freshdesk';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FreshdeskWebwidgetModule.forRoot()
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
```

#### SharedModule

```ts
@NgModule({
    exports: [
      CommonModule,
      FreshdeskWebwidgetModule
    ]
})
export class SharedModule { }
```

##### Configuration

```ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { FreshdeskWebwidgetModule, FreshdeskWebwidgetConfig } from 'angular-freshdesk';

import { AppComponent } from './app';

export class FreshdeskConfig extends FreshdeskWebwidgetConfig {
  widgetId = 00000000000;
  locale = 'en';
  callback(FreshworksWidget) {
    FreshworksWidget('hide');
  }
}

@NgModule({
    imports: [
        BrowserModule,
        HttpClientModule,
        FreshdeskWebwidgetModule.forRoot(FreshdeskConfig)
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }
```

#### 2. Import the `FreshdeskWebwidgetService`

```ts
import { FreshdeskWebwidgetService } from 'angular-freshdesk';

@Component({
  selector: 'app',
  templateUrl: './app.html'
})
export class app {

  constructor(private _FreshdeskWebwidgetService: FreshdeskWebwidgetService) { }

}
```

#### 3. Example

```ts
constructor(private _FreshdeskWebwidgetService: FreshdeskWebwidgetService) {
  this._FreshdeskWebwidgetService.FreshworksWidget('identify', 'ticketForm', {
    name: 'John Doe',
    email: 'john.doe@acme.inc',
  });

  this._FreshdeskWebwidgetService.FreshworksWidget('show');
}

logout(){
  this._FreshdeskWebwidgetService.FreshworksWidget('hide');
}
```

```ts
buttonClick(){
  this._FreshdeskWebwidgetService.FreshworksWidget('open', 'ticketForm');
}
```

```ts
buttonClickArticle(articleId: number){
  this._FreshdeskWebwidgetService.FreshworksWidget('open', 'article', {
    id: articleId
  });
}
```

## API

### FreshdeskWebwidgetService

#### Methods

- `FreshworksWidget`. Please see [Freshdesk Documentation](https://developers.freshdesk.com/widget-api) for more information.

#### FreshdeskWebwidgetConfig

- `widgetId`: Number of your Freshdesk Web Widget ID.
- `locale`: To force the widget to load in a particular language.
- `callback`: Callback, executed after Freshdesk loaded.

## Issues

Please report bugs and issues [here](https://github.com/lucas-subli/angular-freshdesk/issues).

## License

MIT © [lucas.subli](https://github.com/lucas-subli)

## Change log

### v16.2.0

- Upgraded for angular 16

### v0.1.0

- Upgraded for angular 14/15
- Initial version (fork of [ngx-freshdesk-webwidget](https://github.com/AlisonVilela/ngx-freshdesk-webwidget))

---
_Source: https://npm.io/package/angular-freshdesk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
