PHPackages                             slakbal/citrix - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. slakbal/citrix

Abandoned → [https://github.com/slakbal/gotowebinar](/?search=https%3A%2F%2Fgithub.com%2Fslakbal%2Fgotowebinar)ArchivedLibrary

slakbal/citrix
==============

Laravel package for Citrix API wrapper for GoToWebinar

1.0.5(8y ago)41.8k4MITPHP

Since Feb 24Pushed 8y agoCompare

[ Source](https://github.com/slakbal/citrix)[ Packagist](https://packagist.org/packages/slakbal/citrix)[ RSS](/packages/slakbal-citrix/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (8)Used By (0)

THIS PACKAGE WILL NOT BE MAINTAINED ANY LONGER, please move over to the new rewrite:
=============================================================================================================================

[](#this-package-will-not-be-maintained-any-longer-please-move-over-to-the-new-rewrite-httpsgithubcomslakbalgotowebinar)

Citrix GotoWebinar API Provider for Laravel
===========================================

[](#citrix-gotowebinar-api-provider-for-laravel)

This package is a Citrix GotoWebinar API service provider and facade for Laravel 5.1+. It was inspired by [Teodor Talov's Citrix API wrapper package](https://github.com/teodortalov/citrix).

Installing
----------

[](#installing)

You can use Composer to install the library

```
composer require slakbal/citrix

```

Find the `providers` array in the `config/app.php` file and add the following Service Provider:

```
'providers' => [
  // ...
  Slakbal\Citrix\CitrixServiceProvider::class
];
```

Now find the `aliases` array in the same config file and add the following Facade class:

```
'aliases' => [
  // ...
  'GotoWebinar' => Slakbal\Citrix\Facade\GotoWebinar::class
];
```

Config
------

[](#config)

Before you can use the Citrix service provider you have configure it. You can create API access keys here: [CITRIX Developer portal](https://developer.citrixonline.com/user/me/apps).

Note that you need to have an active or trial account for the API to function properly. Just dev credentials alone will not work.

The provider currently only support `Direct` authentication. An OAuth2 authentication will be added later also.

The following environment values are required in your `.env` file. The provider doesn't publish any config, etc. thus your project stays clean.

```
CITRIX_DIRECT_USER=test@test.com
CITRIX_DIRECT_PASSWORD=testpassword
CITRIX_CONSUMER_KEY=123123123123

```

Usage
-----

[](#usage)

### Webinar Resource

[](#webinar-resource)

```
// Return list of all the Webinars
$webinars = GotoWebinar::getAllWebinars();

// Return the list of all upcoming Webinars
$webinars = GotoWebinar::getUpcomingWebinars();

// Return list of historical Webinars - date format standard: W3C - ISO 8601
$dateRange = [  'fromTime' => "2016-01-01T01:00:00Z",
                'toTime'   => "2016-03-23T20:00:00Z", ];

$webinars = GotoWebinar::getHistoricalWebinars( $dateRange );

// Return a specific Webinar
$webinar = GotoWebinar::getWebinar( $webinarKey );

// Create a Webinar - date format standard: W3C - ISO 8601
$webinar = [ 'subject'     => 'API Test 2',
             'description' => 'This Webinar is created via the API',
             'startTime'   => "2016-03-23T19:00:00Z",
             'endTime'     => "2016-03-23T20:00:00Z", ];

$webinar = GotoWebinar::createWebinar( $webinar );

// Update a Webinar - date format standard: W3C - ISO 8601
$webinar = [ 'subject'     => 'API Test 2.2',
             'description' => 'This Webinar is updated via the API',
             'startTime'   => "2016-03-24T19:00:00Z",
             'endTime'     => "2016-03-24T20:00:00Z", ];

$webinar = GotoWebinar::updateWebinar( $webinarKey, $params, $sendNotification = true);

// Delete a specific Webinar
$result = GotoWebinar::deleteWebinar( $webinarKey, $sendNotification = true );
```

### Attendee and Registrant Resource

[](#attendee-and-registrant-resource)

```
// Return a list of attendees for a specific Webinar
$attendees = GotoWebinar::getWebinarAttendees( $webinarKey );

// Register an attendee for a specific Webinar
$webinarKey = '7102152795910768396';

$registrant = [ 'firstname'    => 'Peter',
                'lastname'     => 'Pan',
                'email'        => 'peter.pan@gmail.com',
                'organization' => 'Neverland', ];

$result = GotoWebinar::registerAttendee( $webinarKey, $registrant );

// Return a list of registrants for a specific Webinar
$registrants = GotoWebinar::getWebinarRegistrants( $webinarKey );

// Return a specific registrant from a specific Webinar
$registrant = GotoWebinar::getWebinarRegistrant( $webinarKey, $registrantKey );

// Remove a specific registrant from a specific Webinar
$result = GotoWebinar::deleteWebinarRegistrant( $webinarKey, $registrantKey );
```

### Session Resource

[](#session-resource)

```
// Return list of sessions for the Organizer ()
$sessions = GotoWebinar::getOrganizerSessions();

// Return list of attendees for a specific Webinar and specific session
$attendees = GotoWebinar::getWebinarSessionAttendees( $webinarKey, $sessionKey );

// Return a specific attendee for a specific Webinar and specific session
$attendee = GotoWebinar::getWebinarSessionAttendee( $webinarKey, $sessionKey, $registrantKey );
```

Your contribution or bug fixes are welcome!

Next steps will be to build out more robuster error handling, add OAuth2 Authentication and adding the GotoMeeting provider into the package also.

Enjoy!

Slakkie

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 89.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~132 days

Recently: every ~162 days

Total

6

Last Release

3064d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9da7a28c38b059ccdf1df0632e745ce43555bc02bc4ad2609543c674738a748b?d=identicon)[slakbal](/maintainers/slakbal)

---

Top Contributors

[![slakbal](https://avatars.githubusercontent.com/u/4387265?v=4)](https://github.com/slakbal "slakbal (35 commits)")[![upwebdesign](https://avatars.githubusercontent.com/u/1845130?v=4)](https://github.com/upwebdesign "upwebdesign (4 commits)")

### Embed Badge

![Health badge](/badges/slakbal-citrix/health.svg)

```
[![Health](https://phpackages.com/badges/slakbal-citrix/health.svg)](https://phpackages.com/packages/slakbal-citrix)
```

###  Alternatives

[s-ichikawa/laravel-sendgrid-driver

This library adds a 'sendgrid' mail driver to Laravel.

4139.3M1](/packages/s-ichikawa-laravel-sendgrid-driver)[stechstudio/laravel-zipstream

A fast and simple streaming zip file downloader for Laravel.

4633.7M3](/packages/stechstudio-laravel-zipstream)[laravel-notification-channels/microsoft-teams

A Laravel Notification Channel for Microsoft Teams

1603.0M7](/packages/laravel-notification-channels-microsoft-teams)[spatie/laravel-export

Create a static site bundle from a Laravel app

646127.9k5](/packages/spatie-laravel-export)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)[truckersmp/steam-socialite

Laravel Socialite provider for Steam OpenID.

1516.7k](/packages/truckersmp-steam-socialite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
