This Laravel package will allow you to connect to Freshworks CRM API using a Laravel like syntax.
See Freshworks CRM API documentation for details on what can be done with their API.
composer require codegreencreative/laravel-freshworks
php artisan vendor:publish --tag="laravel-freshworks"
Add your Freshworks API key and domain.
Your domain will be the subdomain you chose when creating your account. {subdomain}
.myfreshworks.com
You can gey your app token by going to Admin Settings -> CRM Code Library -> PHP and copying the app_token
value.
FRESHWORKS_API_KEY=
FRESHWORKS_APP_TOKEN=
FRESHWORKS_DOMAIN=
When an object is returned back from Freshworks, you have two options when returning that object. ->toObject()
or ->toArray()
// Create a new contact=
\Freshworks::contacts()->create([
'first_name' => 'Jane',
'last_name' => 'Doe',
'email' => '[email protected]',
'phone' => '555-555-5555'
]);
// Update an existing contact
\Freshworks::contacts()->update($contact_id, ['email' => '[email protected]']);
// Get all views/filters for contacts
$views = \Freshworks::contacts()->filters()->toObject();
// List all contacts using a view
\Freshworks::contacts()->all($view_id)->toObject()
// Tracking
// Create a new contact
\Freshworks::track()->identify([
'identifier' => '[email protected]', //Replace with unique identifier
'First name' => 'Johnny', //Replace with first name of the user
'Last name' => 'Doe', //Replace with last name of the user
'Email' => '[email protected]', //Replace with email of the user
'Alternate contact number' => '98765432', //Replace with custom field
'company' => array(
'Name' => 'Example.com', //Replace with company name
'Website' => 'www.example.com' //Replace with website of company
)
]));
// Track an event
\Freshworks::track()->event([
'identifier' => '[email protected]',
'name' => 'Test Event',
'role' => 'admin'
]));
// Track a page view
\Freshworks::track()->pageview([
'identifier' => '[email protected]',
'url' => 'http://example.com/pricing'
]));
See Freshworks CRM API documentation for details on what can be done with their API.