I want to get notified when a new lead is created in Salesforce. Is there something like webhook in Salesforce or some other way to achieve this?
Yes, plenty of options :)
For Salesforce as actor:
- Workflow rule that would fire on insert of Lead and send you an email (or if it's for system integration - outbound message).
- You can always write an "after insert" Apex trigger and have in it a callout to external system (SOAP and RESTful APIs are supported). Although you'll need a @future annotation because the triggers by default aren't supposed to send callouts (the database commit/rollback shouldn't depend on whether the external system has accepted the message or not).
For external system as actor:
- Simply poll every once in a while for something like
[SELECT Id FROM Lead WHERE CreatedDate > :lastTimeIhaveChecked]
- Or there's fairly recent addition called Streaming API. Basically you define a PushTopic (query that interests you). Salesforce peeks at the current results returned by it and whenever the results change you'll get a notification. I haven't played with it yet but seems from the docs you can set event type to show "created" events only. This might be closest to a webhook.
I hate to self-promote but since some might fine this as a useful answer... I built a Webhook creator for Salesforce. It is open source: https://github.com/jamesward/salesforce-webhook-creator
Enable Validation and Triggers from Lead Convert
option might need to be selected: help.salesforce.com/… –
Lashaunda This usually involves writing your own code to "subscribe to" events, construct a message and send it to an external endpoint. I have written quite extensively on this topic at: http://beachmonks.com/posts/integrations/salesforce/practical-guide.html. The source code is at: http://github.com/beachmonks/choir-salesforce.
Salesforce does support webhooks, but they are just called by a different name - Callouts.
Here's a link to the Developer documentation on the topic:
Here's a description of the feature taken directly from the link above:
An Apex callout enables you to tightly integrate your Apex with an external service by making a call to an external Web service or sending a HTTP request from Apex code and then receiving the response. Apex provides integration with Web services that utilize SOAP and WSDL, or HTTP services (RESTful services).
(emphasis added)
This is basically a webhook, commonly defined as "a user-defined callback over HTTP" 2
There is another way. Use RoundRobin logic to assign new incoming leads. Then create a new WF rule to send notification to new owners plus Admin or who ever else wanted to be notified.
© 2022 - 2024 — McMap. All rights reserved.